There will be 13 labs assigned over the course of the semester; your best 10 scores will be used to compute your lab average. All lab sessions are led by TAs. To receive credit for attending the lab and completing the lab assignment, your work must be verified by your TA.

You must attend your assigned lab section and the lab assignment must be completed during the assigned lab time.

During the lab, your TA will explain the lab assignment, provide assistance as needed, and record your successful completion of the assignment.

Lab assignments are graded on a scale from 0 to 10 at the discretion of the TAs.

10Successfully completed the lab assignment
8Made a good attempt to complete the lab assignment
5Attended the lab, but made little or no effort to complete the assignment
0Did not attend the lab

If you made a good attempt to complete a lab assignment within the allotted time, but were unable to finish it, you may complete the assignment on your own and show it to your TA to have the grade changed from an 8 to a 9. This must be done within one week of the original lab date.

To request that a lab grade be changed from an 8 to a 9, you must show the completed assignment to your TA before your next lab session. For the final lab of the semester, you must show the completed lab to your TA no later than the last day of classes.

Required Lab Times

Section TA Day Time Room
12 Siraj Memon Tu 1730 – 1820 ENG 104A
14 Sushant Athley Tu 2000 – 2050 ENG 104A
22 Phanindra Kannaji We 1430 – 1520 ENG 104A
13 Siraj Memon Tr 1730 – 1820 ENG 104A
15 Abhishek Tr 2000 – 2050 ENG 104A

Lab Exercises (topics subject to change)

Week of Exercise
Feb 1 Lab 1: Review of Emacs and UNIX
Feb 8 Lab 2: Arrays and Functions
Feb 15 Lab 3: Introduction to C++ Classes
Feb 22 Lab 4: Creating a C++ Class
Feb 29 Lab 5: More Practice with C++ Classes
Mar 7 Lab 6: Linked Lists
Mar 21 Lab 7: Debugging with gdb
Mar 28 Lab 8: Inheritance
Apr 4 Lab 9: Polymorphism
Apr 11 Lab 10: Black-box Testing
Apr 18 Lab 11: Templates
Apr 25 Lab 12: Exceptions
May 2 Lab 13: Makefiles