CSC 153 Grinnell College Spring, 2005
 
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.

lab # Class Period Topic Reading Lab Due Date Availability for
Extra Credit
1 Mon, Jan 24 Introduction reading lab    
2 Tues, Jan, 25 User-Defined Procedures reading lab Fri, Jan 28  
3 Wed, Jan 26 Scheme Environment reading lab    
4 Fri, Jan 28 Conditionals reading lab Tue, Feb 1  
5 Mon, Jan 31 Simple Lists; Structures reading lab    
6 Tues, Feb 1 Basic Recursion reading lab    
7 Wed, Feb 2 Designing Recursive Procedures   lab    
8 Fri,  Feb 4 Program Correctness and Design reading lab    
 
Note: With the introduction of pre- and post-conditions in Lab 8, 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 (...

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

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