CSC 161 Module to Introduce Conditionals, Loops, and Scribbler 2 Motion
Introduction
This module introduces CSC 161 students to several fundamental elements of
programming in C, including:
- using conditional statements (e.g.,
if, switch),
- using loops (e.g., initialization, iteration, condition testing, loop
body with
for, while), and
- introducing motion with the Scribbler 2 robot.
Day-by-day Details
| Day
| Topic
| Preparation
| In-class
| Due Date
| Availability for Extra Credit
|
| Wednesday, February 1
| Module 1: Conditionals, Loops, and Motion
|
| Examples
|
|
|
| Monday, February 6
| Types and Variables (with casting)
| Kernighan & Ritchie, 1.1, 2.1-2.4, 2.7
| Types and Variables Lab
|
|
|
| Tuesday, February 7
| Conditionals, Scribbler 2
|
| Conditionals Lab
|
|
|
| Wednesday, February 8
| Loops
| Kernighan & Ritchie, 1.3, 1.4, 3.5
Examples:
| Loops Lab
|
| Monday, February 13
|
| Friday, February 10
| Loops and Scribbler 2 Motion
| Kernighan & Ritchie, 3.6-3.7
| Motion and Loops Lab
|
|
|
| Monday, February 13
| Supplemental Problem 1
|
| Supplemental Problem 1 (done individually)
| Monday, February 13
|
|
| Monday, February 13
| Project
|
| Robot performs looped actions and sounds
| Friday, February 17
|
|
Project Options
Working in pairs, students should develop a program that includes these
elements:
-
Program controls robot such that the robot avoids obstacles in the room.
-
Robot recalls the last two actions (currently done and the one one before
that).
-
If robot performs the same two turns in a row (e.g. two right turns), robot
beeps and turns around (before performing any further movements). Note that
this is only when there are two turns, so going forward or backward
twice in a row does not count!
-
Every ten actions, robot performs a short dance three times in a row (the
dance can just be a few actions).
-
At least two
if statements
-
At least three loops, at least one of which must be a
for loop,
and at least one must be a while loop .
Together with the program, a student pair must write a paragraph that
describes what steps are needed to demonstrate the program is working
correctly (this can be pseudocode).
Project Submission
Here are some guidelines for this project:
-
The very first part of a program listing should indicate the authors of the
project (use a C comment).
-
The paragraph description of the project may be included in comments at the
start of the program, or it may be written as a separate document.
-
If the description is included in the program, please place the paragraph
immediately after the authors' names.
-
If the description is separate, please be sure the authors's names are at
the top of the page.
-
A copy of the program and description should be printed and turned in at
the start of class when the project is due.
-
A copy of the program and description also should be emailed to the
instructor at walker@cs.grinnell.edu by the start of the class when the
project is due. In the email, please include the authors' names as well as
the project title in the subject line.
Grading
This project will be worth 25 points, based on the following rubric:
-
Control of robot activities (7 points)
-
Inclusion of at least two
if statements that impact the
functioning of the program (6 points)
-
Use of three loops (as specified) that control the program's processing (6
points)
-
Neatness and conciseness of code (6 points)