CS333 Project: Third Handout

Sun Apr 16 11:26:08 EDT 2000

This page describes in more detail the requirements for Demo Days on May 3-5, what you have to submit for your project by Dean's Date, May 9, and how grading will be done.

        April 2000               May 2000
    S  M Tu  W Th  F  S     S  M Tu  W Th  F  S        
                      1        1  2  3  4  5  6
    2  3  4  5  6  7  8     7  8  9 10 11 12 13
    9 10 11 12 13 14 15    14 15 16 17 18 19 20
   16 17 18 19 20 21 22    21 22 23 24 25 26 27
   23 24 25 26 27 28 29    28 29 30 31
   30                      


Remaining stages

  • April 21: Second prototype. An "almost working" version of the core functionality of your project, to be demoed for your TA.

  • April 28: Beta test. Your code should largely work, all intended features should be installed and working, drafts of written material and web page should be done.


    May 3-5: Demo days.

    Project demos will happen May 3-5, in the CS building in room 301. Each team will give a brief (30 minutes) quasi-public presentation of their work before a panel of the course instructors; other groups are strongly encouraged to attend, for instruction and moral support.

    You can divide up the presentation responsibilities any way you like; there is no need for everyone to speak, but all team members must attend.

    These demos will determine a significant portion of your grade and as such you (and we) want them to go as smoothly as possible. In order to assure this, we'd like you to start thinking about your demos now. Picture your demo as a trade show demonstration that will make or break your "company" -- think of the TA panel as a group of skeptical-but-hopeful potential customers. You'll be on the spot in a foreign place, with an audience.

    What kind of hardware will you require? Do you need Internet connectivity? How many connections? What operating systems? Probably the best solution is to install your project on a laptop that one of your group members owns. (This is a good chance to check out your installation procedure.) We can supply a projector-type display. If you require Internet connectivity, then you need to register with CIT and also CS staff to get mobile IP set up for your laptop. We can hopefully provide some more details on this soon. Room 301 should be available for dry-run testing a few days before the demos.

    If using your own laptop is not feasible, please let your TA know as soon as possible what exact hardware you will require. We can probably supply a PC running Windows and/or Linux, with an Internet connection, but we will need lead time to make sure everything works.

    Once we have everyone's resource requirements, we'll set up a signup mechanism and slot the groups into a demo schedule. Please have your demo hardware requirements back to the TAs by Friday, April 21.

    No matter what you plan to use for your demo, you should still be able to present if something breaks. Murphy's Law applies to all of us: bring along some transparencies that you can use in an emergency.


    May 9 (Dean's date): Final submission

    Everything must be done and handed in by 5PM on this date, without exception.

    Your final submission has to include your code, installation procedure, a web page that would induce others to use your system, an internals document describing the implementation, and a report on how things worked out and what you learned.

    Here is what you should do (subject to minor refinements over the next couple of weeks):

    Submission directory: Make a single directory for submission if you are not already working in a single directory. Be sure that your code is complete and still works when it is copied to the submission directory. We will be assessing your software somewhere else, so be sure to include all necessary files and remove all absolute file names.

    Documentation: The documentation must include the following:

    All documentation must be in simple HTML, GIF and JPEG that works with Netscape 4.5. It should be written in good English prose, free of spelling and grammar errors. It should be thorough but not exhaustive; the total submitted documentation should not exceed 15 printed pages.

    Installation: If your code is meant to run on Unix or Linux, it should include a makefile such that the command make will make the system in the current directory. The command make clean should remove all temporary junk, like object files and executables.

    If your system is meant to run on Windows, you can include a self-installing executable or a zip file that contains all the necessary files, along with any project files for the compiler you used.

    In either case, if your system relies on the existence of major components like a compiler, a debugger, a source-code control system, or the like, these must be noted in the installation instructions, along with your best guess about how to get copies. You do not need to include them!

    You should test your installation procedure just as you test your system, and you should inflict it on others if possible.


    Grading

    (This part is definitely subject to fiddling.) The project is worth about 2/3 of the overall grade. Every team member gets the same project grade except for a small discretionary component to be described later.

    The project grade will be derived from considerations like these: