15-213 Introduction to Computer Systems

Schedule is tentative. Assignment materials are not yet available.

The assignments are the heart of this course and count for 60% of your grade. Much of what you learn in this course will be through completing these assignments.


    Out Points Assignment Due

1 Tue Jan 23 60   Data Lab   Thu Feb 1
2 Thu Feb 1 70   Binary Bomb Lab   Tue Feb 13
3 Tue Feb 13 70   Buffer Overflow Lab   Thu Feb 22
4 Thu Feb 22 100   Performance Lab   Thu Mar 8
5 Tue Mar 20 100   Fuse Lab   Tue Apr 3
6 Tue Apr 3 100   Malloc Lab   Tue Apr 17
7 Tue Apr 17 100   Web Proxy Lab   Thu May 3

Collaboration and Academic Integrity

All assignments in this course are single-student assignments. The work must be all your own. Do not copy any parts of any of the assignments from anyone. Do not look at other students' code, papers, or exams. Do not make any parts of your assignments available to anyone, and make sure noone can read your files. The university policies on academic integrity will be applied rigorously.

We will be using the Moss system to detect software plagiarism. This systems is amazingly good, because it understands the programming language in question (C, in our case).

It is not considered cheating to clarify vague points in the assignments or textbook, or to give help or receive help in using the computer systems, compilers, debuggers, profilers, or other facilities.

Due Dates and Late Days

All handins are electronic via the Autolab system. All assignment are due at 11:59pm on the specified due date.

Every student has up to 5 late days to use for any assignments throughout the semester. For example, if an assignment is due at 11:59pm on Thursday, and handing in the assignment at 1:05pm on Saturday incurs no penalty, but uses up 2 late days. Late days used so far are recorded both on Blackboard and the emails with assignment scores.

For any assignment you may not submit more than 2 days late. This allows timely grading and permits us to discuss or post aspects of solutions. You may not submit an assignment more than 2 days late. You will receive no credit for an assignment which is more than two days late.

Exceptions to the policies above will be granted only under most dire circumstances and must be discussed with and approved by the course instructor in advance.


We always count your latest submission, both for grading purposes and for the purpose of counting late days. You should avoid the scenario where you make final clean-up edits close to the submission deadline without subsequently compiling and re-testing your code. You might end up with no credit if you accidentally fail to close a comment or miss a parenthesis!

Some labs permit unofficial submissions in order to test your code with the Autolab grader. Unofficial submissions will not be graded. Please make sure to hand in at least one official submission.

On autolab, be sure to select

S6 - View your handin history and scores

to see the official autolab output and instructor evaluations of your submissions.


Grading criteria are stated separately with each lab. Most of each score will be determined by the Autolab grading script. In addition, the teaching assistants will look over your programming solutions and award additional points based on comments and style.

Grades are based primarily on the total score for the class out of 1000 points. This includes 600 points for lab assignments, 300 points for exams, and 100 points for quizzes. There are no predetermined cut-offs, because difficulties of labs and exams vary from year to year. Instead, the teaching staff will decide on grade boundaries at the end of the year. We will use intangibles, such as participation in class and recitation for those close to grade boundaries.

[ Home | Schedule | Assignments | Exams | Lab Machines | Resources ]
[ Textbook | Autolab ]
[ Newsgroup | Blackboard ]

Frank Pfenning