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

Lab Index:

January:   1, 2, 3, 4, 5, 6, 7, 8
February:   9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21
March:   22, 23, 24, 25, 26, 27, 28, 29, 30, 31
April:   32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42
May:   43, 44, 45


lab # Class Period Topic Reading Lab Due Date Availability for
Extra Credit
1 Mon, Jan 22 Introduction reading lab    
2 Tues, Jan, 23 User-Defined Procedures reading lab Fri, Jan 26  
3 Wed, Jan 24 Scheme Environment reading lab    
4 Fri, Jan 26 Conditionals reading lab Tues, Jan 30  
5 Mon, Jan 29 Simple Lists; Structures reading lab    
6 Tues, Jan 30 Basic Recursion reading lab    
7 Wed, Jan 31 Designing Recursive Procedures   lab    
8 Fri,  Feb 2 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 (...

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

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