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.