Labs
This course is organized around 12 in-class labs on varying topics.
Lab Reports:
Each lab requires you to write a lab report that answers key questions as you work through the lab. These reports should follow the format of the LibreOffice template provided here. Answers to most lab questions can be short; a few sentences is generally sufficient.
The first lab (and only the first lab!) will be submitted via the Sakai site. For all other labs, everything (programs source code, lab reports, etc...) must checked into the corresponding lab directory in version control and pushed to the online repository.
Lab Reports must be submitted in PDF format, not as LibreOffice files (Choose File->Export as PDF). Documents not in PDF format will be returned ungraded.
Deadlines:
Pre-Lab checkpoints are due at the beginning of class of the corresponding lab. A "checkpoint" is simply a quick verification that the requested activity was complete. Detailed grading will be done when the full lab report is submitted.
The full Lab Report is due by 11:59:59pm on the dates listed in the table below.
Grading:
To account for the varying amount of work required, each lab is worth a different point amount, as listed in the table below.
Lab # | Topic | Lab Start Date | Lab Report Due Date | Points Per Problem | Pre-Lab Points | Lab Points |
---|---|---|---|---|---|---|
1 | Linux Basics | Sep 3rd, 2013 | Sep 10th, 2013 | Rubric | 50 | 75 |
2 | Version Control | Sep 5th, 2013 | Sep 12th, 2013 | Rubric | 20 | 50 |
3 | C Programming (Language, Tools, and Makefiles) |
Sep 12th, 2013 | Sep 22nd, 2013 | Rubric | - | 75 |
4 | C Programming Project | Sep 17th, 2013 | Sep 29th, 2013 | Rubric | - | 150 |
5 | Performance Measurement | Sep 24th, 2013 | Oct 8th, 2013 | Rubric | - | 175 |
6 | Performance Optimization (Compilers and programmer techniques) |
Oct 1st, 2013 | Oct 15th, 2013 | Rubric | - | 150 |
7 | Performance Optimization Project | Oct 8th, 2013 | Oct 22nd, 2013 | Rubric | - | 150 |
8 | Performance Optimization (Memory Hierarchy) |
Oct 22nd, 2013 | Nov 5th, 2013 | Rubric | - | 175 |
9 | Endianness | Oct 29th, 2013 | Nov 12th, 2013 | Rubric | - | 150 |
10 | MIPS Assembly Programming (Basic) | Nov 7th, 2013 | Nov 19th, 2013 | Rubric | - | 150 |
11 | MIPS Assembly Programming (Advanced) | Nov 14th, 2013 | Dec 1st, 2013 | Rubric | - | 175 |
12 | Network Socket Programming with Python | Nov 21st, 2013 | Dec 10th, 2013 | Rubric | - | 125 |