| CSC 161 | Grinnell College | Spring, 2012 |
| Imperative Problem Solving and Data Structures | ||
| Module | Dates | Overall Purpose | Summary and Main Topics | Examples | Lab Exercises | Project Theme |
|---|---|---|---|---|---|---|
| 0 (module details) | Monday, January 23 — Friday, February 3 | Introduction: Play a
song
This module helps CSC161 students to gain familiarity with foundational concepts of C programming, the Scribbler robot, and the Linux terminal. | Basics of Linux and C
|
|
| Program a song |
| 1 (module details) | Wednesday, February 1 — Monday, February 13 | Motion (+song, motion)
This module introduces and explores the possibilities that are offered by loops and conditionals. These capabilities are applied to controlling a robot that creates sounds and moves simultaneously. | Control structures
|
|
| Make the robot dance and sing |
| — (details) | Tuesday, February 14 — Friday, February 17 | Data representation | Representation of numbers
| — |
| — |
| 2 (module details) | Monday, February 20 — Friday, March 2 | Motion and sensors
This module expands the CSC161 students' working knowledge of C language, improves problem solving and creativity, and creates an introduction to more complex programming. | functions and arrays
|
|
| Follow a moving object |
| Wednesday, February 29 | Hour Test 1 | |||||
| 3 (module details) | Monday, March 5 — Tuesday, March 13 | Deepen understanding of
imperative problem solving and C
The purpose of this module is to deepen understanding of the C language and smoothly integrate previous experience in the course into the larger framework of programming in C. | Arrays
|
|
| Robot follows typed commands |
| 4 (module details) | Wednesday, March 14 — Friday, April 6 | Image Processing
The purpose of this module is to introduce the customizable nature of self-written programs by using structs and 2-dimensional arrays. | Structured data
|
|
| Transform a Picture |
| 5 (module details) | Monday, April 9 — Wednesday, April 18 | Music Composition
This module introduces dynamic data structures (with pointers and linked lists) as a means to store lines of music that evolve through the composition process. | Dynamic data storage
|
|
| Music composition --- insertion of series of notes periodically into song tune |
| 6 (module details) | Friday, April 20 — Monday, April 30 | Storage/retrieval Patterns
This module increases familiarity with programming in C, integrates the Scribbler 2's sensors into the curriculum, and continues to practice previously-introduced concepts | The purpose of this module is to clarify previously
introduced concepts, such as
|
|
| Do something interesting with pictures or travel in a maze |
| Friday, April 13 | Hour Test 2 | |||||
| 7 (module details) | Tuesday, May 1 — Friday, May 11 | Integrated Robotics
This module integrates and reviews material that has been presented through the semester, with a particular emphasis on C programming concepts and full usage of the Scribbler robot. | Advanced Input/Output
|
|
| Robot motion with logging |