|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
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.
||Make the robot dance and sing|
|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.
||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.
||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.
||Robot motion with logging|