This course will have five significant
programming projects, each of which will consist of various sections. The
programming project descriptions will be available online through this site
and will be discussed during the laboratory sections. Students are also
encouraged to work on the problems after laboratory hours as these hours will
probably be insufficient for completing the project. Laboratory hours are
primarily meant for discussions related to the project and will be supervised
by Teaching Assistants (TAs). The project is to be submitted on the due date
disclosed on the announcements page.
Primer on the programming projects: (Late
submission will not be accepted.)
The programming projects given in this
course will be tightly linked and will each build upon the previous one. The
later project problems will reuse part of the code from earlier problems.
Therefore make sure that your code works before submitting them.
Things to be handed in:
* The source code with the following details as comments: your name ,
date, project title, and e-mail address.
* Highlight any special features of your program that we should look out
The neatness and professionalism of your report does matter. Make it
clear and easy to read.
When submitting your project, you do not need to submit the .class
files. You should also not submit the source code for any classes we
provide. Unless a project explicitly says so,
just submit the source code (.java files) that you have written.
Also, unless a project specifically asks you to do so, do not modify
any Java classes we provide. If you think there's something wrong with
code we provide and can only get your code to work by "fixing"
classes, you're probably going to end with a very low score for the
project. If you really think there is a bug in the code, post a
description to the ece242-ta mailing list and a TA or instructor
We're not going to enforce any particular style,
such as always indenting four spaces, but you should use some
consistent style. Only 50% of your grade is based on the program doing
what we asked. The rest of the points are for doing the task clearly
As for documentation, we're asking that you use Javadoc
classes, methods, and class variables/fields. Here's a template
illustrating what we
expect. It will also be explained in discussion. Once you are working
in pairs on your projects, it's very important that your project have
'@author' tags for each person in the team, listing name and student
* This class prints out a random number whenever it is run. It's one of the
simplest Java programs you can write.
* * @author Russ Tessier -- 87654321
public class Sample
/** Contains the random number generator that we'll be
private Random rnd;
* Default constructor for a Sample object. Simply
creates the instance of
* java.util.Random that we
use to create the random numbers.
rnd = new Random();
/** Generate a random number. This will generate a random
* 0 to 'max'.
* @param max The upper limit
of the range
* @return A random number from 0 to 'max'
public int getRandom(int max)