Skip to main content

Section outline

  • Session 1: C Programming Essentials 
    • Pointers, data structures, and function pointers
    • Synchronous & asynchronous programming techniques
    Session 2: Advanced C++ Programming 
    • OOP concepts: Classes, Objects, Inheritance, Polymorphism, Encapsulation
    • Exception handling & Templates
    Session 3: Linux System Programming 
    • Linux file system architecture & system calls
    • Multithreading, IPC (pipes, sockets, shared memory)
    • Debugging techniques & shell scripting
    Session 4: Device Drivers & Communication Protocols 
    • Introduction to character, block, and network drivers
    • Programming GPIO, SPI, I2C, UART, CAN protocols
  • Session 5: Kernel Programming & Tools 
    • Kernel modules, memory subsystems, and synchronization mechanisms
    • Debugging tools: Valgrind, GDB, Objdump
    Session 6: Configuration Management & Embedded Testing 
    • Build & version control with GIT, Jenkins, and JIRA
    • Embedded testing methodologies: BIOS, driver validation, Python/Perl scripting

    Lunch Break (12:15 PM – 1:15 PM)

    Session 7: Hands-on Mini Project 
    • Develop & execute a mini project combining system calls, drivers, and communication protocols
    • Collaborative debugging & testing
    Session 8: Final Assessment & Wrap-Up 
    • Exit test covering all topics
    • Review of key concepts & Q&A session