A brief introduction to the C programming language and standard libraries. Unix accounts will be made available for students wishing to use that system for projects, but familiarity with Unix is not required. (Projects may be done using any modern implementation of C). CS 2024 (C++ Programming) includes much of the material covered in 2022. Students planning to take CS 2024 normally do not need to take 2022.
This is a one-credit S/U-only course.
January | 25 | Quick start with C, gcc, and gdb |
27 | Functions and projects | |
29 | Flow control | |
February | 1 | Syntax (K&R Appendix A) |
3 | Memory | |
5 | Structures (K&R Chapter 6) | |
8 | Linked lists | |
10 | Preprocessor (K&R Chapter 4.11) | |
12 | Input and output (K&R Chaper 7) | |
15 | Files and sockets | |
17 | Threads | |
19 | Threaded networking |
All students will have CSUG accounts and thus access to the CSUG machines. You might want to review Using Linux in the CS Undergraduate Lab, since we will be working in that environment.
A lot of resources and information is available on the web, and you are encouraged to use everything at your disposal.
Please do also look around for yourself, and let me know if there is a good resource I can add.
The C Programming Language (colloquially, The C Bible)
by Brian Kernighan and Dennis Ritchie
Second edition for ANSI C