CSC 216/s08/own career: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 92: Line 92:
</tt></blockquote>
</tt></blockquote>
Here is a simple pseudocode structure for the classes:
Here is a simple pseudocode structure for the classes:
</blockquote>
<blockquote style="border: 1px solid black; padding: 6pt; line-spacing: 140%; background-color: #C1CDC1"><tt><pre>
<blockquote style="border: 1px solid black; padding: 6pt; line-spacing: 140%; background-color: #C1CDC1"><tt><pre>
Calculator.java:
Calculator.java:
Line 104: Line 103:
}
}
</pre></tt></blockquote>
</pre></tt></blockquote>
 
<blockquote style="border: 1px solid black; padding: 6pt; line-spacing: 140%; background-color: #C1CDC1"><tt><pre>
Operations.java:
constructor($num1, $num2){
Store $num1, $num2
}
method add(){
return $num1 + $num2
}
</pre></tt></blockquote>
Remember, it should pass the test cases given in the problem above.


First, open Eclipse and make yourself at home.
First, open Eclipse and make yourself at home.

Revision as of 02:29, 27 March 2008

Formatting Conventions

Java Code will look like this.

PseudoCode will look like this.

Commands will look like this.

Tip: Tips will look like this.

A string of menu commands will be marked as follows:
File => Save As

A string of keys will be marked as follows:
[Ctrl]+[Alt]+[Delete]

Instructive Graphics Will appear as follows:

http://d-site.net/stuff/java-wiki/java_logo.gif

Using Eclipse with JUnit for WebCAT

This activity will guide you through basic usage of the Eclipse IDE and JUnit for use with Webcat. Please have a computer available on which you may install Eclipse IDE. Also, please note that the following conventions will be used to draw attention to different parts of the article.

The problem

WebCAT is an software developed by Virginia Tech that allows you to submit your Java programs and have them graded in near-real-time. WebCAT tests your programs using something called JUnit. Eclipse is well integrated with JUnit, and provides an easy to use interface for evaluating your programs with JUnit. The challenge for this activity is to build a simple calculator that would pass the tests on WebCAT which would check the calculator using the following JUnit test cases:

public void testAdd() {
		Operations Calculation = new Operations(2, 2);
		assertEquals(Calculation.add(),4);
	}

public void testAddNegative() {
		Operations Calculation = new Operations(5, -2);
		assertEquals(Calculation.add(),3);
	}

Participation: Setting Up

For this activity, you can work with a partner. Either way, make sure you have a laptop with Eclipse available to you.

It is often useful to install Eclipse onto a Linux environment, because it more closely mirrors the actual testing environment where your code will be compiled. I won't go into details, but in particular, installing Ubuntu Linux, or one of its derivatives such as KUbuntu, is very easy. Note that here, you install JUnit as well.

On a Debian-based Linux such as Ubuntu, installing Eclipse should be as easy as

apt-get update
apt-get install eclipse junit

or

apt-get update
aptitude install eclipse junit

On an RPM based distribution such as Red Hat Linux or Fedora Core

yum install eclipse junit

should do the trick.

You can also install Eclipse graphically through the package manager, such as Synaptic, Adept, or simply what will be marked as "Manage Software","Manage Packages","Add and Remove Programs", or something similar in your menu.

Tip: On pure Debian, GCJ is installed instead of sun-java. Make sure to install sun-java and remove GCJ or Eclipse will not work quite right, and will likely frustrate you a great deal.

Windows and Mac OSX users will likely want to visit http://www.easyeclipse.org/site/home/ and download from there. EasyEclipse is just a pre-packaged version of Eclipse which will save you time and energy in the long run.

You can then install JUnit with the TPTP plugin: http://easyeclipse.org/site/plugins/eclipse-tptp.html


The Activity

We're assuming that your teacher has given you the following directions:

Create a simple calculator that will be graded by WebCAT. You calculator should have two classes, one that serves as a "Driver" and is called "Calculator" The other class will be called "Operations" and will have methods that perform various calculations on two numbers. You should construct a method in Operations.java called add() that takes no input but takes the sum of the numbers created with the instance of the Operations object. add() should return the resulting sum as an integer. The two numbers should be taken in from the command line, and if if no arguments are passed into the program at the time of execution, it should fail elegantly and produce an error. Points will be deducted for not having the appropriate classes, having the add() method inside Calculator.java, or if the program fails to display an error and exit when no command line input is given.the execution command should be formatted as follows:

java Calculator [int1] [int2]

Here is a simple pseudocode structure for the classes:

Calculator.java:
main($arguments){
	if($arguments < 2){
		Exit
	}else(CONTINUE){
		Create Operations Object($arguments) = $result
		Print "The sum is: " $result
	}
}
Operations.java:
constructor($num1, $num2){
	Store $num1, $num2
}
method add(){
	return $num1 + $num2
}

Remember, it should pass the test cases given in the problem above.

First, open Eclipse and make yourself at home.

Eclipse manages the different programs you write as "Projects"

go to File => New => Project... to start a new Java project.

Add a blockquote, (no style), at the top of the activity section