| CSC 153 | Grinnell College | Fall, 2007 |
| Computer Science Fundamentals | ||
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.
Labs marked "(draft)" are subject to revision.
| Lab Index: | August: | 1 |
|---|---|---|
| September: | 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 | |
| October: | 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 | |
| November: | 32, 33, 34, 35, 36, 37, 38, 39, 40, 41 | |
| December: | 42, 43, 44, 45 |
| lab # | Class Period | Topic | Reading | Lab | Due Date | Availability for Extra Credit |
|---|---|---|---|---|---|---|
| 1 | Fri, Aug 31 | Introduction | reading | lab | ||
| 2 | Mon, Sept 3 | User-Defined Procedures, Comments, Predicates | reading | lab | Wed, Sept 5 | |
| 3 | Tues, Sept 4 | Conditionals | reading | lab | ||
| 4 | Wed, Sept 5 | Simple Lists; Structures | reading | lab | ||
| 5 | Fri, Sept 7 | Basic Recursion | reading | lab | Tues, Sept 11 | |
| 6 | Mon, Sept 10 | Designing Recursive Procedures | lab | |||
| 7 | Tues, Sept 11 | Program Correctness and Design | reading | lab | ||
|
Note: With the introduction of pre- and post-conditions in Lab 7, 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 (... |
||||||
| 8 | Wed, Sept 12 | Program Efficiency; Tail Recursion | reading | lab | Mon, Sept 17 | |
| 9 | Fri, Sept 14 | Character Data | reading | lab | ||
| 10 | Mon, Sept 17 | Encryption; Palindromes | reading | lab | ||
| 11 | Tues, Sept 18 | Input and Output | reading | lab | ||
| 12 | Wed, Sept 19 | Procedures: Parameters, MAP, Append, Eval | reading | lab | ||
| Supplemental Problems 1 and 2 | Fri, Sept 21 | |||||
| 13 | Fri, Sept 21 | Variables and Values | reading | lab | Extra Credit if submitted by Fri, Oct 5 | |
| 14 | Mon, Sept 24 | Local Procedures | lab | Fri, Sept 28 | ||
| Tues, Sept 25 | Test 1 | covers 1-13 | ||||
| 15 | Wed, Sept 26 | Iteration | reading | lab | ||
| 16 | Fri, Sept 28 | Sorting | reading | lab | ||
| 17 | Mon, Oct 1 | Higher-Order Procedures | reading | lab | Fri, Oct 5 | |
| Supplemental Problem 3 | Tues, Oct 2 | |||||
| 17 | Tues, Oct 2 | Higher-Order Procedures, Continued | reading | lab | Fri, Oct 5 | |
| 18 | Wed, Oct 3 | Sorting and Mutation | reading | lab | ||
| 19 | Fri, Oct 5 | Files | reading | lab | ||
| 20 | Mon, Oct 8 | File Processing | reading | lab | ||
| Tues, Oct 9 | File Processing, Continued | |||||
| 21 | Wed, Oct 10 | Procedures of Variable Arity | reading | lab | ||
| 22 | Wed, Oct 10 | Anatomy of an Expert System | lab | Extra Credit if submitted by Tues, Oct. 30 | ||
| Supplemental Problem 4 | Fri, Oct 12 | |||||
| 23 | Fri, Oct 12 | HTML and CGI | reading | lab | ||
| 24 | Mon, Oct 15 | Project: CGI Programming | reading | lab | Tues, Oct 30 | |
| Tues, Oct 16 | Test 2 | covers 1-22 | ||||
| 24 | Wed, Oct 17 | Project: CGI Programming | reading | lab | Tues, Oct 30 | |
| 25 | Fri, Oct 19 | Abstract Data Types | reading | lab | ||
| 26 | Fri, Oct 19 | Vectors | lab | Extra Credit if submitted by Fri, Nov 9 | ||
| Mon, Oct 22 | Fall Break | |||||
| Tue, Oct 23 | Fall Break | |||||
| Wed, Oct 24 | Fall Break | |||||
| Fri, Oct 26 | Fall Break | |||||
| 27 | Mon, Oct 29 | Object-Oriented Programming | reading | lab | ||
| 28 | Mon, Oct 29 | Objects and Classes | lab | Extra credit, if turned in by Monday, Nov 12 | ||
| 29 | Tues, Oct 30 | More OO Design | reading | lab | Extra credit, if turned in by Tuesday, Nov 13 | |
| 30 | Tues, Oct 30 | Object-Oriented Design | reading | lab | Extra credit, if turned in by Tuesday, Nov 13 | |
| 31 | Wed, Oct 31 | Introduction to Java | lab | Tues, Nov 6 | ||
| Fri, Nov 2 | ||||||
| 32 | Mon, Nov 5 | Elementary Java Notes | reading | lab | ||
| 33 | Tues, Nov 6 | Building a Simple Class | lab | |||
| 34 | Wed, Nov 7 | Problem Solving in Java | reading | lab | Tues, Nov 13 | |
| Fri, Nov 9 | ||||||
| Supplemental Problem 5 | Mon, Nov 12 | |||||
| 35 | Mon, Nov 12 | Iteration and Arrays | reading | lab | ||
| 36 | Tues, Nov 13 | Searching/Efficiency | lab | |||
| 37 | Wed, Nov 14 | Loop Invariants | reading | lab | Mon, Nov 19 | |
| Fri, Nov 16 | Hash Tables; Inheritance | |||||
| 38 | Mon, Nov 19 | Hash Tables; Inheritance | reading | lab | ||
| 39 | Tues, Nov 20 | A Class Roster Example | lab | |||
| Supplemental Problem 6 | Wed, Nov 21 | |||||
| Wed, Nov 21 | Algorithmic Analysis | |||||
| Fri, Nov 23 | Thanksgiving Recess | |||||
| 40 | Mon, Nov 26 | Analysis of Algorithms | reading | lab | Extra credit if submitted by Mon, Dec 10 | |
| 41 | Tues, Nov 27 | Sorting Lists and Vectors | reading | lab | Extra credit if submitted by Tues, Dec 11 | |
| Wed, Nov 28 | Test 3 | Covers 1-40 | ||||
| 41 | Fri, Nov 30 | More Sorting Lists and Vectors | reading | lab | Extra credit if submitted by Tues, Dec 11 | |
| 42 | Mon, Dec 3 | Generalization; Exceptions | reading | lab | ||
| Tue, Dec 4 | Exceptions, Continued | |||||
| Supplemental Problem 7 | Tues, Dec 4 | |||||
| 43 | Wed, May 5 | Lists in Java | reading | lab | Extra credit if submitted by Friday, Dec 14 | |
| 44 | Fri, Dec 7 | Trees/Recursive Definition | reading | lab | Wed, Dec 12 | |
| Supplemental Problem 8 | Mon, Dec 10 | |||||
| 44 | Mon, Dec 10 | BSTs in Java | reading | lab | Wed, Dec 12 | |
| 45 | Tues, Dec 11 | More Binary Search Trees | reading | lab | Extra credit if submitted by Friday, Dec 14 | |
| Wed, Dec 12 | Object-Oriented Design | |||||
| Fri, Dec 14 | Semester Wrap Up |
|||||
|
created 8 January 2005 last revised 3 December 2007 |
|
| For more information, please contact Henry M. Walker at walker@cs.grinnell.edu. |