CS S1003: Introduction to Programming in C
Summer 2002
Mondays and Wednesdays, 6:15pm - 9:25pm in 627 MUDD
Course Lecturer: Carl Sable
e-mail: sable@cs.columbia.edu
Office: 724 CEPSR (Schapiro Building)
Office hours: Mondays and Wednesdays, 1:00pm - 2:00pm
Office phone: (212) 939-7120
TA: Bhaskar Krishnan
e-mail: bk2003@columbia.edu
Office hours: Tuesdays and Thursdays, 1:00 - 2:00pm
(251 Engineering Terrace/Gussman Lab)
"Computer Science: A Structured Programming Approach Using C,
2nd Edition" by Behrouz A. Forouzan and Richard F. Gilberg.
Click here for a directory of Word documents with solutions to exercises
for each chapter of this book.
Click here for a directory of PowerPoint slide presentations for each
chapter of this book.
"The C Programming Language, 2nd Edition" by Brian W. Kernighan
and Dennis M. Ritchie.
Both books are available at Papyrus on Broadway.
Grades will be based on:
- 4 homeworks (70%):
- homework #1 (15%)
- homework #2 (15%)
- homework #3 (20%)
- homework #4 (20%)
- a final (30%)
Late penalty for homeworks: 5 points (out of 100) for every 12 hour
period past deadline.
Homeworks assigned so far:
Instructions on submitting assignments.
All homeworks are to be completed individually!
Cheating will not be tolerated.
Click here to view Columbia's policy about cheating.
I am posting lecture notes on the web so that students will not have to
copy down everything that I write on the board. I will sometimes change
things during lectures; I may skip segments of my lecture notes, add
material, and answer questions. Lecture notes should be considered a
supplement for lectures, not a substitute! Students are responsible for
everything that is covered in class.
Lecture notes were converted automatically from Word to HTML format
by Microsoft Word 2000. The formatting seems mostly decent to me, but
I am not gauranteeing that things look the same as in the original
Word documents.
All dates which have not yet occurred should be considered
tentative. The schedule may change as the semester proceeds.
In particuar, homework due dates might change.
- Monday, May 27:
MEMORIAL DAY HOLIDAY, NO CLASS!
- Wednesday, May 29:
Topic 1: Introduction
(Microsoft Word format or
HTML format)
Topic 2: Variables and Expressions
(Microsoft Word format or
HTML format)
Suggested Reading:
- F&G: 1.1-1.6, 2.1-2.7, 3.1-3.4
- K&R: 1.1, 2.1-2.2
- Friday, May 31 (makeup date for Memorial Day holiday):
Topic 3: Selection Statements
(Microsoft Word format or
HTML format)
Topic 4: Loops
(Microsoft Word format or
HTML format)
Suggested Reading:
- F&G: 5.1, 5.2 (pp. 179-187), 5.3 (pp. 194-199),
6.1-6.5, 6.7
- K&R: 1.2-1.4, 3.1-3.4 (ignore anything you don't understand)
- Monday, June 3:
Topic 5: Standard I/O
(Microsoft Word format or
HTML format)
Topic 6: Arrays
(Microsoft Word format or
HTML format)
Suggested Reading:
- F&G: 2.8, 8.1-8.2, 8.7 (pp. 391-396, ignore program 8-15)
- K&R: 1.5, 1.6
Homework #1 assigned.
- Wednesday, June 5:
Topic 7: Functions
(Microsoft Word format or
HTML format)
Topic 8: Tic-Tac-Toe
(Microsoft Word format or
HTML format)
Source code for Tic-Tac-Toe
Suggested Reading:
- F&G: 4.2, 4.3 (pp. 119-128), 4.5, 8.3
- K&R: 1.7-1.8
- Sunday, June 9:
Homework #1 due by midnight.
- Monday, June 10:
Topic 9: Debugging
(Microsoft Word format or
HTML format)
Topic 10: Pointers
(Microsoft Word format or
HTML format)
Suggested Reading:
- F&G: 9.1-9.6, 9.8, 10.1-10.2, 10.5 (ignore realloc and calloc)
- K&R: 5.1-5.3 (ignore strlen)
Homework #2 assigned.
- Wednesday, June 12:
Topic 11: Strings
(Microsoft Word format or
HTML format)
Source code
for palindrome program, version 1
Source code
for palindrome program, version 2
Topic 12: Text Files
(Microsoft Word format or
HTML format)
Suggested Reading:
- F&G: 7.1-7.5, 11.1-11.2, 11.5
- K&R: 5.5, 7.5 (pp. 160-161), Appendix B2-B3
- Sunday, June 16:
Homework #2 due by midnight.
- Monday, June 17:
Topic 13: Recursion
(Microsoft Word format or
HTML format)
Topic 14: Solving Mazes
(Microsoft Word format or
HTML format)
Source code for maze solving program
Suggested Reading:
Homework #3 assigned.
- Wednesday, June 19:
Topic 15: Sorting
(Microsoft Word format or
HTML format)
Topic 16: Structures
(Microsoft Word format or
HTML format)
Source code for student info sorter
Suggested Reading:
- F&G: 8.5-8.6, 12.1, 12.3-12.7
- K&R: 6.1-6.4
- Sunday, June 23:
Homework #3 due by midnight.
- Monday, June 24:
Topic 17: Linked Lists
(Microsoft Word format or
HTML format)
Topic 18: Binary Trees
(Microsoft Word format or
HTML format)
Homework #4 assigned.
- Wednesday, June 26:
Topic 19: Multiple Files and Makefiles
(Microsoft Word format or
HTML format)
Topic 20: Leftovers
(Microsoft Word format or
HTML format)
Suggested Reading:
- F&G: 4.4 (pp. 146-150), Appendices I, K-1, L
- K&R: 3.8, 4.3-4.6, 4.11.1, 5.10
- Sunday, June 30:
Homework #4 due by midnight.
- Monday, July 1:
Review for Final Exam
About the Final
(previous finals with solutions included)
- Wednesday, July 3:
FINAL EXAM
Please send questions or comments to
sable@cs.columbia.edu.