website: metadata: name: "Embedded and Real-Time System Development Course Syllabus - Google Reichman AI Tech School" title: "Embedded and Real-Time System Development Course Syllabus - Google Reichman AI Tech School" core_info: url: "https://graitechschool.co.il/embedded-and-real-time-system-development-course-syllabus" source_url: "https://graitechschool.co.il/embedded-and-real-time-system-development-course-syllabus" content_type: "course syllabus" header: primary_elements: - image: alt: "Image 1" url: "https://www.graitechschool.co.il/wp-content/uploads/2022/12/Mask-Group-9042.png" navigation: [] actions: [] content: - section: title: "C Programming - Review and Practice" description: "" elements: - image: alt: "Image 2" url: "https://www.graitechschool.co.il/wp-content/uploads/2022/12/Gilad-Kavalerchik__221220_130.jpg" - bullets: - "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." actions: [] - section: title: "Data Structures – A Quick Review" description: "" elements: - image: alt: "Image 3" url: "https://www.graitechschool.co.il/wp-content/uploads/2022/12/Gilad-Kavalerchik__221220_146-e1671960198187.jpg" - bullets: - "Learn about Abstract Data Types (ADT), algorithmic complexity, and dynamic data structures." - "Implement and use dynamic vectors, stacks, queues, and m ake utility for project automation." - "Work with single and double linked lists, binary search trees (BST), heap, and hash tables." actions: [] - section: title: "Operating Systems, Focus on Linux" description: "" elements: - image: alt: "Image 4" url: "https://www.graitechschool.co.il/wp-content/uploads/2023/07/%D7%99%D7%96%D7%99%D7%93--scaled.jpg" - bullets: - "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 w ork with static and dynamic libraries, and implement signaling, pipes, and message queues." actions: [] - section: title: "Networking" description: "" elements: - image: alt: "Image 5" url: "https://www.graitechschool.co.il/wp-content/uploads/2022/12/Gilad-Kavalerchik__221220_200-e1671975249252.jpg" - bullets: - "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)." actions: [] - section: title: "Project 1: C and Networking on Linux" description: "" elements: - image: alt: "Image 6" url: "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" - bullets: - "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." actions: [] - section: title: "Bare Metal Programming" description: "" elements: - image: alt: "Image 7" url: "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" - bullets: - "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." actions: [] - section: title: "FreeRTOS and Real-Time Concepts" description: "" elements: - image: alt: "Image 8" url: "https://www.graitechschool.co.il/wp-content/uploads/2022/12/Gilad-Kavalerchik__221220_20-e1673086560324.jpg" - bullets: - "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." actions: [] - section: title: "C++ Programming" description: "" elements: - image: alt: "Image 9" url: "https://www.graitechschool.co.il/wp-content/uploads/2022/12/Gilad-Kavalerchik__221220_67.jpg" - bullets: - "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." actions: [] - section: title: "Project 2: Embedded System Integration (C on RTOS, Microcontroller, Hardware Interfaces, Electronic Components, C++ on PC)" description: "" elements: - image: alt: "Image 10" url: "https://www.graitechschool.co.il/wp-content/uploads/2022/12/%D7%90%D7%95%D7%A8%D7%94-scaled.jpg" - bullets: - "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." actions: [] - section: title: "Introduction to AI and GenAI" description: "" elements: - image: alt: "Image 11" url: "https://www.graitechschool.co.il/wp-content/uploads/2022/12/AI-2.jpg" - bullets: - "AI, Gen AI and Machine Learning concepts; M ain 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 t ools; learning with NotebookLM." - "Social impact of AI, AI risks and Responsible AI." actions: [] footer: links: [] info: - "The syllabus is subject to change" social: []