CS120
Computer Science I

Spring 2008
Syllabus

Each chapter in the text has review questions with answers at the end of the chapter. Trying to answer those questions, if only in your own mind, can be very useful in understanding the material. I will also point out particular questions worth spending some time on.

This semester we are using a lab manual written specifically for this course. The lab manual is still undergoing some revisions. So, it is suggested that you read the introduction and expectations sections and only print one lab at a time as required for class.

The lab manual is available on-line in postscript (ps) and pdf formats.

If you don't have a reader for these formats, free postscript readers can be downloaded at www.cs.wisc.edu/~ghost and a free pdf reader can be downloaded at www.adobe.com/products/acrobat/readstep2.html

Most labs and assignments will be turned in electronically using the checkin program written by Dr. Bob Rinker. Information on using the checkin program is available here.

Moonlander page

Information on using SSH to log into the CS department machines is available here.

WeekDatesTopicChaptersAssignmentComments and Topics
1 1/9 - 1/11 Intro. to Computers and Programming Chapter 1 No lab this week. No labs this week. Unix, SSH, basic program structure, compiling, comments, output. Hello World code
2 1/14 - 1/18 Variables and I/O Chapters 2 and 3 Assignment 1, Due Friday 1/18/2006 Variables, casts, expressions. A link to the Wikipedia entry on computer bugs, includes links to articles on several of the most significant, known, computer errors.
3 1/23 - 1/27 Starting Conditionals Chapter 5 Assignment 2, Due Friday 1/25/2008
The lab is Lab 2, exercise 2.1 from the lab manual.
Finishing variables. Starting conditionals if, if-else, and switch. Relational operators and Booleans.
4 1/28 - 2/1 Continuing Conditionals Chapter 5 Assignment 3 NEW DUE DATE Friday, Feb. 8th. No class Monday or Wednesady (instructor illness), no labs. If, if-else, and switch. Relational operators and Booleans.
5 2/4 - 2/8 Continuing Conditionals Chapter 5 Assignment 4 Due Friday, Feb. 15th. The lab is Lab 3, exercise 3.1 from the lab manual. If, if-else, and switch. Relational operators and Booleans.
6 2/11 - 2/15 Iteration, algorithmic complexity Chapter 6 Assignment 5 Due Friday, Feb. 22nd. The lab is Lab 4, exercise 4.2 from the lab manual. Loops, for, do, while. Nested loops. Big-O.
7 2/18 - 2/21 Curses library, functions Chapter 7 Assignment 6 Due Friday, Feb. 29th. The lab is Lab 4, exercise 4.3 from the lab manual. Curses library: initialization, basic input and output. Functions: arguments, return values, pass by value, pass by reference, scope.
8 2/25 - 2/29 More functions and scope Chapter 7 Assignment 7 Due Wednesday March 19th. The lab is Lab 6, exercise 6.1 from the lab manual. First midterm Weds. Feb. 27th.
9 3/3 - 3/7 More scope and beginning arrays Chapters 7 and 9 The lab is Lab 7, exercise 7.1 from the lab manual. No class March 7th
Scope of variables, defining and accessing arrays.
10 3/10 - 3/14 Spring Break Spring Break Spring Break Spring Break
11 3/17 - 3/21 Arrays Chapter 9 Assignment 8 Due Wednesday April 2nd. Lab 8, exericise 8.1 Declaring arrays, using arrays.
12 3/24 - 3/28 Design and structures Chapter 8 Lab 9, exericise 9.1 Top-down, decompositional, and bottom-up design. Guest lectures on Monday and Wednesday by Dr. Bob Rinker and on Friday by Qaiser Sadiq.
13 4/1 - 4/4 Objects Chapter 8 Lab 12, exericise 12.1 Assignment 9 Due Friday April 11th. Second Exam on Friday. Objects, data and function members, information hiding.
14 4/7 - 4/11 Strings Chapter 12 Lab 11, exericise 11.1 Assignment 10 Due Friday April 18th. Strings, files
15 4/14 - 4/18 More classes and objects Chapter 8 Lab 10, exericise 10.1 Assignment 11 Due Monday April 28th. Data and function members, private and public members, get and set, printing.
16 4/21 - 4/25 More classes and objects and Recursion Chapter 8 Lab - see assignment 11. No class friday 4/25. Overloading operators.
17 4/28 - 5/2 Linked lists Lab 13, exericise 13.1. Assignment, redo/polish assignment and resubmit before the final exam on Thursday May 8th. Sample final exam questions
18 5/5 - 5/9 Final Exam Week Final Exam Thursday May 8th, 10:00-12:00.