CSC 153 Grinnell College Fall, 2007
 
Computer Science Fundamentals
 

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.

Labs marked "(draft)" are subject to revision.

Lab Index:  August:   1
September:   2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
October:   17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
November:   32, 33, 34, 35, 36, 37, 38, 39, 40, 41
December:   42, 43, 44, 45


lab # Class Period Topic Reading Lab Due Date Availability for
Extra Credit
1 Fri, Aug 31 Introduction reading lab    
2 Mon, Sept 3 User-Defined Procedures, Comments, Predicates reading lab Wed, Sept 5  
3 Tues, Sept 4 Conditionals reading lab    
4 Wed, Sept 5 Simple Lists; Structures reading lab    
5 Fri, Sept 7 Basic Recursion reading lab Tues, Sept 11  
6 Mon, Sept 10 Designing Recursive Procedures   lab    
7 Tues,  Sept 11 Program Correctness and Design reading lab    
 
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:

(define <procedure-name>
 ;;   Pre-condition:  .......
 ;;  Post-condition:  .......
    (lambda (...

 
8 Wed, Sept 12 Program Efficiency; Tail Recursion reading lab Mon, Sept 17  
9 Fri, Sept 14 Character Data reading lab    
10 Mon, Sept 17 Encryption; Palindromes reading lab    
11 Tues, Sept 18 Input and Output reading lab    
12 Wed, Sept 19 Procedures: Parameters, MAP, Append, Eval reading lab    
Supplemental Problems 1 and 2 Fri, Sept 21
13 Fri, Sept 21 Variables and Values reading lab   Extra Credit if submitted by Fri, Oct 5
14 Mon, Sept 24 Local Procedures   lab Fri, Sept 28  
Tues, Sept 25 Test 1 covers 1-13      
15 Wed, Sept 26 Iteration reading lab    
16 Fri, Sept 28 Sorting reading lab    
17 Mon, Oct 1 Higher-Order Procedures reading lab Fri, Oct 5  
Supplemental Problem 3 Tues, Oct 2
17 Tues, Oct 2 Higher-Order Procedures, Continued reading lab Fri, Oct 5  
18 Wed, Oct 3 Sorting and Mutation reading lab    
19 Fri, Oct 5 Files reading lab    
20 Mon, Oct 8 File Processing reading lab    
Tues, Oct 9 File Processing, Continued
21 Wed, Oct 10 Procedures of Variable Arity reading lab    
22 Wed, Oct 10 Anatomy of an Expert System   lab   Extra Credit if submitted by Tues, Oct. 30
Supplemental Problem 4 Fri, Oct 12
23 Fri, Oct 12 HTML and CGI reading lab    
24 Mon, Oct 15 Project: CGI Programming reading lab Tues, Oct 30  
Tues, Oct 16 Test 2 covers 1-22      
24 Wed, Oct 17 Project: CGI Programming reading lab Tues, Oct 30  
25 Fri, Oct 19 Abstract Data Types reading lab    
26 Fri, Oct 19 Vectors   lab   Extra Credit if submitted by Fri, Nov 9
Mon, Oct 22 Fall Break
Tue, Oct 23 Fall Break
Wed, Oct 24 Fall Break
Fri, Oct 26 Fall Break
27 Mon, Oct 29 Object-Oriented Programming reading lab    
28 Mon, Oct 29 Objects and Classes   lab   Extra credit, if turned in by Monday, Nov 12 
29 Tues, Oct 30 More OO Design reading lab   Extra credit, if turned in by Tuesday, Nov 13
30 Tues, Oct 30 Object-Oriented Design reading lab   Extra credit, if turned in by Tuesday, Nov 13
31 Wed, Oct 31 Introduction to Java   lab Tues, Nov 6  
Fri, Nov 2
32 Mon, Nov 5 Elementary Java Notes reading lab    
33 Tues, Nov 6 Building a Simple Class   lab    
34 Wed, Nov 7 Problem Solving in Java reading lab Tues, Nov 13  
Fri, Nov 9
Supplemental Problem 5 Mon, Nov 12
35 Mon, Nov 12 Iteration and Arrays reading lab    
36 Tues, Nov 13 Searching/Efficiency   lab    
37 Wed, Nov 14 Loop Invariants reading lab Mon, Nov 19  
  Fri, Nov 16 Hash Tables; Inheritance        
38 Mon, Nov 19 Hash Tables; Inheritance reading lab    
39 Tues, Nov 20 A Class Roster Example   lab    
Supplemental Problem 6 Wed, Nov 21
  Wed, Nov 21 Algorithmic Analysis        
Fri, Nov 23 Thanksgiving Recess
40 Mon, Nov 26 Analysis of Algorithms reading lab   Extra credit if submitted by Mon, Dec 10
41 Tues, Nov 27 Sorting Lists and Vectors reading lab   Extra credit if submitted by Tues, Dec 11
Wed, Nov 28 Test 3 Covers 1-40
41 Fri, Nov 30 More Sorting Lists and Vectors reading lab   Extra credit if submitted by Tues, Dec 11
42 Mon, Dec 3 Generalization; Exceptions reading lab    
Tue, Dec 4 Exceptions, Continued
Supplemental Problem 7 Tues, Dec 4
43 Wed, May 5 Lists in Java reading lab   Extra credit if submitted by Friday, Dec 14
44 Fri, Dec 7 Trees/Recursive Definition reading lab Wed, Dec 12  
Supplemental Problem 8 Mon, Dec 10
44 Mon, Dec 10 BSTs in Java reading lab Wed, Dec 12  
45 Tues, Dec 11 More Binary Search Trees reading lab   Extra credit if submitted by Friday, Dec 14
Wed, Dec 12 Object-Oriented Design        
Fri, Dec 14 Semester
Wrap Up
       

created 8 January 2005
last revised 3 December 2007
Valid HTML 4.01! Valid CSS!
For more information, please contact Henry M. Walker at walker@cs.grinnell.edu.