1

This course provides a thorough introduction to the C programming language, the workhorse of the UNIX operating system and lingua franca of embedded processors and micro-controllers.

FREE
This course includes
Hours of videos

388 years, 10 months

Units & Quizzes

14

Unlimited Lifetime access
Access on mobile app
Certificate of Completion

The first two weeks will cover basic syntax and grammar, and expose students to practical programming techniques. The remaining lectures will focus on more advanced concepts, such as dynamic memory allocation, concurrency and synchronization, UNIX signals and process control, library development and usage. Daily programming assignments and weekly laboratory exercises are required. Knowledge of C is highly marketable for summer internships, UROPs, and full-time positions in software and embedded systems development.

Course Currilcum

  • Introduction. Writing, compiling, and debugging C programs. Hello world. Unlimited
  • Variables and datatypes, operators Unlimited
  • Control flow Unlimited
  • More control flow. Input and output. Unlimited
  • Pointers and memory addressing. Unlimited
  • User-defined datatypes, Unlimited
  • Pointers to pointers, Unlimited
  • Void and function pointers. Unlimited
  • External libraries. B-trees, priority queues. Unlimited
  • C standard library: stdio.h, ctype.h, stdlib.h, assert.h, stdarg.h, time.h Unlimited
  • Dynamic memory allocation, Unlimited
  • Multithreading and concurrency. Unlimited
  • Multithreaded programming. Unlimited
  • Linux inter process communication. Unlimited