CSC 161 | Grinnell College | Spring, 2014 |
Imperative Problem Solving and Data Structures | ||
This module introduces CSC 161 students to fundamental elements of programming in C, including
Day | Topic | Preparation | In-class | Due Date | Availability for Extra Credit |
---|---|---|---|---|---|
Friday, February 7 | Supplemental Problem 1 | Supplemental Problem 1 (done individually) | Friday, February 7 | ||
Friday, February 7 | Examples Module 010: Arrays, Functions, Testing, Values, and Addresses | Examples: | |||
Monday, February 10 | Functions
|
| lab exercise | ||
Tuesday, February 11 | More functions and parameters
|
| |||
Wednesday, February 12 | Functions: value and pointer parameters |
| lab exercise | ||
Friday, February 14 | Hour Test 1 | Covers through the lab on functions with value and pointer parameters | |||
Monday, February 17 | Arrays |
| lab exercise | ||
Tuesday, February 18 |
More parameters
|
| lab exercise | ||
Wednesday, February 19 | Supplemental Problem 2 | Supplemental Problem 2 (done individually) | Wednesday, February 19 | ||
Wednesday, February 19 | Project | darts.c (program with random number generator) | Uninterpretable Dance | Due: Tuesay, February 25 |
Working in pairs, students should develop a program which makes the robot perform a randomized dance. That is, the program should have these features.
The program should contain at least five dance functions, each of which instructs the robot to follow a different sequence of activities (beeps and movements) in a dance pattern.
The main function should make at least five calls at random to the five movement functions. The functions should be executed in a different random order each time the program is run.
The program need not ensure that each function is called at least once for any single run of the program, but all functions should have an equal probability of being called in each program execution.
The program must have:
Well-written code should should be easy to read, understand, and modify; and the code should run efficiently. In the context of this project, therefore, your program should have these characteristics:
There should be no redundant or unused code. For example,
The code should be formatted to be easily readable. For example,
The code should also be reasonably efficient. For example,