Spring 2026 Semester
Course Instructor: Dr. Almas Shintemirov
Course Overview
This graduate 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 principles, embedded system and mechatronic system design. Course hand-on projects are related to the theoretical material covered in the lectures with focus on developing practical skills of system programming and GUI design using C/C++ programming languages in Linux Ubuntu OS and embedded Linux operating systems.
Course Textbooks
Randal E. Bryant and David R. O’Hallaron, Computer Systems: A Programmer’s Perspective, 3rd Global Edition, 2016
Real-Time Embedded Systems: Open-Source Operating Systems Perspective by I. C. Bertolotti and G. Manduchi, 2012
Logic and Computer Design Fundamentals by M.M. Mano and C.R. Kime, 5th edition, 2016
Course Topics
- Numbers Systems, Binary Logic and Digital Circuit Basics;
- Registers, Memory Basics;
- Computer Design Basics: Datapath and Instruction Set Architecture;
- Hardware Architectures: RISC and CISC architectures, Pipelining;
- C/C++ Programming Review. Pointer Arithmetics, Dynamic Memory Allocation;
- x86-64 Assembler Language;
- Operating systems, Linux System Calls and Processes;
- Concurrency, Intertask Communication and Process Synchronization: Semaphores, Message Passing, Robot Operating System (ROS)
- Threads, Concept of Real-Time Systems;
- Finite State Machines.
- Real-time process scheduling and priority inversion
Selected 2026 Course Projects
Selected 2021 Course Projects
Due to the COVID-19 pandemic the course was taught in online synchronous mode with no specific final course projects. The last assignment focused on Finite State Machine based mobile robot control in the Robot Operating System (ROS) Gazebo simulation environment.
Selected 2020 Course Projects
Due to the COVID-19 pandemic the course was taught in distance learning mode and the course final projects were focusing on software implementations of Finite State Machine -based systems
Selected 2019 Course Projects
Selected 2017 Course Projects
https://github.com/roboticsNU/Dagu-Rover-5-with-Joystick
Selected 2016 Course Projects

