Weekly Labs
Problem Sets
Lab 9: November 23 and 25
Lab 9 problem set
Lab 8: November 16 and 18
Lab 8 C problem set
Unix tutorial
Lab 7: November 9 and 12
Study the model solution for the lab test of your section. The TAs will
discuss the solution, and answer your questions during the first part of
the lab.
During the lab test portion, you can repeat Lab Test 1 if you want
(not for marks), or attempt the question from the other section.
Automatic test resuts will be mailed back to you.
Lab 6: October 19 and November 5
Lab 6 problem set
Lab 6 tutorial:
Familiarize yourself with these Unix commands, as well as
these Unix commands.
Lab 5: October 12 and 22
Lab 5 problem set
Lab 5 tutorial:
Read this program and guess what the
output would be. Then run the program and verify your guess.
Familiarize yourself with these Unix commands.
Lab 4: October 5 and 15
Lab 4 problem set
Lab 4 tutorial:
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.
These two programs do the same thing
but are coded differently. Identify the difference(s).
Familiarize yourself with these Unix commands.
Lab 3: September 28 and October 1
Lab 3 problem set
Lab 3 tutorial: What does each of these programs do?
Familiarize yourself with these Unix commands.
Lab 2: September 21 and 24
Lab 2 problem set
Lab 2 tutorial: What does program p9.c do?
Program p10.c does the same thing
as p9.c, but is written differently. Identify the differences.
Lab 1: September 14 and 17
Lab 1 tutorial: What does each of these
programs do?
Attend the lab tutorial on the 14th and 17th for explanations about
these programs.
Make a "mock" submission using the "submit" command to
prepare for the actual lab submissions on the 21st and 23rd. You can do
this by giving:
submit 2031 Lab1 program.c
How Do The Weekly Labs Work?
-
A set of 2-3 small programming problems is posted by Tuesday afternoon for you to prepare. Test your programs thoroughly before coming to the labs.
-
In the following Friday (Monday) lab session, you will complete and submit the programs in the "labtest" mode. No books or notes are allowed during the time the lab is in the "labtest" mode.
-
Your submitted programs will NOT be graded. However, they will be made available to you during the lab tests 1 and 2. You will be able to copy and paste and re-use the code you submitted in the weekly labs.
- The TA may give a short tutorial at the beginning of the lab and after that enable the "labtest" mode so that you can write and submit your code.
- All submitted labs are individual work. Plagiarism and cheating are not tolerable. We use MOSS (Measure Of Software Similarity) to detect software plagiarism.
"Labtest" Mode Rules
- Be present on time.
- After the "labtest" mode starts, no one will be allowed to leave within the first 20 minutes of the session.
-
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.
Which 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 CSE server and work online.
- Use CygWin, which emulates a UNIX environment.
- Use any Windows-based C compiler. Some are available from Wikipedia. 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 CSE server and re-test the programs under Unix/Linux. There may exist compatability issues between Windows and Unix/Linux.