CS 2022 Introduction to C Spring 2010

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.

Instructor
Robert Burgess
<burgess at systems.cs.cornell.edu>
Lecture
Hollister 306
12:20pm–1:10pm
Mondays, Wednesdays, Fridays
January 25–February 19, 2010
Office Hours
Upson 328
11:00am–12:00pm
Fridays
Prerequisites
One programming course or equivalent programming experience. Credit is granted for both COM S 2022 and 2024 only if 2022 is taken first.

Projects

Lectures

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

Resources

Newsgroup

cornell.class.cs2022

CSUG Lab

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.

The Web

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.

Book

The C Programming Language (colloquially, The C Bible)
by Brian Kernighan and Dennis Ritchie
Second edition for ANSI C