Projects

Project 1 Due Feb 14 , 2008  11 PM Project 1 Solutions
Project 2 Due Feb 28, 2008 11 PM Project 2 Solutions

Decoder.java Gates.java Circuits.java

Project 3 Due Mar 27 2008 11 PM Project 3 Solution

CompanyStockSolution.java

Project3DriverSolution

Project 4 Due April 10 2008 11 PM Project 4 Solution

Memory.java

Project 5 Due April 24 11 PM Project 5 Solution

AdvancedTrigCalculatorSolution.java

BasicCalculatorSolution.java

MonomialSolverSolution.java

NthRootSolverSolution.java

PolynomialSolverSolution.java

TrigCalculatorSolution.java

Project5DriverSolution.java

Project 6 Due  May 11 at 11 PM  

Calculator.java

General.java

Produce.java

Register.java

 

 

Project Description


Project Policy:

This course will have six small 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 for.

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.

Note that if your project doesn't compile, you get a zero for the
project! Make sure you hand in the proper files and have not made any
untried last minute changes.
 
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" our
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 ece122-ta mailing list and a TA or instructor
will investigate.

Check out Appendix F of Lewis & Loftus for a discussion of coding and
documentation styles. 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
and comprehensibly.

As for documentation, we're asking that you use Javadoc for all
classes, methods, and class variables/fields. This is explained rather
poorly in Appendix I, but 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
number.

import java.util.Random;
/**
* 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 calling.*/
    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.
     */
    public Sample()
    {
      rnd = new Random();
    }
   
    /** Generate a random number. This will generate a random number from
     * 0 to 'max'.
     * @param max The upper limit of the range
     * @return A random number from 0 to 'max'
     */
    public int getRandom(int max)
    {
      return rnd.nextInt(max);
    }

}

 

 


 
  •