CS 3204 Programming Projects Spring 2008

We will be using Pintos for this semester's projects.

Due Dates

Project Help Session Groups Formed By Due Date Time Left Project Design Document
0none N/A Jan 27, 11:59pm2008-01-27 23:59:59 GMT-04:00 IndividualN/A
1 We Jan 30, 6-8pm MCB 204
Slides: pdf ppt
Jan 30 Feb 18, 11:59pm2008-02-18 23:59:59 GMT-04:00 GroupIndividual*
2 Th Feb 21, 6-8pm MCB 204
Slides: pdf ppt
Feb 22 Mar 12, 11:59pm2008-03-12 23:59:59 GMT-04:00 GroupIndividual*
3 (MS)Design Milestone N/A Mar 19 11:59pm
(no extensions)
2008-03-19 23:59:59 GMT-04:00 GroupGroup
3 Th Mar 13, 6-8pm MCB 204
Slides: pdf ppt
Mar 16 Apr 2, 11:59pm2008-04-02 23:59:59 GMT-04:00 GroupGroup
4 T Apr 8, 6-8pm MCB 204
Slides: pdf ppt
Apr 8 Apr 27, 11:59pm 2008-04-27 23:59:59 GMT-04:00 GroupGroup

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 2 or 3 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. We will keep this list up-to-date.

(*) 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. If you are using one of the machines in McB124, open the web browser 
   and log on to curator to submit your project0-yourpid.tgz file. 
   To make submissions from elsewhere, copy the file 
   project0-yourpid.tgz to your local machine and submit it 
   to the curator.

Note: Please issue a "make clean" command before submitting projects 1 through 4. Your .tgz file should be between 300 and 400 KB big, not larger.

The Curator is located at this URL.


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 Specification.

Project 0 - A list of common mistakes.


Projects 1 - 4: Pintos

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.


Using CVS

The use of a CVS repository is required for these projects.


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 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:

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



No changes have been made to pintos src code and test cases since original posting of this page on Jan 11.

$Id: projects.html,v 1.2 2008/01/11 22:29:42 cs3204 Exp $