CS 3204 Programming Projects

We will be using Pintos for this semester's projects. This page applies to all sections of CS 3204. Read more about important updates to the Pintos code or documentation since Aug 20.

Due Dates & Submission Instructions

ProjectHelp SessionDue DateDays
0noneSep 3, 11:59pm14
1Tu Sep 5 7pm MCB 129
Wed Sep 6 7pm MCB 209
Sep 25, 11:59pm22
2Wed Sep 27 7pm MCB 113
Th Sep 28 7pm MCB 126
Oct 17, 11:59pm22
3Project 3 DesignOct 26 11:59pm
(no extensions)
3Th Oct 19 7pm MCB 126
Mo Oct 23 7pm MCB 113
Nov 8, 11:59pm22
4Th Nov 9 7pm MCB 126
Mo Nov 13 7pm Norris 306
Dec 6, 11:59pm28 (includes Thanksgiving)

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, do one of the following:

    - Copy the file project0-yourpid.tgz to your local machine and submit it 
      to the curator.

    - Use the Windows 'Remote Desktop' utility to log on to 'rlogin.cs.vt.edu'. 
      You can access your files on the Z drive. Log on to curator from the 
      remote machine and submit your project0-yourpid.tgz file.
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.

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

Due Sep 3, 2006 by 11:59pm:

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

Due Monday, Sep 25, 2006 by 11:59pm:

Slides from Project 1 Help Session (Sep 5/6) (ppt pdf)

Project 2: Multiprogramming

Due Tuesday, Oct 17, 2006 by 11:59pm:

Slides from Project 2 Help Session (Sep 27/28) (ppt pdf)

Project 3: Virtual Memory

The design milestone is due Oct 26, 2006 by 11:59pm (no extensions.)

Due Wednesday, Nov 8, 2006 by 11:59pm:

Slides from Project 3 Help Session (Oct 19/23) (ppt pdf)

Project 4: File Systems

Due Wednesday, Dec 6, 2006 by 11:59pm:

Slides from Project 4 Help Session (Nov 9/13) (ppt pdf)


Since first uploading the code and documentation on Aug 20, the following changes were made: