next up previous
Up: APS105 Home

APS105 - Computer Fundamentals Project

Objective:  To do something interesting.

Fall 2000

Printable Copy (PDF)

 

1. Overview

You must produce a proposal for an interesting program, implement that proposal, and write a report on the exerience. The program should be of reasonable size, at least 300 lines of code, and not more than 2000 lines, including comments. The intent is for you to write something that is roughly comparable in length and difficulty to lab 4 (Checkers), except now you must design and implement the entire project.

2. Week 0, Topic Reservation

A number of ideas for topics will be shown on the following web page:

http://www.ecf.utoronto.ca/~aps105w/Project
You may either choose from among these ideas or produce your own idea. The choice of topic is up to you; however you should think carefully what you are trying to do and perhaps discuss the project with a TA. You must be careful that you don't do too much or too little work. Be reasonable and stay within your limits. It is often very difficult to judge the amount of work required for a particular idea, so a TA will help you make this judgement.

3. Week 1, Proposal and Review -- 10 Marks

For your first project lab period on November 21, you must submit a written proposal that outlines what you plan to do. The proposal should have sufficient detail to identify the problem and show that you know how to solve it. It should look very similar to any of the lab writeups you have been given so far, except that you can give away the answers too. It may include pseudocode, API specifications, descriptions of the main data structures used (arrays, linked lists, objects), diagrams, flowcharts, or drawings. Up to two marks each will be awarded for:

This proposal must be on the form provided, using only one side of a single page. You may print this form once, then feed it through your printer again at home or very neatly handwrite your proposal.

4. Week 2, Checkpoint - 0 Marks

During the November 28 lab, you should have made significant progress on your project. The TAs will be available to answer questions and help you with technical problems. You should attend your own scheduled lab time, but you may also attend the other lab times if you need a lot of help (10-noon, 2-4pm, 5-7pm).

Use the principles of software engineering (re-read Lab 4) to help you make forward progress. It is far better to demonstrate a simplified, working program than to demonstrate a complex one that does not even compile. You may have to begin cutting back on your plans if you don't think you will complete your project in time.

5. Week 3, D-day - 20 Marks

December 5 is Demo Day, so you should be prepared to demonstrate your working project at any time during your lab.

You will get up to 5 marks (maximum of 20) for each of the following categories:

These category marks work like a thermometer, in that you must get all 5 marks in the previous category to be elegible to get any marks in the next one. For example, you must get all 5 R marks to get any T marks. However, missing one or two small corner cases won't prevent you from getting all 5 R marks - this category is intended to help students who have trouble getting their whole project working.

The TA may assign the O (oustanding) marks to your project after the lab is over.

After your demo, you should submit your source code. You may make small bug fixes and improvements, but these changes will not influence your demo grade (it will merely allow the report marking TA to run your program easier). The deadline for submission is 11:59pm Wednesday December 6. You must submit all files required to compile and run your program. You should also submit any special instructions (eg: how to run your program -- using java, appletviewer or a web browser, etc) in a file named `README'. For example:

computer.ecf% submitaps105f 9 README Project1.java Project2.java picture.jpg Project.html

6. Final Report - 20 Marks

You are expected to write a final report based on your experience. You should describe what you planned to do, what you did and why it was interesting, worthwhile, and/or provided a good learning experience.

On the front of your report, you must place a standard Grading Form you will be given. The Grading Form must be clearly visible when your report is closed. For example, you may use a clear, transparent report cover or a simple staple to bind the report.

http://www.ecf.utoronto.ca/~aps105w/labs/project/grading.pdf

The total length of your report should be no more than 1500 words. Include any tables, diagrams and pseudocode needed to illustrate your work (do not include them in the word count). Shorter is OK, as long as you feel you've said what needs to be said. Your report should have five sections and an appendix, as described below:

1.
Cover Page. The Grading Form, followed by your completed proposal. The TA will return your proposal during the demo.
2.
Introduction and Motivation. What you're doing and why it is interesting, worthwhile, and/or provides a good learning experience.

3.
Design. Describe how your programs works, the major methods and their goal, and how they interact.

4.
Shortcomings. Describe any known bugs, errors, or omissions in your program. Like all scientific work, it is your duty to be honest. You will not have marks deducted for honesty.

5.
Conclusions. Summarize your project in a few words, and say what you would do differently if you were going to do it all over again.

6.
Appendix. A printed copy of your code, including comments.

While marking your report, the TA marking your project may find it necessary to adjust your proposal and demo grades (either up or down). This is done to ensure fairness in marking and catch things that may have been missed by the other TAs. The report will be marked out of 20, with four marks each for:


next up previous
Up: APS105 Home
Guy G. Lemieux
2000-11-29