Embedded System I (2025 fall & 2026 spring)

Undergraduate course, Queen's University Belfast, EEECS, 2025

Concurrent Programming

This undergraduate course introduces the principles and practice of concurrent programming, focusing on multi-threaded and distributed systems. Students will learn how to design, implement, and reason about concurrent programs using modern programming languages and tools.

Course Objectives

• Understand the basic structure of a computer program, using both Python and the C programming languages. • Understand the basic structure of an MCU (Microcontroller Unit) • Understand how to develop software for an MCU. • Understand how basic analogue and digital interface circuits are designed for an MCU. • Understand how to develop event-driven ISR (Interrupt Service Routines). • Understand how Printed Circuit Boards (PCBs) are designed and constructed.

Topics

  1. Introduction to Computer Programming using Python
  2. Introduction to Embedded Systems Programming using Arduino C
  3. Introduction to Microcontroller Electronics
  4. Introduction to Printed Circuit Board Design

Reading List

  • Python crash course : a hands-on, project-based introduction to programming by Eric Matthes.
  • Practical Arduino Engineering by Harold Timmis