CSC 161 | Grinnell College | Spring, 2009 |
Imperative Problem Solving and Data Structures | ||
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 |
---|---|---|
February: | 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 | |
March: | 16, 17, 18, 19, 20 | |
April: | 21 22, 23, 24, 25, 26, 27, 28, 29, 30, 31 | |
May: | 32, 33 |
lab # | Class Period | Topic | Reading | Lab | Due Date | Availability for Extra Credit |
|
---|---|---|---|---|---|---|---|
Mon, Jan 19 | Introduction | Class Discussion | |||||
1 | Tues, Jan 20 | Linux Basics (commands, file permissions) | reading | lab | |||
2 | Wed, Jan 21 | lab | |||||
Fri, Jan 23 | Introduction to C | Class Discussion | |||||
3 | Mon, Jan 26 | Introduction to C (and emacs) | reading | lab | |||
4 | Tues, Jan 27 | Input and Output in C | reading | lab | Fri, Jan 30 | ||
Wed, Jan 28 | Conditionals in C | Class Discussion | |||||
5 | Fri, Jan 30 | Conditionals in C (and VIM) | reading | lab | Tues, Feb 3 | ||
Mon, Feb 2 | Loops in C | Class Discussion | |||||
6 | Tues, Feb 3 | Loops in C | reading | lab | Mon, Feb 9 | ||
Wed, Feb 4 | |||||||
Fri, Feb 6 | Loops and Testing | Class Discussion | |||||
7 | Mon, Feb 9 | Testing C Programs | reading | lab | Extra Credit if submitted by Mon, Feb 23 | ||
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: <return-type> <function-name> (<parameters>) /* Pre-conditions: ....... * Post-conditions: ....... */ |
|||||||
Tues, Feb 10 | Supplemental Problem 1 or 2 | Tues, Feb 10 | Do both problems for extra credit | ||||
Tues, Feb 10 | Representation of Numbers | Class Discussion | |||||
8 | Wed, Feb 11 | Representation of Integers | reading (by Christine Wright and Mr. Rebelsky) | lab | |||
Fri, Feb 13 | Test 1 | covers labs 1-7 | |||||
9 | Mon, Feb 16 | Floating Point Numbers | reading (by Mr. Stone) | lab | |||
10 | Tues, Feb 17 | Numerical Errors | reading | lab | Extra Credit if submitted by Tues, Mar 3 | ||
Wed, Feb 18 | Functions and Parameters | Class Discussion | |||||
11 | Fri, Feb 20 | Functions and Parameters | reading | lab | Mon, Feb 23 | ||
Mon, Feb 23 | Arrays | Class Discussion | |||||
12 | Tues, Feb 24 | Arrays | reading | lab | |||
13 | Tues, Feb 24 | Gnu's DDD Debugger (Optional) | reading | lab | Extra Credit if submitted by Mon, Mar 9 | ||
14 | Wed, Feb 25 | Loop Invariants | reading | lab. | Extra Credit if submitted by Tues, Mar 10 | ||
Fri, Feb 27 | Pictorial Loop Invariants | Class Discussion | |||||
Mon, Mar 2 | Supplemental Problem 3 | Mon, Mar 2 | |||||
15 | Mon, Mar 2 | More Pictorial Loop Invariants | reading | lab. | Tues, Mar 10 | ||
Tues, Mar 3 | Files and Buffers Bits and Record Layout |
Class Discussion | |||||
Wed, Mar 4 | Test 2 | covers labs 1-15 | |||||
16 | Fri, Mar 6 | Files in C | reading | lab. | Extra Credit if submitted by Fri, Apr 3 | ||
17 | Mon, Mar 9 | Machine-level Operations and Unions | reading | lab. | |||
Tues, Mar 10 | Introduction to Pointers | reading | Class Discussion | ||||
Wed, Mar 11 | Supplemental Problem 4 | ||||||
Wed, Mar 11 | Characters and Strings | Class Discussion | |||||
18 | Fri, Mar 13 | Characters and Strings | reading | lab. | Extra Credit if submitted by Fri, Apr 10 | ||
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 | ||||||
19 | Mon, Mar 30 | String Puzzles and Idiosynchracies | lab. | Wed, Apr 1 | |||
20 | Tues, Mar 31 | Linux and C | reading | lab. | |||
Wed, Apr 1 | Command-line Arguments in C | Class Discussion | |||||
21 | Fri, Apr 3 | Command-line Arguments in C | reading | lab | Extra Credit if submitted by Fri, Apr 17 | ||
22 | Mon, Apr 6 | Structures | reading | lab | |||
Tues, Apr 7 | Supplemental Problem 5 | ||||||
Tues, Apr 7 | Pointers | Class Discussion | |||||
23 | Wed, Apr 8 | More Pointers | reading | lab. | Mon, Apr 13 | ||
Fri, Apr 10 | Abstract Data Types: Stacks, Queues | Class Discussion | |||||
24 | Mon, Apr 13 | Stacks with Arrays | reading | lab | |||
25 | Tues, Apr 14 | Queues with Arrays | reading | lab. | Fri, Apr 17 | ||
Wed, Apr 15 | Lists in C | Class Discussion | |||||
26 | Fri, Apr 17 | Scheme-like Lists in C | reading | lab | |||
27 | Mon, Apr 20 | Still More Lists | reading | lab | Extra Credit if submitted by Mon, May 4 | ||
Tues, Apr 21 | Supplemental Problem 6 | ||||||
28 | Tues, Apr 21 | Even More Lists | reading | lab | |||
29 | Wed, Apr 22 | Building Multi-File Programs | reading | lab. | |||
Fri, Apr 24 | Test 3 | Covers 1-28 | |||||
Mon, Apr 27 | Alternative Linked Structures | Class Discussion | |||||
30 | Tues, Apr 28 | Doubly-Linked Lists | reading | lab. | Fri, May 1 | ||
31 | Wed, Apr 29 | Stacks and Queues with Lists | reading | lab | Extra Credit if submitted by Fri, May 8 | ||
32 | Fri, May 1 | Queues with Circular Lists | reading | lab. | |||
Mon, May 4 | Scripts in Linux/Unix | Class Discussion | |||||
Tues, May 5 | Supplemental Problem 7 | ||||||
33 | Tues, May 5 | Bash Scripts | reading | lab. | Fri, May 8 | ||
Wed, May 6 | |||||||
Fri, May 8 | Semester Wrap Up | Class Discussion; End-of-Course Evaluations |
created 25 March 2008 last revised 20 April 2009 |
![]() ![]() |
For more information, please contact Henry M. Walker at walker@cs.grinnell.edu. |