Weekly Labs

Problem Sets and Tutorials

December 1 and 4
LAB TEST 2

November 24 and 27
Tutorial: C Program Structure (continued)
Online course evaluation [LINK]
Submission: C programning, UNIX programning, all files to download
Note: Refer to the provided C code in Assignment 2 for help with memory allocation.
Solutions (to be removed on November 30)

November 17 and 20
Tutorial 1: makefile
Tutorial 2: UNIX wildcards
Tutorial 3: C Program Structure (chapter 4) [PDF] [PowerPoint]
Submission: Lab 7 problem set, all files to download
More lab problems for practice (do not submit these programs):
• add function search() to file slist.c (see Assignment 1 for the specification of search)
• re-write the code in file slist.c, assuming that there is no dummy node. That is, an empty list does not contain any node, and head and tail are null in this case.
Solutions (to be removed on November 30)

November 10 and 13
Tutorial 1: More Unix commands
Tutorial 2: Solutions to Assignment 1 (discussed in lab)
Submission: Lab 6 problem set, all C and output files
Solutions (to be removed on November 30)

November 3 and 6
Tutorial 1: Discussion of solutions to Lab Test 1.
Tutorial 2: Read this program and guess what the outputs would be. Then run the program and verify your guesses.
Submission: Lab 5 problem set, all C and output files
Solutions (to be removed on November 30)

October 27 and 30
NO LAB (Reading Days)

October 20 and 23
LAB TEST 1

October 13 and 16
Tutorial: Unix File Names; File Access and Processes
Submission: Lab 4 problem set, lab4a.c, lab4b.c, lab4c.c
Solutions (to be removed on October 19)

October 6 and 9
NO LAB (Thanksgiving holiday)

September 29 and October 2
Tutorial 1: Redirection and Pipes; GNU Debugger (gdb)
Tutorial 2:
(a) For each of these programs, first read the code and guess what the output would be. Then run the programs and verify your guesses. This is to practice your code reading skills.
(b) These two programs do the same thing but are coded differently. Identify the difference(s).
Submission: Lab 3 problem set, lab3a.c, lab3b.c, lab3c.c
Solutions (to be removed on October 19)

September 22 and 25
Tutorial 1: Introduction to Unix/Linux; Working with Directories; Unix Files - SLIDES
Tutorial 2: What does each of these programs do?
Submission: Lab 2 problem set

September 15 and 18
Submission: Lab 1 problem set

How Do They Work?

"Labtest" Mode Rules

What Operating System Should I Use?

All labs, assignments and labtests must be completed and will be graded on Unix/Linux systems. However, you may develop programs under Windows operating systems. Following are different ways to work with Windows: After you finish your programs on Windows, upload them to a EECS server and re-test the programs under Unix/Linux. There may exist compatability issues between Windows and Unix/Linux.