Week 1 - Are you ready?

C Programming

Because this course focuses on operating systems, primarily covering Linux, it assumes that students have a reasonable understanding of the C programming language.

Concepts to Know

For this course, a “reasonable understanding” would be defined as having used or been exposed to the following C concepts:

  • Structs, arrays, pointers, and reference types
  • File I/O
  • Use of command line parameters
  • Pass-by-reference and pass-by-value
  • Dynamic memory allocation using malloc()
  • Use of C libraries

Besides understanding the above C concepts, it is useful for students to have experience with the following:

  • Debugging programs
  • Reading documentation
  • Iterative design
  • Good coding standards