Home Syllabus Class Schedule Lab Schedule People Assignments Texts Resources

CPSC 1071: Programming Methodology Laboratory

Barre Hall B108

Dr. Donald House
Fall 2019, 3 credits

Section 001 MW 1:25-2:15,   Lab TA, Mingqi Li, mingqil
Section 002 MW 2:30-3:20, Lab TA, Xiang Zhang, xzhang7
Section 003 MW 3:30-4:20, Lab TA, Xiang Zhang, xzhang7

To bring up your linux account in your browser, go to http://virtual.computing.clemson.edu. This will work on campus, or off campus through a vpn to campus.

Laboratory Schedule

  Sun Mon Tue Wed Thu Fri
1 Aug 18
Aug 19 Aug 20 Aug 21
No Lab, first week of classes
Aug 22
Aug 23
2 Aug 25 Aug 26
Introduction to the lab
Unix basics
Command console
Directory structure
Resource: UNIX Tutorial for Beginners
Read: Typographic Conventions
Read: Introduction to the UNIX operating system
Read: Tutorial 1 & Tutorial 2
Exercise: using cp, mv, rm, rmdir
using mkdir, cd, use of ., .., and /, pathnames
using cat, less, head, tail, grep, wc
Aug 27
last day to
add class
Aug 28
File creation and editing
Compiling and running
Resource: vim cheat sheet
Resource: emacs cheat sheet
Exercise: use vim or emacs to create a small C program.
Compile and test.
Problem Statement: prime number program
Aug 29 Aug 30
3 Sept 1 Sept 2
EZ Draw Tiger
Reading: EZ Draw user manual
Resource: EZ Draw library, include file, Makefile, and examples
Exercise: use vim or emacs to create a C program using EZ Draw.
Compile and test.
Problem Statement: tiger drawing program
Sept 3
last day to
drop without W grade
Sept 4
Complete the EZ Draw tiger drawing program
Sept 5 Sept 6
4 Sept 8
Sept 9
Makefiles
Resource: Makefile tutorial
Resource: gnu make reference card
Exercise: Construct and use Makefiles to compile C programs.
Problem Statement: makefile problems
Zip file for problem: trymake.zip
Sept 10 Sept 11
Complete the Makefile exercises from Monday Sept. 9
Sept 12 Sept 13
5 Sept 15
Sept 16
Building an interactive user interface
Problem Statement: Polygon programming problem
Sept 17 Sept 18
Complete the interactive user interface problem from Monday Sept. 16.
Sept 19
Sept 20
6 Sept 22
Sept 23
Debugging using gdb
Resource: gdb cheat sheet
Resource: gdb reference card
Problem Statement: Debugging problem using gdb
Zip file for problem: broken-calculator.zip
Sept 24
Sept 25
Complete the debugging practice problem from Monday Sept. 23.
Sept 26 Sept 27
7 Sept 29 Sept 30
No Lab, midterm today
Oct 1 Oct 2
Practice reading from a file
Problem Statement: Strings from a file
Zip file for problem: veggies.zip
Oct 3 Oct 4
8 Oct 6
Oct 7
Unix basics
I/O redirection and pipes
Resource: UNIX Tutorial for Beginners
Read: Tutorial 3 & Tutorial 4
Exercise: Download the file unixstuff.zip, and unzip it.
This creates a directory named unixstuff. Use the cd command to move into this directory.

Do all of the exercises listed in Tutorials 3 and 4 from within this directory.
Oct 8
Oct 9
Unix basics
File system security
Resource: UNIX Tutorial for Beginners
Read: Tutorial 5 & Tutorial 6
Exercise: Download the file unixstuff.zip, and unzip it.
This creates a directory named unixstuff.
Use the cd command to move into this directory.

Do all of the exercises listed in Tutorials 5 and 6 from within this directory.
Oct 10 Oct 11
9 Oct 13
Oct 14
No Lab, Fall Break
Oct 15
Fall Break
Oct 16
Unix Basics
Resource: UNIX Tutorial for Beginners
Read: Tutorial 7
Exercise: Enter, compile, and run the tutorial's program to access the PATH variable. If your program is named readpath,
you will have to type ./readpath in order to run it.
Now, add your current directory to your PATH,
and make this permanent by modifying your .bashrc file.
You should now be able to run your program again by simply typing readpath.
Demonstrate your work to the TA before leaving the lab.
Oct 17 Oct 18
10 Oct 20 Oct 21
Working with images, and using them in EZ Draw.
Here is a link to the new version of EZ Draw
that you will need for this lab exercise, in case you have not downloaded it already.
Problem Statement: Image tools and task
Oct 22
Oct 23
Complete the image tools and task problem from Monday Oct. 21.
Oct 24 Oct 25
11 Oct 27
Oct 28
A first exercise in building a C++ program.
The grid.zip file
that you will need for this lab exercise.
Problem Statement: A C++ Grid Maker
Oct 29
Oct 30
No Lab, Bahá'í Holy Day
Oct 31 Nov 2
12 Nov 3 Nov 4
No Lab, midterm today
Nov 5
Nov 6
A required open lab to work on homework 5, the maze builder. TA's will be familiar with the problem and my sample solution. This will be a good opportunity to deal with issues you may be having with the problem, or to get a well structured design in place if you havn't started coding yet. Your grade for this lab will be based solely on attendance, arriving late will incur a grade penalty. If you have a working program before the lab end, you can check out early with the TA.
Nov 7 Nov 8
13 Nov 10
Nov 11
A first exercise in bash shell scripting.
The scripting.zip file that you will need for this lab exercise.
Problem Statement: Bash shell scripts
Tutorial on if statements
Tutorial on loops
Bash scripting cheatsheet
Nov 12
Nov 13
Complete the shell scripting tasks from Monday Nov. 11
Nov 14 Nov 15
14 Nov 17 Nov 18
A required open lab to work on homework 6, the maze game. This will be a good opportunity to deal with issues you may be having with the problem, or to get a well structured design in place if you havn't started coding yet. Your grade for this lab will be based solely on attendance, arriving late will incur a grade penalty. If you have a working program before the lab end, you can check out early with the TA.
Nov 19
Nov 20
An additional required open lab to work on homework 6, the maze game. If you have a working program before the lab end, you can check out early with the TA.
Nov 21
Nov 22
15 Nov 24 Nov 25
A first exercise in using templated functions.
Here is the zip file that you will need for this lab exercise.
Problem Statement: Templated Functions
Nov 26 Nov 27
No Lab, Thanksgiving Break
Nov 28
Thanksgiving Break
Nov 29
Thanksgiving Break
16 Dec 1 Dec 2
No Lab, Last Week of Classes
Dec 3
Dec 4
No Lab, Last Week of Classes
Dec 5
Dec 6