Advanced C
Understand C on a higher level, including its memory handling, optimizations and advanced constructs.
The course gives in-depth understanding of logic behind C language. Participants would understand how commands written in C are mapped to processor instructions, memory handling, pointers and function callbacks and more advanced C constructs. Finally, the course gives practical pointers on how C programs are optimized and applied in a 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
Hardware (required): Computer with Internet connection, working speakers and microphone.
Software: Chrome browser.
Course Typically Offered: Live Online in Fall quarter (mid June - August), Winter quarter (mid January - March), Spring quarter (April - mid June) or Summer quarter (mid June - August).
Prerequisites: Students should have basic programming knowledge in C.
Next Step: To gain additional knowledge in specific domains where C language is heavily utilized, consider taking the courses from the Automotive engineering catalog (NIT-AU-XX) or Consumer electronics catalog (NIT-CE-XX).
Course Number: NIT-CE-02
Duration: 2.00 units (~20 live teaching hours, ~40 hours of individual practice and preparation work)
Offered next: Contact us!
Class type: Live Online Intensive (according to the schedule published at the beginning of the course, approximately 3x2 live classes per week)
Instructor: To be announced
How to join: Google Meet (link will be available upon enrollment ), NIT Canvas
How to apply: Please apply by filling up the form here and we will get in touch with you as soon as possible.
Customized schedule for your company or team (call for price)
Class type: Live Online (Regular or Intensive), Live Bootcamp (Company premises)
Instructor: To be announced
For groups and organizations: please contact us directly to arrange this course according to your scheduling, needs and participant lists - via the contact form here.