|CSC 161||Grinnell College||Spring, 2013|
|Imperative Problem Solving and Data Structures|
|Module||Dates||Overall Purpose||Summary and Main Topics||Examples||Lab Exercises||Project Theme|
|000 (module details)||Monday, January 21 — Wednesday, January 30||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|
|001 (module details)||Friday, February 1 — Monday, February 11||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|
|Monday, February 18||Hour Test 1|
|010 (module details)||Tuesday, February 12 — Friday, February 22||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|
|Monday, February 25 — Wednesday, February 27||Data representation||Representation of numbers
|Friday, March 8||Hour Test 2|
|011 (module details)||Friday, March 1 — Tuesday, March 12||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|
|100 (module details)||Wednesday, March 13 — Friday, April 5||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|
|101 (module details)||Monday, April 8 — Wednesday, April 17||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|
|Friday, April 19||Hour Test 3|
|110 (module details)||Monday, April 22 — Monday, April 29||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|
|111 (module details)||Tuesday, April 30 — Friday, May 10||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|