CSC 161 Module 0: Getting Started with Linux, C, and the Scribbler 2
Summary and Main Topics
This module introduces CSC161 students to the basics of Linux, C programming, and
the Scribbler robots, including:
- basic Linux
- introduction to using the terminal window;
- elements of a C program, including variables and primitive types;
- editing, compiling, linking, and running a program; and
- basic Scribbler actions (beeping and motion).
Day-by-day Details
Day
| Topic
| Preparation
| In-class
| Due Date
| Availability for Extra Credit
|
Friday, August 30
| Problem-solving Process
Module 0: Linux Introduction
|
|
|
|
|
Monday, September 2
| Linux Basics
|
| lab exercise
|
|
|
Tuesday, September 3
| Files in Linux
|
| lab exercise
|
|
|
Wednesday, September 4
| File Permissions in Linux
|
| lab exercise
Discussion: overivew of C
|
|
|
Friday, September 6
| Introduction to C
- Elements of a program
- Variables and arithmetic expressions
- Variable names
- Data types and sizes
- Constants
|
| lab exercise
|
|
|
Monday, September 9 | Using the Scribbler 2 Robot
|
| lab exercise
|
|
|
Tuesday, September 10
| Project
|
| Program a Song
| Due: Friday, September 13
|
|
Project: Program a Song
Working in pairs, students should develop a program that causes the
Scribbler 2 robot to play a song or melody that extends at least 30
seconds. Students should also write a description of their program,
compile the program, and run it. Creativity in identifying a song or melody
is encoauraged. Songs which have been used in examples or labs may not be
used.
Project Submission
Submission of your project should come in two parts:
-
Turn in a printed copy of your code at the start of class when the project
is due.
-
Include a program listing
-
Identify what you did to test your program
-
Since this program uses the Scribbler 2 robot, it is not feasible to turn
in the output of the program — that would require a recording of the
music played! Instead, prepare a written statement that describes the
result of testing:
-
what happened when you ran your program,
-
how did the result of running your program meet specifications of the
project?
-
Email your program to grader-161@cs.grinnell.edu
-
The subject line should include "CSC 161 Project 000", together with the
names of the collaborators who wrote the program.
-
Include the C program (not the compiled machine code) as an attachment.
Deadlines
This project, as well as any labs or supplemental problems due later in the
semester, is due at the start of class.
-
The time stamp on the email must be before the start of class.
-
The printed copy should be turned in at the start of class.
Note: If you email the project code or print the program after you
arrive in class, there is a good chance that your work will be considered
late and subject to the late penalty.
Exceptions to the deadline policy and its penalties:
-
An extension of at least one class period is automatically
granted if the department's Linux network is down for an unscheduled period
of three or more hours during the week preceding the assignment.
-
Difficulties sometimes arise with printing through PaperCut. When such
difficulties arise, you should contact the instructor (either at the start
of class or via email). Note, however, that difficulties with PaperCut do
not impact deadlines for emailing materials.
-
Students arriving late to a class should turn in the paper form of the work
as soon as they arrive in the classroom. In such cases, the assignment
will be considered on time if the email submission was received before the
class began.
Grading