Understand C on a higher level, including its memory handling, optimizations, and advanced constructs.


Gain an in-depth understanding of the logic behind the C language. Understand how commands written in C are mapped to processor instructions, memory handling, pointers and function callbacks, and more advanced C constructs. Finally, learn how C programs are optimized and applied in specific embedded environments.


Course topics:

  • C data types, arrays vs pointers, casting, little vs big endian
  • Declarations, variables, storage classes, types, constants, static and automatic duration, memory locations, linkage
  • Function caveats, calling conventions, calling from assembly
  • Pointer arithmetic, multi-dimensional arrays, function pointers, void pointers, endianness
  • Input-output and I/O dangers
  • Strings and safe string handling in C, structures, member alignment, and padding
  • Splitting a program, declaration sharing, header files
  • Build process and tools, preprocessor, compiler, linker, scripting
  • Memory handling, buffers, queues, lists, double buffering
  • Cross-compilation, embedded targets, compiler specifics


Software: IDE with a compiler provided by NIT, Chrome browser.

Hardware: Computer with an Internet connection, working speakers, and microphone.

Prior knowledge: Participants should have basic knowledge of programming in C.

July 7, 2022

Advanced C

Understand C on a higher level, including its memory handling, optimizations, and advanced constructs.   […]
July 6, 2022

Advanced Python programming

Master advanced Python concepts such as collections, generators, mocking, advanced testing, multiprocessing, combining Python with […]
January 6, 2022

Python programming

This course introduces Python programming, aimed at attendees with prior experience in programming in any […]
January 6, 2022

Basics of C++

The course gives participants an introduction to the main elements of the C++ programming language. […]
December 8, 2021

Advanced Android programming

Learn all about the modern Android operating system and its hidden traits on embedded platforms. […]
December 6, 2021

Modern C++

Learn advanced object programming paradigms in C++ variants 11, 14, and 17.   This course […]