{
  "@context": "https://schema.org",
  "@type": "WebPage",
  "name": "Embedded and Real-Time System Development Course Syllabus - Google Reichman AI Tech School",
  "description": "Course syllabus for Embedded and Real-Time System Development covering C, data structures, Linux OS, networking, bare metal programming, FreeRTOS, C++, embedded system integration, and AI/GenAI.",
  "url": "https://graitechschool.co.il/embedded-and-real-time-system-development-course-syllabus",
  "inLanguage": "en",
  "image": [
    "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",
    "https://www.graitechschool.co.il/wp-content/uploads/2022/12/Gilad-Kavalerchik__221220_146-e1671960198187.jpg",
    "https://www.graitechschool.co.il/wp-content/uploads/2023/07/%D7%99%D7%96%D7%99%D7%93--scaled.jpg",
    "https://www.graitechschool.co.il/wp-content/uploads/2022/12/Gilad-Kavalerchik__221220_200-e1671975249252.jpg",
    "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",
    "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",
    "https://www.graitechschool.co.il/wp-content/uploads/2022/12/Gilad-Kavalerchik__221220_20-e1673086560324.jpg",
    "https://www.graitechschool.co.il/wp-content/uploads/2022/12/Gilad-Kavalerchik__221220_67.jpg",
    "https://www.graitechschool.co.il/wp-content/uploads/2022/12/%D7%90%D7%95%D7%A8%D7%94-scaled.jpg",
    "https://www.graitechschool.co.il/wp-content/uploads/2022/12/AI-2.jpg"
  ],
  "publisher": {
    "@type": "Organization",
    "name": "Google Reichman AI Tech School",
    "url": "https://graitechschool.co.il",
    "logo": {
      "@type": "ImageObject",
      "url": "https://www.graitechschool.co.il/wp-content/uploads/2022/12/Mask-Group-9042.png"
    }
  },
  "isPartOf": {
    "@type": "WebSite",
    "name": "Google Reichman AI Tech School",
    "url": "https://graitechschool.co.il"
  },
  "breadcrumb": {
    "@type": "BreadcrumbList",
    "itemListElement": [
      {
        "@type": "ListItem",
        "position": 1,
        "name": "Home",
        "item": "https://graitechschool.co.il/"
      },
      {
        "@type": "ListItem",
        "position": 2,
        "name": "Embedded and Real-Time System Development Course Syllabus",
        "item": "https://graitechschool.co.il/embedded-and-real-time-system-development-course-syllabus"
      }
    ]
  },
  "potentialAction": {
    "@type": "ReadAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "https://graitechschool.co.il/embedded-and-real-time-system-development-course-syllabus",
      "actionPlatform": [
        "http://schema.org/DesktopWebPlatform",
        "http://schema.org/MobileWebPlatform"
      ]
    }
  },
  "mainEntity": {
    "@type": "Course",
    "name": "Embedded and Real-Time System Development",
    "description": "A comprehensive course covering C programming, data structures, Linux operating systems, networking, bare metal programming, FreeRTOS, C++, embedded system integration, and AI/GenAI. The syllabus is subject to change.",
    "url": "https://graitechschool.co.il/embedded-and-real-time-system-development-course-syllabus",
    "inLanguage": "en",
    "provider": {
      "@type": "Organization",
      "name": "Google Reichman AI Tech School",
      "url": "https://graitechschool.co.il",
      "logo": {
        "@type": "ImageObject",
        "url": "https://www.graitechschool.co.il/wp-content/uploads/2022/12/Mask-Group-9042.png"
      }
    },
    "image": "https://www.graitechschool.co.il/wp-content/uploads/2022/12/AI-2.jpg",
    "teaches": [
      "C Programming",
      "Data Structures",
      "Operating Systems",
      "Linux",
      "Networking",
      "Bare Metal Programming",
      "ARM Architecture",
      "STM32 Microcontrollers",
      "FreeRTOS",
      "Real-Time Systems",
      "C++ Programming",
      "Embedded System Integration",
      "AI",
      "Generative AI",
      "Machine Learning",
      "Prompt Engineering"
    ],
    "syllabusSections": [
      {
        "@type": "Syllabus",
        "name": "C Programming - Review and Practice",
        "description": "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."
      },
      {
        "@type": "Syllabus",
        "name": "Data Structures – A Quick Review",
        "description": "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."
      },
      {
        "@type": "Syllabus",
        "name": "Operating Systems, Focus on Linux",
        "description": "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."
      },
      {
        "@type": "Syllabus",
        "name": "Networking",
        "description": "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)."
      },
      {
        "@type": "Syllabus",
        "name": "Project 1: C and Networking on Linux",
        "description": "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."
      },
      {
        "@type": "Syllabus",
        "name": "Bare Metal Programming",
        "description": "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."
      },
      {
        "@type": "Syllabus",
        "name": "FreeRTOS and Real-Time Concepts",
        "description": "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 use I2C, DMA, PWM, ADC, DAC. Study RTC, watchdogs, linker scripts, flash memory, and EEPROM. Implement SPI communication and FATFS-based file storage systems."
      },
      {
        "@type": "Syllabus",
        "name": "C++ Programming",
        "description": "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."
      },
      {
        "@type": "Syllabus",
        "name": "Project 2: Embedded System Integration (C on RTOS, Microcontroller, Hardware Interfaces, Electronic Components, C++ on PC)",
        "description": "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."
      },
      {
        "@type": "Syllabus",
        "name": "Introduction to AI and GenAI",
        "description": "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."
      }
    ]
  }
}