Real-Time Systems course, University of Malaya

Description of the course

The course introduces real-time systems. Content includes the differences between soft and hard real-time systems, system decomposition and scheduling techniques such as clock-driven scheduling and priority-driven scheduling of periodic, aperiodic and sporadic tasks. The course also covers issues such as multiprocessor scheduling and resource access control, fault-tolerance and real-time communication. This course takes place virtually.

Description of the participants

The course targets students enrolled full-time in the Bachelor of Computer Science program. In semester 1 of the 2021 – 2022 academic years 40 students attended the course.

Description of gamified design thinking activities

Design thinking, and more specifically ideation and prototyping, were deployed in the implementation of the class project, in which students were required to introduce a solution on a specific problem.

The pedagogical approach applied in the course was project-based learning. The objective of the project-based class activity was to empower students to solve problems related to real-time issues in communication networks with an emphasis on feature-sand capabilities for supporting real-time applications. More specifically, upon completion of the course students were expected to be able to analyze a problem, design a solution algorithm and develop a computer program that applies the algorithm in practice by using Python® and supporting tools.

Students worked in teams of 6 individuals. They were challenged to consider “How can the Tello Drones be used to provide solutions for daily life problems?”. They were instructed to include in their solutions control components and autonomous behavior.

Activities were organized in the following design thinking steps:

Step 1: Brainstorm.

Students brainstormed within their group towards designing a proof-of-concept prototype that addressed the key question of the project, namely using drones to solve real-life issues, by integrating control components and autonomous behavior. This activity took place on week 6 of the course. They recorded their ideas using Padlet®.

Step 2. Analyze, design, and prototype.

 Students analyzed potential solutions and developed a software prototype using Python® that address the problem in focus. Students had consultations with the lecturer in pre-assigned timeslots to discuss the project scope. This activity took place on weeks 7 – 13 of the course.

Step 3. Presentation and demo.

Each student team delivered a 10 – 15min presentation in which the presented their work and demonstrated their prototype solution.