|The C programming language is commonly used to implement operation systems, embedded systems, and communication protocols. The object of this course is to teach how to apply the C programming language to develop real application systems. The contents of this course include advanced pointer usage, pointer and array, pointer and data structure, pointer-to-pointer, function pointer, callback functions, bitwise operations, and so on. In addition to practice on PC, this course also offers case studies for better understanding. Students will also be required to implement emulators to simulate OS lower level operations, e.g., CPU scheduling and memory management.