| Section | 1 |
|---|---|
| Instructor(s) | Kimpe, Dries (dries) |
| Location | Online Only |
| Meeting Times | Monday 5:20pm - 7:20pm |
| Fulfills | Core Programming |
*This course will be conducted remotely and will be online only for Autumn 2020*
Summary
This is an accelerated introduction to the C (not C++) Programming Language designed for students with prior programming experience. C is in many ways the lingua franca of computing, and a broad range of programming languages and related technologies derive from the basic principles of C memory management, control flow, and abstraction. Though there are many subtleties, C is not a big language, and it is expected that students will leave the course with a relatively deep understanding of the key concepts, which will then form a solid foundation for studying higher-level technologies. At the same time, C itself remains a very practical language, particularly so in areas such as scientific programming, high-performance computing, application level library design, systems programming, network programming, multi-threaded programming, etc. Students who successfully complete the course will be well prepared for subsequent MPCS courses in these areas. The course studies both fundamental and advanced C language constructs in the abstract and reinforces them through a range of exercises in the design of basic and advanced data structures, rudimentary algorithms, and API design.
The course teaches the latest C standard (C11 or ISO/IEC 9899:2011).
Course Contents
Coursework
8 Homework assignments, each with 1 week to complete. All programming.
1-2 Quizzes
Final project
Notes:
Texts
MPCS 50101 Concepts of Programming (or programming waiver)
Not approved for CAPP or MACS students.
This class is scheduled at a time that conflicts with these other classes: