CS3204
CS 3204 Programming Projects Fall 2009
We will be using Pintos for this semester's projects. This page applies to all sections of CS 3204.
Please see Updates for updates that were made to the Pintos documentation or code.
Due Dates
Project | Help Session | Groups Formed By | Due Date | Time Left | Project | Design Document |
---|---|---|---|---|---|---|
0 | none | N/A | Sep 6, 11:59pm | 2009-09-06 23:59:59 GMT-04:00 | Individual | N/A |
1 |
M Sep 7, 6-8pm MCB 202 Slides: pdf ppt |
Sep 9 | Sep 29, 11:59pm | 2009-09-29 23:59:59 GMT-04:00 | Group | Individual* |
2 |
Th Oct 1, 6-8pm MCB 202 Slides: pdf ppt |
Sep 30 | Oct 19, 11:59pm | 2009-10-19 23:59:59 GMT-04:00 | Group | Individual* |
3 (MS) | Design Milestone | N/A | Oct 23 11:59pm (no extensions) |
2009-10-23 23:59:59 GMT-04:00 | Group | Group |
3 |
M Oct 26, 6-8pm MCB 202 Slides: pdf ppt |
Oct 23 | Nov 10, 11:59pm | 2009-11-10 23:59:59 GMT-04:00 | Group | Group |
4 |
M Nov 16, 6-8pm MCB 202 Slides: pdf ppt |
Nov 12 | Dec 9, 11:59pm | 2009-12-09 23:59:59 GMT-05:00 | Group | Group |
Project 0 is an individual project. The remaining projects require group work.
For the group projects, you must have committed to a group by the date indicated. You may not switch groups during the project for which you have committed. You may form groups of either 3 (recommended!) or 2 students, even across sections.
Important Note: Barring extenuating circumstances, we will not accept a project submission from you unless we have received notification from you that you have formed a group.
Send information about which groups have formed to cs3204-staff@cs.vt.edu. Here is a list of available students. Use your SLO login to get access to this list. We will keep this list up-to-date as you tell us who you're teaming up with.
(*) For some group projects, we ask that you prepare an individual design document. Members of a group are allowed to discuss the content of this document, but copying is not allowed. Each group member must have created their design document independently.
Submission Instructions
Submission instructions for all projects, please replace '0' with the appropriate number:
1. In the 'pintos/src' directory, issue the command tar cvzf project0-yourpid.tgz * Note: the "pintos" directory is wherever you keep a working copy of Pintos. It does not need to be named "pintos". 2. Upload project0-yourpid.tgz using the submission web page. To access the submission page, log on with your CS SLO account (that's the same account you use to log on to rlogin.cs.vt.edu). Alternatively, you may directly submit from the command line using the command submit.pl p0 project0-yourpid.tgz This command is found in ~cs3204/bin.
Note: Please issue a "make clean" command before submitting projects 1 through 4. The submission script will not accept files larger than 500,000 bytes.
Following these instructions ensures that the GTA's can use scripts to extract, build, and grade your submissions. The penalty for violating the instructions is a 10 point deduction; we will give you 2 warnings, however.
Honor Code Pledge
Honor Code Pledge: This honor code pledge must be included in the source file for project 0. Please include it as part of the design template documents for projects 1 through 4, see below.
Project 0: User-level Memory Allocator
Project 0 - A list of common mistakes.
Projects 1 - 4: Pintos
how to boot Pintos on your own PC
All of the remaining four projects are posted here together. If you want to think ahead while you write your code, feel free—in fact, we recommend it. But keep in mind that until the deadline for the current project, the details of the future projects are subject to change.
- The entire Pintos Documentation in HTML
(as pdf)
The documentation includes a tour of Pintos, and descriptions of the projects. The project descriptions can also be reached directly via the links below. -
The Pintos source tree
as a cross-linked, browsable, and searchable reference
Using CVS
The use of a CVS repository is required for these projects.
- Instructions for setting up CVS (also includes information on other useful development tools)
Coding Standards
The following portions of the documentation are relevant with respect to coding standards in as much as they affect your grade:
Read them carefully, in particular Section 1.2.2.2 Source Code.
Basic Information about Pintos
You should read everything below before attempting any of the projects:
You'll want to read these once you start work on the projects. Their advice can save you a lot of time:
- The Pintos Reference Guide contains descriptions of the Pintos code.
- Debugging Tools
- Example GDB Session
- How to interpret backtraces
Bracketed notations in Pintos source code comments can be looked up in the Bibliography.
Project 1: Threads
Project 2: Multiprogramming
Project 3: Virtual Memory
Project 4: File Systems
Updates
$Id: projects.html,v 1.2 2008/01/11 22:29:42 cs3204 Exp $