CSC 161 Grinnell College Spring, 2009
 
Imperative Problem Solving and Data Structures
 

Tentative Schedule of Labs, Supplemental Problems, Due Dates, and Extra Credit Alternatives

This page provides a listing of labs, including relevant readings, lab instructions, and assignment options. This material also is available in calendar form (without Web links) in .dvi format / pdf format / postscript formats.

Although the readings and labs are available (with only minor editing anticipated), the class schedule is in draft form, and assignments are still under construction.

Lab Index:  January:   1, 2, 3, 4, 5
February:   6, 7, 8, 9, 10, 11, 12, 13, 14, 15
March:   16, 17, 18, 19, 20
April:   21 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
May:   32, 33


lab # Class Period Topic Reading Lab Due Date Availability
for
Extra
Credit
  Mon, Jan 19 Introduction Class Discussion  
1 Tues, Jan 20 Linux Basics (commands, file permissions) reading lab    
2 Wed, Jan 21 lab    
  Fri, Jan 23 Introduction to C Class Discussion  
3 Mon, Jan 26 Introduction to C (and emacs) reading lab    
4 Tues, Jan 27 Input and Output in C reading lab Fri, Jan 30  
  Wed, Jan 28 Conditionals in C Class Discussion  
5 Fri, Jan 30 Conditionals in C (and VIM) reading lab Tues, Feb 3  
  Mon, Feb 2 Loops in C Class Discussion  
6 Tues, Feb 3 Loops in C reading lab Mon, Feb 9  
Wed, Feb 4
  Fri, Feb 6 Loops and Testing Class Discussion  
7 Mon, Feb 9 Testing C Programs reading lab   Extra Credit if submitted by Mon, Feb 23
 
Note: With the introduction of pre- and post-conditions in Lab 7, all procedures for subsequent labs or supplemental problems must start with a statement of pre- and post-conditions, as well as the procedure name. If no pre-conditions are appropriate, that should be stated formally stated. Of course, every procedure does something, so it must have post-conditions.

A suggested format follows:

   <return-type> <function-name> (<parameters>) 
   /*   Pre-conditions:  .......
    *  Post-conditions:  .......
    */
  Tues, Feb 10 Supplemental Problem 1 or 2   Tues, Feb 10 Do both problems for extra credit
  Tues, Feb 10 Representation of Numbers Class Discussion  
8 Wed, Feb 11 Representation of Integers reading (by Christine Wright and Mr. Rebelsky) lab    
  Fri, Feb 13 Test 1 covers labs 1-7
9 Mon, Feb 16 Floating Point Numbers reading (by Mr. Stone) lab    
10 Tues, Feb 17 Numerical Errors reading lab   Extra Credit if submitted by Tues, Mar 3
  Wed, Feb 18 Functions and Parameters Class Discussion  
11 Fri, Feb 20 Functions and Parameters reading lab Mon, Feb 23  
  Mon, Feb 23 Arrays Class Discussion  
12 Tues, Feb 24 Arrays reading lab    
13 Tues, Feb 24 Gnu's DDD Debugger (Optional) reading lab   Extra Credit if submitted by Mon, Mar 9
14 Wed, Feb 25 Loop Invariants reading lab.   Extra Credit if submitted by Tues, Mar 10
  Fri, Feb 27 Pictorial Loop Invariants Class Discussion  
  Mon, Mar 2 Supplemental Problem 3   Mon, Mar 2  
15 Mon, Mar 2 More Pictorial Loop Invariants reading lab. Tues, Mar 10  
  Tues, Mar 3 Files and Buffers
Bits and Record Layout
Class Discussion  
  Wed, Mar 4 Test 2 covers labs 1-15
16 Fri, Mar 6 Files in C reading lab.   Extra Credit if submitted by Fri, Apr 3
17 Mon, Mar 9 Machine-level Operations and Unions reading lab.    
  Tues, Mar 10 Introduction to Pointers reading Class Discussion  
  Wed, Mar 11 Supplemental Problem 4  
  Wed, Mar 11 Characters and Strings Class Discussion  
18 Fri, Mar 13 Characters and Strings reading lab.   Extra Credit if submitted by Fri, Apr 10
Mon, Mar 16 Spring Break  
Tue, Mar 17 Spring Break
Wed, Mar 18 Spring Break
Fri, Mar 19 Spring Break
Mon, Mar 23 Spring Break
Tue, Mar 24 Spring Break
Wed, Mar 25 Spring Break
Fri, Mar 27 Spring Break
19 Mon, Mar 30 String Puzzles and Idiosynchracies   lab. Wed, Apr 1  
20 Tues, Mar 31 Linux and C reading lab.    
  Wed, Apr 1 Command-line Arguments in C Class Discussion  
21 Fri, Apr 3 Command-line Arguments in C reading lab   Extra Credit if submitted by Fri, Apr 17
22 Mon, Apr 6 Structures reading lab    
  Tues, Apr 7 Supplemental Problem 5  
  Tues, Apr 7 Pointers Class Discussion  
23 Wed, Apr 8 More Pointers reading lab. Mon, Apr 13  
  Fri, Apr 10 Abstract Data Types: Stacks, Queues Class Discussion  
24 Mon, Apr 13 Stacks with Arrays reading lab    
25 Tues, Apr 14 Queues with Arrays reading lab. Fri, Apr 17  
  Wed, Apr 15 Lists in C Class Discussion  
26 Fri, Apr 17 Scheme-like Lists in C reading lab    
27 Mon, Apr 20 Still More Lists reading lab   Extra Credit if submitted by Mon, May 4
  Tues, Apr 21 Supplemental Problem 6  
28 Tues, Apr 21 Even More Lists reading lab    
29 Wed, Apr 22 Building Multi-File Programs reading lab.    
  Fri, Apr 24 Test 3 Covers 1-28
  Mon, Apr 27 Alternative Linked Structures Class Discussion  
30 Tues, Apr 28 Doubly-Linked Lists reading lab. Fri, May 1  
31 Wed, Apr 29 Stacks and Queues with Lists reading lab   Extra Credit if submitted by Fri, May 8
32 Fri, May 1 Queues with Circular Lists reading lab.    
  Mon, May 4 Scripts in Linux/Unix Class Discussion  
  Tues, May 5 Supplemental Problem 7  
33 Tues, May 5 Bash Scripts reading lab. Fri, May 8  
Wed, May 6
Fri, May 8 Semester Wrap Up Class Discussion; End-of-Course Evaluations

created 25 March 2008
last revised 20 April 2009
Valid HTML 4.01! Valid CSS!
For more information, please contact Henry M. Walker at walker@cs.grinnell.edu.