| CSC 153 | Grinnell College | Spring, 2009 |
| 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.
Although the readings and labs are available (with only minor editing anticipated), the class schedule is only in draft form, and assignments are still under consideration.
| Lab Index: | 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 | |
| April: | 31 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, | |
| May: | 45, 46, 47 |
| lab # | Class Period | Topic | Reading | Lab | Due Date | Availability for Extra Credit |
Status |
|---|---|---|---|---|---|---|---|
| 1 | Mon, Jan 19 | Introduction | reading | lab | available | ||
| 2 | Tues, Jan 20 | User-Defined Procedures, Comments, Predicates | reading | lab | available | ||
| 3 | Wed, Jan 21 | Conditionals | reading | lab | available | ||
| 4 | Fri, Jan 23 | Linux Basics (commands, file permissions) | reading | lab | available | ||
| 5 | Mon, Jan 26 | Simple Lists; Structures | reading | lab | available | ||
| 6 | Tues, Jan 27 | Basic Recursion | reading | lab | available | ||
| 7 | Wed, Jan 28 | Designing Recursive Procedures | lab | available | |||
| 8 | Fri, Jan 30 | Program Correctness; Husk-and-Kernel | reading | lab | available | ||
|
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 2 | Program Efficiency; Tail Recursion | reading | lab | available | ||
| 10 | Tues, Feb 3 | Character Data | reading | lab | available | ||
| 11 | Wed, Feb 4 | Encryption; Palindromes | reading | lab | available | ||
| 12 | Fri, Feb 6 | Input and Output | reading | lab | available | ||
| 13 | Mon, Feb 9 | Procedures: Parameters, MAP, Append, Eval | reading | lab | available | ||
| 14 | Tues, Feb 10 | Variables and Values | reading | lab | available | ||
| 15 | Wed, Feb 11 | Local Procedures | lab | available | |||
| Fri, Feb 13 | Test 1 | covers 1-14 | |||||
| 16 | Mon, Feb 16 | Iteration | reading | lab | available | ||
| 17 | Tues, Feb 17 | Sorting | reading | lab | available | ||
| 18 | Wed, Feb 18 | Higher-Order Procedures | reading | lab | available | ||
| Fri, Feb 20 | |||||||
| 19 | Mon, Feb 23 | Procedures of Variable Arity | reading | lab | available | ||
| 20 | Tues, Feb 24 | Procedures as Values | reading | lab | available | ||
| 21 | Wed, Feb 25 | Anatomy of an Expert System | lab | available | |||
| 22 | Fri, Feb 27 | Introduction to C | reading | lab | available | ||
| 23 | Mon, Mar 2 | Conditionals and Loops | reading | lab | available | ||
| 24 | Tues, Mar 3 | Functions and Parameters | reading | lab | available | ||
| 25 | Wed, Mar 4 | Arrays | reading | lab | available | ||
| 26 | Fri, Mar 6 | Loop Invariants | reading | lab | available | ||
| Mon, Mar 9 | Pictorial Loop Invariants | class discussion | |||||
| 27 | Tues, Mar 10 | More Pictorial Loop Invariants | reading | lab | available | ||
| 28 | Wed, Mar 11 | Linux and C | reading | lab | available | ||
| Fri, Mar 13 | Test 2 | covers 1-27 | |||||
| Mon, Mar 16 | Spring Break | ||||||
| Tue, Mar 17 | Spring Break | ||||||
| Wed, Mar 18 | Spring Break | ||||||
| Fri, Mar 19 | Spring Break | ||||||
| Mon, Mar 23 | Spring Break | ||||||
| Tue, Mar 24 | Spring Break | ||||||
| Wed, Mar 25 | Spring Break | ||||||
| Fri, Mar 27 | Spring Break | ||||||
| 29 | Mon, Mar 30 | Files in C | reading | lab | available | ||
| 30 | Tues, Mar 31 | Representation of Integers | reading (by Christine Wright and Mr. Rebelsky) | lab | available | ||
| 31 | Wed, Apr 1 | Floating Point Numbers | reading (by Mr. Stone) | lab | available | ||
| 32 | Fri, Apr 3 | Machine-level Operations and Unions | reading | lab | available | ||
| 33 | Mon, Apr 6 | Characters and Strings | reading | lab | available | ||
| 34 | Tues, Apr 7 | String Puzzles and Idiosynchracies | lab | available | |||
| 35 | Wed, Apr 8 | Structures | reading | lab | available | ||
| Fri, Apr 10 | Pointers | class discussion | |||||
| 36 | Mon, Apr 13 | More Pointers | reading | lab | available | ||
| 37 | Tues, Apr 14 | Stacks with Arrays | reading | lab | available | ||
| 38 | Wed, Apr 15 | Queues with Arrays | reading | lab | available | ||
| Fri, Apr 17 | Lists in C | class discussion | |||||
| 39 | Mon, Apr 20 | Scheme-like Lists in C | reading | lab | available | ||
| 40 | Tues, Apr 21 | Still More Lists | reading | lab | available | ||
| 41 | Wed, Apr 22 | lab | available | ||||
| 42 | Fri, Apr 24 | Building Multi-File Programs | reading | lab | available | ||
| Mon, Apr 27 | Test 3 | Covers 1-41 | |||||
| 43 | Tues, Apr 28 | Doubly-Linked Lists | reading | lab | available | ||
| 44 | Wed, Apr 29 | Stacks with Lists | reading | lab | available | ||
| 45 | Fri, May 1 | Queues with Lists | reading | lab | available | ||
| 46 | Mon, May 4 | Queues with Circular Lists | reading | lab | available | ||
| 47 | Tues, May 5 | Bash Scripts | reading | lab | available | ||
| Wed, May 6 | |||||||
| Fri, May 8 | Semester Wrap Up |
||||||
|
created 25 March 2008 last revised 25 April 2008 |
|
| For more information, please contact Henry M. Walker at walker@cs.grinnell.edu. |