D. J. Bernstein
Data structures and program structures

MCS 275, Fall 2001

What I did in class
Using icarus
Programming at home
Jobs for undergraduates
This is a second introductory course in C programming. The textbook is ``C by dissection,'' fourth edition, by Al Kelley and Ira Pohl.

You are responsible for learning all the C material in the textbook. The previous course, MCS 260, covered half of the textbook. This course will cover the other half. You are not responsible for the non-C material (C++ and Java) in the textbook; you are not permitted to use non-C features in your solutions.

Your course grade is determined as follows. Your course average, between 0% and 100%, comes 20% from lab participation and homework, 20% from the first midterm, 20% from the second midterm, and 40% from the final. Your course average is converted into a letter according to the following scale: 35% for a D, 50% for a C, 65% for a B, and 80% for an A. Your final is converted into a letter on the same scale. Your course grade is your course average letter, plus 1 if your final letter is higher than your course average letter. For example, a C course average normally means a C grade, but it means a B grade if you received an A or B on the final.

The first midterm has been delayed until 21 September. The second midterm has been rescheduled for 29 October. The final will be 8-10 in the morning on Friday, 7 December.

I taught MCS 260 in the spring. I taught MCS 275 in 1997 and 1999. Strings and file I/O will be covered earlier this semester; linked lists will be covered later.

Course location

Lab #1 (call number 65375; 12:00-1:50 Tuesday) was scheduled for 103 SH but has been moved to the SEL 2249F computer lab, except on 4 September, where it will move to AA B120. Your TA is Xun Zhang.

Lab #2 (call number 65381; 12:00-1:50 Thursday) was scheduled for 103 SH but has been moved to the SEL 2249F computer lab, except on 6 September, where it will move to AA B120. Your TA is Xun Zhang.

The lecture (12:00-12:50 Monday Wednesday Friday) is in Lecture Center C1.

My office hours (11:00-11:50 Monday Wednesday Friday) are in 410 SEO. If you need to reach me at other times, send email to djb-275@cr.yp.to. I will have office hours 8-11 Wednesday and 8-11 Thursday before the final exam.

Lab policies

Lab participation is required. You may take one 10-minute break during the second hour.

You must bring your ID card, your official schedule, and your textbook. You must not bring food or drink into the room.

The labs will be full, so anyone who does not belong in a section will have to be kicked out of the room.

Make sure to log out each time you leave the room.


``C: a reference manual,'' fourth edition, by Samuel P. Harbison and Guy L. Steele, is the best available reference book for the C programming language.

P. J. Plauger's Dinkum C Library Reference explains what all the C library functions do. Plauger's book ``The standard C library'' also has code for the functions.

Steve Summit's comp.lang.c FAQ contains answers to hundreds of frequently asked questions about C. Local copy of ASCII version

There are two C newsgroups: comp.lang.c and comp.lang.c.moderated.