| CSC 153 | Grinnell College | Spring, 2005 |
| Computer Science Fundamentals | ||
| 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 |
|
| For more information, please contact Henry M. Walker at walker@cs.grinnell.edu. |