CSC 161 Module 000: 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:
- introduction to using the terminal window;
- basic Linux
- elements of a C program, including variables and primitive types;
- editing, compiling, linking, and running a program; and
- basic Scribbler actions (beeping and motion).
|Monday, January 20
Module 0: Linux Introduction
|Tuesday, January 21
- Use of terminal window
- Setting up the emacs editor
- Updating .bashrc
- Creating a 161 directory structure
- Linux directory commands: mkdir, rmdir,
- Linux file commands: ls, mv,
|Wednesday, January 22
Overview of C
Printing with lpr
- Basic syntax
- Elements of a program
- Variables and arithmetic expressions
- Variable names
- Data types and sizes
- Compiling C programs
- Running C programs
Discussion: Overview of C|
|Friday, January 24
- Speech synthesis with eSpeak
- Elements of Linux
- Arrow keys
- Auto completion
- Linux commands: cat, more, head, tail
- Relative and absolute paths
|Monday, January 27
||Using the Scribbler 2 Robot
- the MyroC package
- Using MyroC with eSpeak
|Tuesday, January 28
||Program a Song
||Due: Friday, January 31
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 encouraged. Songs which have been used in examples or labs may not be
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
Turn in a a written statement that describes how you tested your program.
This should include:
Include a program listing
Of course, the program should be logically formatted and commented.
what happened when you ran your program,
how did the result of running your program meet specifications of the
Email your program to firstname.lastname@example.org
or email@example.com, as appropriate.
The subject line should include "CSC 161.01 Project 000" or "CSC 161.02
Project 000", together with the names of the collaborators who wrote the
Include the C program (not the compiled machine code) as an attachment.
Include a separate, attached file with your written statement regarding
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