CSC 161 Grinnell College Fall, 2014
Imperative Problem Solving and Data Structures

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:

  1. introduction to using the terminal window;
  2. basic Linux
  3. elements of a C program, including variables and primitive types;
  4. editing, compiling, linking, and running a program; and
  5. basic Scribbler actions (beeping and motion).

Day-by-day Details

Day Topic Preparation In-class Due Date Availability
Friday, August 29 Problem-solving Process
Module 0: Linux Introduction
Monday, September 1 Linux Basics
  • Use of terminal window
  • Setting up the emacs editor
  • Updating .bashrc
  • Creating a 161 directory structure
  • Linux directory commands: mkdir, rmdir, cd, pwd
  • Linux file commands: ls, mv, cp, rm
lab exercise    
Tuesday, September 2 Overview of C
  • Basic syntax
    • Elements of a program
    • Variables and arithmetic expressions
    • Variable names
    • Data types and sizes
    • Constants
  • Compiling C programs
  • Running C programs
Printing with lpr
Discussion: Overview of C
lab exercise
Wednesday, September 3 More C
  • Speech synthesis with eSpeak
  • Elements of Linux
    • Arrow keys
    • Auto completion
    • Linux commands: cat, more, head, tail
    • Relative and absolute paths
lab exercise    
Friday, September 5 Using the Scribbler 2 Robot
  • the MyroC package
  • Using MyroC with eSpeak
lab exercise    
Monday, September 8 Project   Program a Song Due: Wednesday, September 10  

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. Within the program, eSpeak should be used to speak text that introduces the song. 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 used.

Project Submission

Submission of your project should come in two parts:


This project, as well as any labs or supplemental problems due later in the semester, is due 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: