Today : Tue, 15 Oct 19 .


CS 537 - Operating Systems - Spring 2013


HomePage Discussion Moodle Instructors Schedule Lectures Sections Readings Homeworks

Projects

edit SideBar

Projects

Page: PmWiki.Projects - Last Modified : Tue, 14 May 13

Welcome to the 537 Project page

Introduction

We will be using C for projects, because that is the language used to implement operating systems. The first two projects will be done individually, and following projects will be done in groups.

There will be six projects. For each one, you will submit code and a make file for compiling the code. In addition, you will be responsible for turning in a writeup a day after the coded is due.

Projects may be done on any machine you wish. However, we will test them on the machines in the labs, so you must make sure the execute correctly on those machines.

You will submit projects by coping them to a handin directory under the course directory. Projects will all be due at 9 pm, and we will disable write permissions to the directory at that time to prevent late submissions.

Supplemental Resources

If you are interested in mastering the Unix programming environment, the absolute bible (or so I've heard) is Advanced Programming in the UNIX Environment by the late, great W. Richard Stevens.

  • Here is a short, free, and incomplete overview of the C programming environment by Andrea Arpaci-Dusseau as a PDF.
  • It would also be useful to figure out how to use the debugger, gdb. Here is a link to a short tutorial -- there are others on the web too. Learning how to use such tools is a good idea.
  • A source code control system such as Subversion can help manage your code. Here is a tutorial on subversion.
  • A `Quick Start Guide' to Valgrind, a very useful and easy-to-use memory-bug checker. You can download Valgrind here and build it yourself for Linux and MacOS.
  • A (bit old) manual for Purify, available on workstations in 13xx labs.
  • Advice on Debugging
  • VIM Tutorial
  • Unix/Linux/C programming tutorials

Regrades

Projects are often graded using automated tests; a small bug in your program may cause many tests to fail. If you believe your code was incorrectly graded, you may fix your code and submit a fixed version for regrading. This is not an opportunity to do the project again for a new grade, but rather an opportunity to show how close the code you submitted originally was to working correctly.

Your grade will be based on (1) whether the fixed version passes the tests, and (2) how much code had to change. If you changed a single line, there is only small deduction. If you changed the whole program, there will be very little additional credit.

On the last project of the semester, there will be no regrades due to lack of time. For other projects, regrades can be submitted within 2 weeks of when the project was originally due at no extra deduction. Regrades submitted later than that will be deducted 10 points per week over 2 weeks (rounding up). No regrades will be accepted during the last week of classes.

This page may have a more recent version on pmwiki.org: PmWiki:Projects, and a talk page: PmWiki:Projects-Talk.


Powered by PmWiki
Skin by CarlosAB

looks borrowed from http://haran.freeshell.org/oswd/sinorca
More skins here