---
source_url: "https://www.graitechschool.co.il/en/embedded-and-real-time-system-development-course-syllabus/"
title: Embedded and Real-Time System Development Course Syllabus - Google Reichman AI Tech School
mirrored_at: 2026-08-21T01:06:45.899Z
host: www.graitechschool.co.il
cited_in_42a: true
mirror_canonical: "https://index.42a.ai/www.graitechschool.co.il/en/embedded-and-real-time-system-development-course-syllabus/index"
---

> **Original source:** https://www.graitechschool.co.il/en/embedded-and-real-time-system-development-course-syllabus/

![](https://www.graitechschool.co.il/wp-content/uploads/2022/12/Mask-Group-9042.png)

![](https://www.graitechschool.co.il/wp-content/uploads/2022/12/Gilad-Kavalerchik__221220_130.jpg)

C Programming - Review and Practice

-   Introduction to basic I/O operations, variables, control flow, and functions. 
-   Work with arrays, pointers, and string manipulation. 
-   Understand dynamic memory allocation and data structures such as structs, unions, and enums. 
-   Handle file operations (text and binary) and perform basic unit testing. 
-   Use preprocessing directives, macros, and command-line arguments. 
-   Explore bitwise operations and function pointers for efficient low-level programming. 
-   Using AI tools to write code effectively, debug and optimize it. 
-   Accessing AI services from your C program through REST API. 

![](https://www.graitechschool.co.il/wp-content/uploads/2022/12/Gilad-Kavalerchik__221220_146-e1671960198187.jpg)

Data Structures – A Quick Review

-   Learn about Abstract Data Types (ADT), algorithmic complexity, and dynamic data structures. 
-   Implement and use dynamic vectors, stacks, queues, and  make  utility for project automation. 
-   Work with single and double linked lists, binary search trees (BST), heap, and hash tables. 

![](https://www.graitechschool.co.il/wp-content/uploads/2023/07/%D7%99%D7%96%D7%99%D7%93--scaled.jpg)

Operating Systems, Focus on Linux

-   Understand the fundamentals of processes and threads.
-   Learn memory management and allocation techniques.
-   Study inter-process communication (IPC) and deadlocks. 
-   Use system calls and explore file systems.
-   Implement and work with static and dynamic libraries, and implement signaling, pipes, and message queues.

![](https://www.graitechschool.co.il/wp-content/uploads/2022/12/Gilad-Kavalerchik__221220_200-e1671975249252.jpg)

Networking

-   Understand the OSI model layers, physical and data link layers, and Ethernet fundamentals. 
-   Explore transport protocols such as UDP and TCP, including client-server architectures. 
-   Solve TCP server blocking and multi-threading challenges. 
-   Configure and manage DNS, DHCP, and Network Address Translation (NAT). 

![](https://www.graitechschool.co.il/wp-content/uploads/2022/12/%D7%92%D7%9C-%D7%95%D7%90%D7%93%D7%99%D7%A1%D7%9C%D7%90%D7%9D-scaled.jpg)

Project 1: C and Networking on Linux

-   Define project settings and High-Level Design (HLD). 
-   Conduct detailed design (DD). 
-   Collaborate effectively in small teams using version control systems (Git). 
-   Present and document the completed project implementation and outcomes. 

![](https://www.graitechschool.co.il/wp-content/uploads/2023/07/%D7%A2%D7%99%D7%A0%D7%AA-%D7%95%D7%93%D7%A0%D7%99%D7%90%D7%9C-2-scaled.jpg)

Bare Metal Programming

-   Introduction to ARM architecture and STM32 microcontrollers. 
-   Develop main loop applications and apply basic debugging techniques. 
-   Implement bit operations, GPIO control, and hardware register mapping. 
-   Manage interrupts and use timers for multitasking. 
-   Implement UART communication (polling and interrupt modes). 
-   Build CLI-based communication with a PC for monitoring and control. 

![](https://www.graitechschool.co.il/wp-content/uploads/2022/12/Gilad-Kavalerchik__221220_20-e1673086560324.jpg)

FreeRTOS and Real-Time Concepts

-   Learn FreeRTOS fundamentals, including task creation and context switching. 
-   Manage threads, queues, semaphores, and synchronization mechanisms. 
-   Apply tracing and debugging tools. 
-   Work with software timers, direct task notifications, mutexes, and critical sections. 
-   Handle interrupt management and learn and used I2C, DMA, PWM, ADC, DAC). 
-   Study RTC, watchdogs, linker scripts, flash memory, and EEPROM. 
-   Implement SPI communication and FATFS-based file storage systems. 

![](https://www.graitechschool.co.il/wp-content/uploads/2022/12/Gilad-Kavalerchik__221220_67.jpg)

C++ Programming

-   Master object-oriented concepts: constructors, destructors, and operator overloading. 
-   Explore inheritance, polymorphism, and encapsulation. 
-   Apply templates, STL containers, and smart pointers for modern C++ design. 
-   Understand exceptions, design patterns, and advanced features of C++11, C++14, and C++17. 

![](https://www.graitechschool.co.il/wp-content/uploads/2022/12/%D7%90%D7%95%D7%A8%D7%94-scaled.jpg)

Project 2: Embedded System Integration (C on RTOS, Microcontroller, Hardware Interfaces, Electronic Components, C++ on PC)

-   Define project scope, architecture, and high-level design. 
-   Conduct debugging, integration, and issue resolution. 
-   Design and implement a fully functional embedded system using a microcontroller, sensors, and actuators. 
-   Ensure proper integration between hardware, software, and real-time components.
-   Present and demonstrate the final working embedded system, supported by technical reports and performance analysis. 

![](https://www.graitechschool.co.il/wp-content/uploads/2022/12/AI-2.jpg)

Introduction to AI and GenAI

-   AI, Gen AI and Machine Learning concepts; Main Gen AI models; LLMs, LMMs and how they work.  
-   Using generative AI to summarize content, learn and understand, develop and visualize ideas.
-   Principles for effective learning with AI assistance.
-   Prompt engineering and human-in-the-loop approach with Gen AI.
-   Using Gemini with integration in Gmail, Docs and other tools; learning with NotebookLM.
-   Social impact of AI, AI risks and Responsible AI.

\*The syllabus is subject to change