Some examples/comments about the Computer Graphics Assignment 1

Andrew Blyton U3168958

Various Trees

Chris Dat u4039020

Daniel Fitzgerald u3213056

MyMy Nguyen u9811466

Emma Walker u3164807

Various GUI

Russell de Vries u3166459

Ian Sainsbery u9915822


Lukas Tan U9916089

Michael Williams U4027811

 

Daniel Figucio U3947835

 

NB about that painful bugs...

When I describe the process I use to test a project, you should at least check this process yourself...

(10) The compile classes should be available at the root of your directory. During the marking process, I may :
* unjar your jar file (jar xvf...)
* cd into your directory (all the file should be in your directory or in subdirectories and should not mess with my working directory !)
* run 'java Assignment 5 10'
* del *.class
* javac *.java
Here is how I procede to test your assignment (at least the first
steps of the process :
- I drag and drop your file from my Mail client to the directory in
which all the the other assignents are (ie all the jar are in the
same directory)
- jar xvf CG_A1_02_UyourID.jar
I hope that you understand that I don't expect your jar file to
explose into this directory, but into a subdirectory (or else, It
will put me in bad mood) !
- cd CG_A1_02_UyourID
(that is the famous previous subdirectory)
- java Assignment
This simple command should work well...
Except if you had fun with packages...
packages are important and should be used when needed (as
often as possible). Your Assignment class will certainly use
some packages ("import" statement) from the standart API or
from yourself... BUT I don't think there is really any use in putting
your Assignment class into a package ("package" statement).
That class is not supposed to be used by anything else in your
jar file. The only side effect is that my testing protocole will be
suddently stopped and I will have to look into your code in order
to check what special prefix I will have to add and from where in
the directory structure I will have to call that class with
somethikng like...
java that.is.quite.a.strange.name.for.a.package.Assignement
And I guess at that time I could get in bad mood too...
- java Assignment 5 10
and then they are still lots of funny things that you don't want to
know... and then
- webbrowser README.html
At that point I am ready to look at your README file... which of
course will be at the root of your subdirectory (you don't want me
to search in all your subsubsubdirectories in oder to find the
explanation about where I should look for the explanation about
where I should look for the explanation.....
One last thing : your program will be tested under Unix (either
Linux or MacOSX) with a standart java version "1.3.1"

It could be a good thing to check your program on one of these
plateform before you send it to me... I am not rich enough to buy
45 different plateforms and you all have access to DCS or
escience lab.

Catch the exceptions

Everytime you have to deal with any sort of input you should catch the exeptions, because you'll never be able to entirely planify what could the user do

When you catch an exception...

Take the opportunity to provide the user with a short manual (list of parameter, accepted range...)

What a real user would do with my program ?

It is not the same to debug a program and to really use it with a purpose.

Use a spell checker !!!

Complete Java Doc... : must include private field and methods

Spacing : tab or spaces ?

Anything for the spacing, but... this wont be my choice...

	static void setLowestBranchHeight(float height)    {
	if (height < LOWEST_BRANCH_ALLOWED) {
		firstBranchPosition = LOWEST_BRANCH_ALLOWED;
	} else if (height > HIGHEST_BRANCH_ALLOWED) {
		firstBranchPosition = HIGHEST_BRANCH_ALLOWED;
	} else {
		firstBranchPosition = height;
	}
	}

What about using code that is not yours... different answers...but never hide the truth !!!

What is acceptable ?

You had been asked to do 10, you do 10 and provide additional 2 that you admitidly got from somewhere else to improve the 10

What happens in the real world ?

Best Case senario : Either you negociate some delai with your client, or you explain him that you will buy some work from another compagny and you provide it to your client instead of your work. That fine, but you earn no money at all for yourself !....no Mark !

Next step, You don't tell it to your client and he discovers it by itself. He decides that he could not trust you anymore. You lose all the contract with that client.... and perhaps from other client who will hear that story !

Worst Case : the client did pay twice for the same product (once from you and once from the other company that allows you to reuse there product). He doesn't care about which provider made the mistake. He just get rid of the two of them.

What happens at ANU ?

DCS Student Handbook at http://cs.anu.edu.au/student/index.html

http://www.anu.edu.au/cabs/rules/misconduct.html