| CSC 161 | Grinnell College | Fall, 2011 |
| Imperative Problem Solving and Data Structures | ||
| Module | Dates | Overall Purpose | Summary and Main Topics | Examples | Lab Exercises | Project Theme |
|---|---|---|---|---|---|---|
| 0 (module details) | Friday, August 26 — Tuesday, September 6 | 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, September 7 — Friday, September 16 | 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 |
| Monday, September 23 | Hour Test 1 | |||||
| 2 (module details) | Monday, September 19 — Wednesday, September 28 | 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 |
| — (details) | Friday, September 30 — Tuesday, October 4 | Data representation | Representation of numbers
| — |
| — |
| 3 (module details) | Wednesday, October 5 — Monday, October 24 | 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 |
| Wednesday, October 12 | Hour Test 2 | |||||
| 4 (module details) | Tuesday, October 25 — Friday, November 4 | 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) | Wednesday, November 2 — Monday, November 14 | 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) | Tuesday, November 15 — Monday, November 28 | 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 |
| Monday, November 21 | Hour Test 3 | |||||
| 7 (module details) | Tuesday, November 29 — Friday, December 9 | 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 |
This document is available on the World Wide Web as
http://www.cs.grinnell.edu/~walker/courses/161.fa11/semester-outline.shtml
|
created created 14 July 2011 last revised 2 September 2011 |
|
| For more information, please contact Henry M. Walker at walker@cs.grinnell.edu. |