Weekly Labs
Problem Sets and Tutorials
March 24
Submission: Lab 9
C programning, Lab 9
UNIX programning,
all files to download
Note: Solutions to Labs 8 and 9 will be posted on Friday, March 27.
March 17
Tutorial: makefile
Submission: Lab 8 problem set,
all files to download
March 10
Tutorial 1: UNIX wildcards
Tutorial 2: C Program Structure (chapter 4)
[PDF]
[PowerPoint]
Submission: Lab 7 problem set,
mmavg.c,
mmavg_io.txt
March 3
Tutorial 1: More Unix commands
Tutorial 2: Read this program and guess what the outputs would be. Then run the program and verify your guesses.
Submission: Lab 6 problem set,
calc.c,
calc_io.txt
February 25
Tutorial 1:
Unix File Names;
File Access and Processes
Tutorial 2: Solutions to lab test 1 problems (discussed in lab)
Submission: Lab 5 problem set,
all C and output files
February 18
Reading week - NO LAB
February 11
Lab Test 1
February 4
Note: Lab 4 will be submitted under the labtest mode to prepare for Lab Test 1 on Feb. 11.
Submission: Lab 4 problem set,
lab4a.c,
lab4b.c,
lab4c.c
January 28
Tutorial:
Redirection and Pipes;
GNU Debugger (gdb)
Submission: Lab 3 problem set,
lab3a.c,
lab3b.c,
lab3c.c
January 21
Tutorial:
Introduction to Unix/Linux;
Working with Directories;
Unix Files -
SLIDES
Submission: Lab 2 problem set
January 14
Tutorial: What does each of these programs do?
Submission: Lab 1 problem set
To create an EECS account, click here.
How Do They Work?
- A set of 2-5 small programming problems is posted on Friday after each lecture for you to prepare. Test your programs thoroughly before coming to the labs.
- In the following Tuesday lab sessions, you will complete and submit 2-3 programs in the "labtest" mode. No books or notes are allowed during the time the lab is in the "labtest" mode.
- The TA will give a short tutorial at the beginning of the lab and after that enables the "labtest" mode so that you can write and submit your code.
- All submitted labs are individual work. We use MOSS (Measure Of Software Similarity) to detect software plagiarism.
Labtest Mode Rules
- These lab submissions are considered as closed-book tests. Put away all your materials (under the desks) and keep only a pen or pencil. The lab monitor will give you blank paper for scrap work.
- Turn off cell phones and other electronic devices while in the lab.
- Submit your work periodically. You can submit a file several times. A new submission will overwrite the previous version.
- Towards the end of the lab session, you will see a warning message that time is running out and the system will be re-booted soon. Submit your work one last time before you are logged off the system.
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:
- Use PuTTY to connect to a EECS server and work online.
- Use CygWing, which emulates a UNIX environment.
- Use any Windows-based C compiler. Some are available from Wiki. A good compiler is a GCC compiler called MinGW. Just make sure that you test your final programs on Unix/Linux before submitting them.
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.