On conclusion of this course, students are expected to: ~~1. Understand the syntax, structure and construction of basic C programs, ~~2. Interpret problem statements to create a solution strategy (algorithm), ~~3. Translate algorithms to C program code using user-defined functions and functions from the C library, and ultimately to generate executable code, and ~~4. Realize that low-level hardware control can be effected using a high-level language (C).