HW4 Advice

I have looked at my solution. Here is a rough estimate as to the time I think it would take you to complete the similar assignment:

Lines of Code Class Comments Time (HH:MM)
85 PeriodicTable Already provided for you. You can take the Professor's solution from HW3 or use your own. These two Classes will not be graded 0:00
189 Element   0:00
       
50 ElementNode Core classes for this assignment. Listed here in estimated order of difficulty 0:30
45 MoleculeNode   0:30
112 Molecule   2:00
129 MoleculeList   2:00
103 Equation   3:00
       
149 MoleculeTest   1:00
35 EquationTest   0:30
150* MoleculeListTest not yet written. Estimated size 1:00
35* MoleculeNodeTest not yet written. Estimated size 0:30
       
439   TOTAL lines of code (Estimated) 8 hours
369   TOTAL lines of test cases (Estimated) 3 hours

 

HW4 Grading Sheet

The TA/SAs grading your assignments will be using this form to tally your results. This will clearly explain to you what is being expected of you.

Question Points Actual Description Notes
1.

25 pts.
+4   Proper documentation, for class and individual methods  
+2   toString working properly  
+2   constructors working properly  
+2   hashCode and isEmpty  
+2   getMass working properly  
+3   Equals working properly  
+5   Add properly functioning  
+5   Remove properly functioning  
2.

30 pts.

+4   Proper documentation, for class and individual methods  
+3   MoleculeList constructors working properly  
+3   MoleculeList.toString properly working  
+3   MoleculeList.equals properly functioning  
+2   MoleculeNode properly defined, constructors, toString().  
+2   ElementNode properly defined, constructors, toString()  
+4   MoleculeList.add properly functioning for independent molecules not already in the list  
+4   MoleculeList.add properly functioning for molecules that are already in the list  
+5   MoleculeList.remove properly functioning  
3.

20 pts.

+2   MoleculeList equals tested on equal molecule lists  
+2   MoleculeList equals tested on unequal molecule lists  
+2   MoleculeList add tested on unique molecules  
+2   MoleculeList add tested on duplicate molecules  
+2   MoleculeList remove tested on molecules that appear in the list  
+2   MoleculeList remove tested on molecules that do not appear in the list  
+2   MoleculeList toString method tested on a variety of possible cases  
+2   MoleculeList remove tested when the molecule exists in the moleculeList, but the count of molecules to remove is greater than actuall exist in the list.  
+2   MoleculeNode constructor tested  
+2   MoleculeNode toString() tested  
4.

25 pts.

+4   Proper documentation, for class and individual methods  
+8   Working balance method  
+3   Working equals() method  
+1   Working toString() method  
+4   EquationTest test case for an equation that doesn't balance  
+5   EquationTest test case for an equation that balances  
TOTAL

100 pts.

    I expect this will take you between 9 and 13 hours.  

HW4 Guidelines

To start the coding problems in this assignment, take the following steps:

  1. In eclipse, first create a project named "cs2102homeworks" (Just a suggestion). For all Java classes that you develop for your assignment, they MUST belong to the package:

        <userName>.hw4

    where <userName> is replaced by your CCC id. For example, if I were submitting this assignment, I would use "heineman.hw4". When you request to create a package (using the Eclipse wizard)
     

  2. You must turn-in classes that will not be graded, but are necessary for the execution of this homework. These classes (which you can grab from the Professor's HW3 or you can provide your own) include: Element and PeriodicTable.
     
  3. You must turn-in classes named ElementNode, Molecule, MoleculeNode, MoleculeList, and Equation. For these classes, you will have a JUnit test class, which should be named MoleculeTest, MoleculeNodeTest, MoleculeListTest, and EquationTest. Note: I don't believe you need an ElementNode test.
     
  4. IT IS ESSENTIAL THAT YOU FOLLOW THESE NAMING GUIDELINES BECAUSE THE TAs ARE GOING TO HAVE TO EXECUTE/GRADE/READ 90 ASSIGNMENTS, AND THIS IS THE ONLY WAY TO AUTOMATE THE PROCESS.
     
  5. To submit hw4, first export all files in package "<userName>.hw4" to a zip file. To do this, right click on package "hw4", choose "export...", and in the pop-up window, select "zip file" as the export destination. Name this zip file as "USERNAME-hw4.zip".

    You can verify that your USERNAME-hw4.zip file is properly formatted by opening up the .zip file within WinZip or any program that reads that format. You should see within the .zip file all the Java source files that you created.
     
  6. Use the online turnin system to upload your files for you and your programming partner.

Notes

  1. Points assigned.
  2. Turnin framework done.

© 2006 George T. Heineman