Weekly Labs
Problem Sets
November 25 and 28
Lab 8 problem set,
phone_book -
Solutions
November 18 and 21
Lab 7 problem set:
C programming,
UNIX commands -
All files to download
Tutorial
November 11 and 14
Lab 6 problem set -
All C files and sample inputs/outputs
Tutorials:
1. Read this program and guess what the outputs would be. Then run the program and verify your guesses.
2. Familiarize yourself with these Unix commands - set 6.
November 4 and 7
Lab 5 problem,
lab5.c
lab5.io
Tutorial: Familiarize yourself with these Unix commands -
set 4 and
set 5.
October 28 and 31
Lab test 1
October 21 and 24
Lab 4 problem set,
lab4a.c,
lab4b.c (to be submitted on October 21 and 24),
lab4b.c solution
Tutorials:
1. Read this program and guess what the output would be. Then run the program and verify your guess.
2. Familiarize yourself with these Unix commands - set 3.
October 7 and 17
Lab 3 problem, lab3.c (to be submitted on October 7 and 17)
Tutorials:
1. 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.
2. These two programs do the same thing but are coded differently. Identify the difference(s).
3. Familiarize yourself with these Unix commands - set 2.
September 30 and October 3
Lab 2 problem set (to be submitted on Sept. 30 and Oct. 3)
Tutorial 1: What does each of these programs do?
Tutorial 2: Familiarize yourself with these Unix commands - set 1.
September 23 and 26
Tutorial for Friday, Sept. 23 and Monday, Sept. 26: What does program p9.c do? Program p10.c does the same thing as p9.c, but is written differrently. Identify the differences.
Lab 1 problem set - NOTE: Since we have not discussed scanf() and getchar() and many students have not been able to finalize their course registration, the submission of Lab 1 is moved to Friday, Sept. 23 and Monday, Sept. 26.
September 16 and 19
Lab 1 tutorial (Friday, Sept. 16 and Monday, Sept. 19.): what does each of these programs do?
NOTE: Attend the lab tutorial on the 16th and 19th for explanations about these programs. Make a "mock" submission using the "submit" command to prepare for the actual lab submissions on the 23rd and 26th.
How Do They Work?
-
A set of 2-3 small programming problems is posted on Mondays after each lecture 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 enables 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 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 CSE server and re-test the programs under Unix/Linux. There may exist compatability issues between Windows and Unix/Linux.