In all you do please remember that being a part of CSCI@HSU means DOING THE RIGHT THING.
- Doing the right thing matters.
- Doing the right thing means developing competence.
- Doing the right thing means living in community.
- Doing the right thing means finding moral, effective, and correct solutions.
- Doing the right thing means honoring God in all we do.
So, do this assignment in a way that demonstrates integrity, develops
competence, is correct, and honors God ... because what we do matters!
In completing this assignment you MAY use/access the following resources:
You may NOT use/access:
- Resources not expressly listed above.
- Source code not provided as part of this assignment and not generated
by CoPilot. (Obviously, this includes, but is not limited to, source code
written by other students whether current or in the past).
- Code-generating tools (other than CoPilot).
Failure to abide by these guidelines will result in a zero for the assignment
and the incident will be reported to the university provost as a violation of
the university academic integrity policy. A second incident of academic
dishonesty (whether from this course or another computer science course) will
result in an F in the course.
The instructions for the assignment are given here: https://youtu.be/0YK2y4_Ypik
After watching the video, create a hand-written UML diagram. Take a picture of
it for your records and give the physical document to the instructor on the day
the assignment is given (NOT the due date).
The input is an adjacency matrix which is interpreted in the video. This is what the network1.txt input file looks like:
6 0
0 0 0 250 190 52
0 0 39 0 0 85
0 39 0 0 133 0
250 0 0 0 0 155
190 0 133 0 0 0
52 85 0 155 0 0
As explained in the video your output needs to in dot format. Below is the output of my program for the input file above. You may find it helpful to paste this code in to the online dot editor at https://edotor.net/ to get a feel for what the various commands do. You will need to produce your output in this format. Again, details of the requirements are given in the video.
graph solution {
node [shape="circle", fontsize="6", width="0.6", fixedsize="true"];
R0 [label="R0\n0 ms", shape="doublecircle"];
R1 [label="R1\n137 ms"];
R2 [label="R2\n176 ms"];
R3 [label="R3\n207 ms"];
R4 [label="R4\n190 ms"];
R5 [label="R5\n52 ms"];
R0--R3 [style="dotted"];
R0--R4 [style="bold"];
R0--R5 [style="bold"];
R1--R2 [style="bold"];
R1--R5 [style="bold"];
R2--R4 [style="dotted"];
R3--R5 [style="bold"];
}
Prior to the due date you will push your completed work to your repository where
it will be graded. Your program will be graded according the following
criteria:
OOP Design |
5 |
pts |
Correctness/Completeness |
20 |
pts |
Documentation/Conventions |
3 |
pts |
Unit Tests |
6 |
pts |
Version Control |
2 |
pts |
Total |
36 |
pts |
Here are details regarding expectations for each category listed above:
- OOP Design
- Full credit is earned if the design is presented in the correct format, on-time, follows OOP design principles, and does not require substantial modification to be implemented.
The design should be hand-drawn, should use customary UML notation
(including types and showing inheritance) and must be physically turned
in (email submissions will not be accepted). The design is due by noon on
Thursday, Nov 2 at noon.
- Correctness/Completeness
- Full credit is earned if the program meets all requirements and if it works correctly without any needed tweaks or modifications.
- Documentation/Conventions
- Full credit is earned if all classes and methods are documented using JavaDoc format and if Java programming conventions are followed. The specific guidelines can be found here: https://hsutx.instructure.com/files/folder/courses_13381?preview=3026424
- Unit Tests
- Full credit is given if every major section of code is covered by unit tests that provide excellent coverage of the functionality of the the program. This may require some refactoring of your code to allow for programmatic measurement of its components.
- Version Control
- Full credit is given if there are a reasonable number of commits throughout the assignment (one commit is not enough) and if those commits have been pushed to your bitbucket account prior to the due date.