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