| 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. |