This is the home page for the C track of CS 11. This information is for the Fall 2024 term.
Administrative information
Go to this page for all the administrative information pertaining to this track.
Getting set up
This page has instructions on how to set up the course software.
Lectures
Assignments
-
Lab 1 (due Tuesday, October 8th, 2 AM)
Grades
We will be using CodePost for grading homeworks. Assignments will be submitted there and TAs will upload them, grade them and submit their comments.
Discussions
We have a Piazza page for this course. Course-related announcements and discussions will happen on that page.
Miscellaneous links for this track
-
The C style guide. This tells you how we want you to format your C code.
-
An introduction to the make program and Makefiles, which are extremely useful for multi-file projects.
-
A brief introduction to the gdb debugger.
-
A discussion on how to handle command-line arguments in your C programs.
-
If you need a Unix refresher, this site is pretty good.
Textbook and References
All of these references are optional, but they may be useful to deepen your understanding of the C language.
-
Peter A. Darnell, Philip E. Margolis, C: A Software Engineering Approach, 2nd Ed.
This is a comprehensive introduction to the C language which is fairly old but quite readable.
-
Kernighan and Ritchie, The C Programming Language, 2nd Ed.
This book, known familiarly as "K&R", is a concise complete, and fairly readable description of the C language. This will be the reference textbook for the track. It’s not easy reading for people with no programming experience, but the entire C language is described in it, so if you want to know about some fine point, this is the place to go.
-
Peter van der Linden, Expert C Programming: Deep C Secrets
This book, despite having lots of pretty glaring typos, is one of the few books that explains what is going on at the machine level during compilation and execution of a C program. It has much more information than beginners require, but more advanced programmers should read it.
-
Jens Gustedt, Modern C
A new book which covers the C language in detail, including the newest language features.
-
The development of the C language
The interesting history of how C came to be, by the late Dennis Ritchie, one of the authors (the R) of K&R.