Skip to main content

SC3103 - Embedded Programming

Lecture Clarity:
(3/5)
Content Relevance:
(4/5)
Content Difficulty:
(4/5)
Overall Workload:
(4/5)
Team Dependency:
(2/5)

Course Summary

This course on embedded programming is great for learning more about Linux, task scheduling, and gaining an in-depth understanding of operating systems. It also covers programming on STM32 and Raspberry Pi boards. The course dives deeper into computer networks through labs where you work on client-server connectivity, similar to what you’d find in networking modules. It provides a solid foundation for students interested in Linux, operating systems, and especially IoT and robotics-related fields. Opportunities to learn this kind of content and do hands-on labs are hard to come by outside of software modules.

Workload

The course has labs every other week, and most of these labs (all but one or two) include a graded quiz along with the lab itself. The workload is manageable, and tutorials are well spaced out, with tutors actively explaining concepts and answering questions. Lectures are available both live and recorded, each offering good content depending on your learning style, so you can decide whether to attend in person or watch recordings. The labs are also doable, and there’s good support provided throughout.

Projects

This module consists of labs, lab quizzes, a midterm, and a final exam. There are no separate projects beyond these components.

Tips to Do Well

Try the free access labs before the graded ones to prepare yourself for both the lab work and quizzes. It also helps to have a solid understanding of operating systems from SC2005, as the content is closely related and both modules are taught by Professor Arvind.

Written by HAS