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