Business and technology qualifications, Levels 3-6, in Brussels. Explore qualifications
Portal login
Level 4 Diploma in Cyber Security

Implementing state machines in Python and Verilog

CYB403 · Principles of Computer Systems — Week 5 of 16

CourseCYB403
Week5 of 16
SemesterI
TutorOnline in the course chat

This week’s topics

Implementing state machines in Python and Verilog

  1. Starting point: selection and loops in Python
  2. Implementing state machines in Python and Verilog
  3. Testing, debugging and edge-case analysis to improve performance

What you will be able to do

  • 3.3 Implement basic state machines using programming languages and/or logic design tools.
  • 3.4 Critically evaluate the performance of state machines and propose improvements.

Activity

Start with this week’s 3 videos, then: Seminar, guided reading and a short written task: implement basic state machines using programming languages and/or logic design tools.

Study materials

Videos

  • Using selection when developing programs · Oak National Academy, Key Stage 4 (GCSE level) · for registered students
  • While loops · Oak National Academy, Key Stage 4 (GCSE level) · for registered students
  • Control Flow in Python - If Elif Else Statements · YouTube · Programming with Mosh · 16 min · for registered students

Further resources

  • Introduction to Python Programming, ch. 4: Decisions · PDF · OpenStax Introduction to Python Programming (2024), ch. 4: Boolean values, if-else, Boolean operators, operator precedence, elif chains, pp. 85–113 · for registered students
  • Introduction to Python Programming, ch. 5: Loops · PDF · OpenStax Introduction to Python Programming (2024), ch. 5: while and for loops, nested loops, break and continue, pp. 115–135 · for registered students
Materials marked “for registered students” open in the student portal, which is set up as soon as you receive final acceptance.
Course chat

Admitted students ask questions on this week’s page in the student portal: an AI assistant trained on the course answers first, and during the course’s timetabled classes Connect to your tutor brings your tutor into the chat, who may start a call if needed.

Open this week in the portal
Course plan
  • Week 1: Computer components: CPU, memory, buses, input/output devic…
  • Week 2: How components work together: the fetch-execute cycle, buse…
  • Week 3: Memory: the Von Neumann model, registers, cache, RAM and RO…
  • Week 4: Principles of state machines: finite state machines, Mealy …
  • Week 5: Implementing state machines in Python and Verilog
  • Week 6: Information representation: binary, decimal and hexadecimal…
  • Week 7: Logic gates and circuits: transistors as switches, half-add…
  • Midterm: Midterm evaluation
  • Week 9: Machine code, assembly and high-level languages: abstractio…
  • Week 10: Assembly instruction sets compared: ARM, MIPS, x86, x86-64,…
  • Week 11: Programming in ARM assembly: essential instructions, contro…
  • Week 12: Applying Principles of Computer Systems in practice: case s…
  • Week 13: Assignment workshop: research, planning and referencing
  • Week 14: Assignment workshop: drafting, feedback and improvement
  • Week 15: Review and coursework completion
  • Final: Final assessment and submission
Back to the course
Scroll