The dates in the following table are tentative. They could change depending on the pace at which material gets presented in the course. Your lab score will be determined as follows:
lab percentage = lab score / 1100 * 100
You can see that in effect one lab is an extra credit lab. Alternatively,
if something comes up, such as an illness, something at work, the need
to attend a conference, multiple exams in one week, etc., you do not have
to submit a lab.
| Date | Lab | Due | In Lab Activity | Top Coder Problem | |
|---|---|---|---|---|---|
| 8/22 | Lab 0 - Learning Unix | 6:00 AM, Monday, Aug. 27 | Learning Unix | --- | |
| 8/29 | Lab 1 - Checkerboard & Moonglow | 6:00 AM, Wed, Sept 5 | Debugging With Print Statements | Lab 0.5 - Counting Gold: The warm-up lab --Due : 6:00 AM, Saturday, Sept. 1--Hard deadline--No late labs accepted | |
| 9/5 | Lab 2 - Fun with PGM files | Due 6:00 AM, Wed, Sept 12 | gdb | SRM 350, D2, 250-Pointer (DistanceBetweenStrings) help file | |
| 9/12 | Lab 3 - More fun with PGM files |
|
--- | 1) SRM 587, D2, 250-Pointer (InsertZ):
Hints 2) SRM 605, D2, 250-Pointer (AlienAndPassword): Hints |
|
| 9/19 | Lab 3 - More fun with PGM files - Continued |
|
Classes Problets. When the app comes up, select "classes" from the menu. A couple of the screens take a long time (e.g., 15 seconds) to load, so be patient. You are first given a short trial run that may not be class-related so that you get used to using problets. Then you are taken to the classes app. | SRM 607, D2, 250-Pointer (BoundingBox): Hints | |
| 9/26 | Lab 4 - Hash tables with open addressing | Due 06:00:00 AM, Wednesday, Oct 3 | Midterm 1 Coding Problems | --- | --- |
| 10/3 | Lab 5 - Bit Matrices |
|
Pointer Problets. When the app comes up, select "pointer" from the menu. A couple of the screens take a long time (e.g., 15 seconds) to load, so be patient. | SRM 583, D2, 250-Pointer (SwappingDigits): Hints | |
| 10/10 | Lab 5 - Bit Matrices | Partial submission deadline is past. Complete lab due 6:00 AM, Wed, Oct 17 | gdb with pointers | SRM 297, D2, 250-Pointer (PackingParts): Hints | |
| 10/17 | Lab 6 - Candy Crush | Due 6:00 AM, Wed. Oct. 24 | gdb with linked lists | SRM 610, D2, 250-Pointer (DivideByZero) Hints | |
| 10/24 | Lab 7- A server to process codes |
|
--- | SRM 499, D1, 250-Pointer (ColorfulRabbits) Hints | |
| 10/31 | Lab 7- A server to process codes |
|
Midterm 2 Coding Problems | --- | |
| 11/7 | Lab 8 - Linked Lists | Due 6:00 AM, Wed, Nov 14 | --- | 1) SRM 467, D2, 250-Pointer (SuperSum)
: You should be able to implement
calculate() as a recursive method directly from the definition,
even though it is super-inefficient. 2) SRM 596, D1, 250-Pointer (IncrementAndDoubling): Hints. Use recursion to solve this one. There are multiple recursive ways to solve this problem. The hints give one way. |
|
| 11/14 | Lab 9 - Recursion (Shape Shifter!!) | Due 6:00 AM, Wednesday, Nov 21 | --- | SRM 679, D1, 250-Pointer (FiringEmployees): Hints. | |
| 11/21 | LabA (Lab 10)- Binary Search Trees |
|
--- | SRM 480, D2, 500-Pointer (InternetSecurity) Hints | |
| 11/28 | LabA (Lab 10)- Binary Search Trees | Partial submission due 6AM, Sat. Dec. 1. Complete lab due 6:00 AM, Wed, Dec. 5. Both deadlines are hard deadlines. No late submissions will be accepted | Final Coding Problems | --- |
Your lab grade will be determined as follows:
There are three ways to get lab help:
Please remember that both the TAs and I have obligations outside this class, and do not expect immediate answers to your Piazza questions. We will do our best to monitor Piazza and answer questions as expeditiously as possible. On evenings and weekends you may well be on your own but everyone in the class is strongly encouraged to answer Piazza questions. When it comes time to adjust borderline grades, I will look favorably on those of you who have actively answered questions on Piazza.
You can submit your lab up until 3 days after the due date but 10 points per day will be deducted from your final score. As I indicated earlier, please do not ask for extensions. If you plan your time well, you should have the lab pretty much complete before the last day. If you put off the lab to the last minute and then something comes up, such as an illness, then you will need to submit the lab late. Also, please give yourself several minutes before the 6:00AM deadline to submit to Blackboard. If you try to submit at 06:00AMm and for some reason it does not submit properly, you will lose 10 points for lateness.
You must write your labs alone. Obviously, you may talk about your labs with the TA's and with other students, but ultimately you must write your own code. Otherwise, it is plagiarism.
A few notes:
UNIX> chmod 1700 ~/cs140If someone cheats off of you, chances are we cannot determine that, since file access times can be modified. In the past, when I have discovered cheating, both parties (cheater and cheatee) get punished. Protect yourself.