The course introduces fundamental hardware and software concepts of computer systems as core elements of modern intelligent systems. Topics covered include basic microprocessor architectures, memory allocation, concurrency principles (multitasking, process synchronization), real-time systems, embedded and mechatronic system design. Course project assignments are related to the theoretical material covered in lectures, with a focus on developing practical skills in embedded system and GUI design using C/C++ programming languages in an embedded Linux operating system. The course will have a team-based final project requiring students to learn and apply topics and methods beyond the lecture material.
Course learning outcomes
1. Apply principles of embedded computing, hardware interfacing, and concurrent programming in computer-controlled technical systems.
2. Develop sensor and actuator interfaces on an embedded computing platform using appropriate communication, filtering, control and programming techniques.
3. Integrate sensing, computation, actuation, and control into a functional technical system prototype.
4. Communicate design concepts, technical decisions, experimental results, and system performance effectively in written reports and demonstrations.
5. Work effectively in teams to plan, develop, and deliver a complete engineering project.