15-213/15-513/14-513 Introduction to Computer Systems: Labs

The labs are the heart of this course. Much of what you learn in this course will be through completing these labs.

All labs are handed out and in using Autolab.

The lateness policy for labs is as follows:

  • All labs are due at 11:59 pm ET / 8:59 pm PT on the due date shown. Some labs are due on a Tuesday and others are due on a Thursday—pay attention to which is which.
  • You can submit labs at most 3 days late, except for L0 and L8, which may be turned in at most 1 day late.
  • Each student has 5 grace days for the term which are automatically applied to late assignments. Use them wisely.
  • For each assignment, there is a limit on the number of grace days that can be applied, as is indicated in the table below.
  • If you go past the limit, or if you use up all your grace days, then a lateness penalty of 15% per day will be applied.
  • For example, if you turn in data lab three days late, you will use up one grace day and then be assessed a two-day (30%) lateness penalty.
  • You cannot decline to use grace days.
  • If you need more time to complete an assignment than this policy allows, follow the directions here. Do not email faculty to request extensions.

Code Reviews for style and understanding:

  • For labs L1, L4, L5a, L5b, L6, and L7, students should signup for code reviews by the date indicated in the Code Review column.
  • There are two parts to Code Review, with two separate sign-ups.
    • For labs L4, L5a, L5b, L6, and L7, each student will meet with a TA to discuss code style. Instructions on what is good code style can be found in Style Guidelines.
    • For labs L1, L4, L5b, L6, and L7, each student will take a 10 minute "parsons puzzle" test, to demonstrate their understanding of the lab content.
  • Both parts of Code Review will be included in your grade for that lab (the precise point distribution will be indicated in each lab write-up).

Schedule

Lab Name Weight Grace
Days
Out Due Code Review
Signup Due
Materials

L0 C Programming 2% 1 Tue Aug 25 Tue Sep 01
L1 Data 7% 1 Thu Aug 27 Tue Sep 08 Thu Sep 10
L2 Bomb 6% 1 Thu Sep 03 Tue Sep 15
L3 Attack 4% 1 Tue Sep 15 Thu Sep 24
L4 Cache 5% 2 Thu Sep 24 Thu Oct 08 Sat Oct 10
L5a Malloc (checkpoint) 4% 2 Thu Oct 08 Tue Oct 27 Thu Oct 29
L5b Malloc (final) 7% 2 Tue Nov 03 Thu Nov 05
L6 Shell 7% 2 Tue Nov 03 Thu Nov 12 Sat Nov 14
L7 Proxy 4% 2 Thu Nov 12 Tue Nov 24 Sun Nov 29
L8 SFS 4% 1 Thu Nov 19 Thu Dec 03
Total 50%