CSC 153 | Grinnell College | Spring, 2006 |
Computer Science Fundamentals | ||
lab # | Class Period | Topic | Reading | Lab | Due Date | Availability for Extra Credit |
---|---|---|---|---|---|---|
1 | Mon, Jan 23 | Introduction | reading | lab | ||
2 | Tues, Jan, 24 | User-Defined Procedures | reading | lab | Fri, Jan 27 | |
3 | Wed, Jan 25 | Scheme Environment | reading | lab | ||
4 | Fri, Jan 27 | Conditionals | reading | lab | Tues, Jan 31 | |
5 | Mon, Jan 30 | Simple Lists; Structures | reading | lab | ||
6 | Tues, Jan 31 | Basic Recursion | reading | lab | ||
7 | Wed, Feb 1 | Designing Recursive Procedures | lab | |||
8 | Fri, Feb 3 | 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 6 | |||||
9 | Mon, Feb 6 | Program Efficiency; Tail Recursion | reading | lab | Wed, Feb 8 | |
10 | Tues, Feb 7 | Character Data | reading | lab | ||
11 | Wed, Feb 8 | Encryption; Palindromes | reading | lab | ||
12 | Fri, Feb 10 | Input and Output | reading | lab | ||
13 | Mon, Feb 13 | Procedures: Parameters, MAP, Append, Eval | reading | lab | ||
14 | Tues, Feb 14 | Variables and Values | reading | lab | Extra Credit if submitted by Tues, Feb 28 | |
15 | Wed, Feb 15 | Local Procedures | lab | Mon, Feb 20 | ||
Supplemental Problem 3 | Fri, Feb 17 | |||||
16 | Fri, Feb 17 | Iteration | reading | lab | ||
17 | Mon, Feb 20 | Sorting | reading | lab | Mon, Feb 27 | |
18 | Tues, Feb 21 | Higher-Order Procedures | reading | lab | Tues, Feb 28 | |
Wed, Feb 22 | ||||||
19 | Feb, Feb 24 | Sorting and Mutation | reading | lab | ||
20 | Mon, Feb 27 | Files | reading | lab | ||
21 | Tues, Feb 28 | File Processing | reading | lab | ||
Wed, Mar 1 | Test 1 | covers 1-19 | ||||
21 | Fri, Mar 3 | File Processing, Continued | reading | lab | ||
22 | Mon, Mar 6 | Procedures of Variable Arity | reading | lab | ||
23 | Mon, Mar 6 | Anatomy of an Expert System | lab | Extra Credit if submitted by Tues, Apr. 4 | ||
24 | Tues, Mar 7 | HTML and CGI | reading | lab | ||
25 | Wed, Mar 8 | Project: CGI Programming | reading | lab | Tues, Mar 14 | |
Supplemental Problem 4 or 5 | Wed, Mar 8 | |||||
25 | Fri, Mar 10 | Project: CGI Programming | reading | lab | Tues, Mar 14 | |
26 | Mon, Mar 13 | Abstract Data Types | reading | lab | ||
27 | Mon, Mar 13 | Vectors | lab | Extra Credit if submitted by Mon, Apr 11 | ||
28 | Tues, Mar 14 | Object-Oriented Programming | reading | lab | ||
29 | Tues, Mar 14 | Objects and Classes | lab | Extra Credit if submitted by Tues, Apr 12 | ||
30 | Wed, Mar 15 | Object-Oriented Design | reading | lab | ||
31 | Fri, Mar 16 | More OO Design | reading | lab | ||
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 3 | Introduction to Java | lab | |||
Tues, Apr 4 | ||||||
33 | Wed, Apr 5 | Elementary Java Notes | reading | lab | ||
34 | Fri, Apr 7 | Building a Simple Class | lab | |||
Supplemental Problem 6 | Mon, Apr 10 | |||||
35 | Mon, Apr 10 | Problem Solving in Java | reading | lab | Fri, Apr 14 | |
Tues, Apr 11 | ||||||
36 | Wed, Apr 12 | Iteration and Arrays | reading | lab | ||
37 | Fri, Apr 14 | Searching/Efficiency | lab | Tues, Apr 18 | ||
Mon, Apr 17 | Hash Tables; Inheritance | |||||
38 | Tues, Apr 18 | Hash Tables; Inheritance | reading | lab | Extra credit if submitted by Tues, May 2 | |
39 | Wed, Apr 19 | A Class Roster Example | lab | |||
Fri, Apr 21 | Test 2 | Covers 1-38 | ||||
Mon, Apr 24 | Algorithmic Analysis | |||||
40 | Tues, Apr 25 | Analysis of Algorithms | reading | lab | Extra credit if submitted by Tues, May 9 | |
41 | Wed, Apr 26 | Sorting Lists and Vectors | reading | lab | Mon, May 1 | |
Fri, Apr 28 | More Sorting | |||||
42 | Mon, May 1 | Generalization; Exceptions | reading | lab | Wed, May 3 | |
Tues, May 2 | Exceptions, Continued | |||||
43 | Wed, May 3 | Lists in Java | reading | lab | Extra credit option | |
44 | Fri, May 5 | Trees/Recursive Definition | reading | lab | Wed, May 10 | |
Supplemental Problem 7 | Mon, May 8 | |||||
44 | Mon, May 8 | BSTs in Java | reading | lab | Wed, May 10 | |
45 | Tues, May 9 | More Binary Search Trees | reading | lab | Extra credit option | |
Wed, May 10 | Object-Oriented Design | |||||
Fri, May 12 | Semester Wrap UP |
created 8 January 2005 last revised 12 May 2006 |
![]() ![]() |
For more information, please contact Henry M. Walker at walker@cs.grinnell.edu. |