首页 > > 详细

辅导COSC2452-Assignment 3辅导Java编程

,School of Science 
COSC2452 Introduction To Programming (OUA) 
Assignment 3 (v.2020.05.04) 
Assessment Type: Individual assignment; no group or collaborative work. Submit online via 
Canvas→Assignments→Assignment 3. Marks awarded for meeting requirements as closely as possible. 
Clarifications/updates/permissions may be made via Gayan’s announcements/relevant discussion forum by Gayan. For 
consistency, your tutors can only help you with general programming concepts covered in the course. 
Due date: Deadlines will not be advanced but they may be extended. Please check Canvas→Assignments→Assignment 3 
for the most up to date information. 
As this is a major assignment in which you demonstrate your understanding, a university standard late penalty of 10% per 
each working day applies for up to 5 working days late (submissions will not be accepted afterwards), unless special 
consideration has been granted. 
All new extensions must be applied for directly via RMIT Special Consideration. 
Weighting: 25 marks (excluding bonus marks) 
1. Overview 
There is no book containing the music to every song that will be written. There is no book containing the answers to every 
mathematical calculation that we will need to perform. Similarly, there is no book, set of lecture slides, video, etc. that will give a 
programmer (you) the solutions to every programming problem. A programmer is able to take fundamental programming concepts 
and, with the experience they have gained from analysis, evaluation and problem solving, put them together to solve new problems. 
A programmer is also a developer who can plan, minimise risks, iteratively develop, test and deliver programs to a “client”. As a part 
of this, a programmer should be able to show snapshots of the various stages of the development. The snapshot should be a 
runnable Java program that does not need to have all of the features that will be there in the final version of the program. 
For this assignment, assume that you are a freelance programmer creating a small tool or a utility program of your own choosing to 
add to your portfolio of simple Java applications. With this project you aim to demonstrate to potential employers or clients how 
you can: 
1. Create a small tool or utility program using (exclusively) a limited set of fundamental code concepts 
2. You are able to analyse and evaluate your implementations against possible alternatives in your code documentation. 
Note: You must not just “throw in the concepts” to your program just because they need to be there; it should be clear from the 
code why a certain concept should be there and you must further explain these through your comments. You will also need debug 
your code on your own and document any issues, etc. There must be two versions of your code (detailed further below). You are 
given marks on your ability to fulfill all requirements of this document. 
If there are questions, you must ask via the Canvas→Discussions→Discussions→Assignment 3 discussion forums in a general 
manner (replicate your problem in a different context in isolation before posting). 
2. Assessment Criteria 
This assessment will determine your ability to: 
1. Follow coding, convention and behavioral requirements provided in this document and in the lessons. 
2. Independently solve a problem by using programming concepts taught over the first several weeks of the course. 
3. Write and debug Java code independently. 
4. Document code. 
5. Ability to provide references where due. 
Page 1 of 4 
,6. Meeting deadlines. 
7. Seeking clarification from your “supervisor” (instructor) when needed via discussion forums. 
8. Create a program by recalling concepts taught in class, understanding and applying concepts relevant to solution, analysing 
components of the problem, evaluating different approaches. 
3. Learning Outcomes 
This assessment is relevant to the following Learning Outcomes: 
1. Demonstrate knowledge of basic concepts, syntax and control structures in programming 
2. Devise solutions to simple computing problems under specific requirements 
3. Encode the devised solutions into computer programs and test the programs on a computer 
4. Demonstrate understanding of standard coding conventions and ethical considerations in programming. 
4. Assessment details 
Note: Please ensure that you have read sections 1-3 of this document before going further. Also listen to the explanation given in 
the 04/May/2020 Monday lecture. 
Your code must meet the following code and documentation (CD) requirements. You may take the application from your 
Assignment 2 and modify it to fit the requirements below. Alternatively, you can develop a complete different idea to meet the 
requirements of Assignment 3. 
In places where this specification may not tell you how exactly you should implement a certain feature, the programmer (you) need 
to use your judgment to choose and apply the most appropriate concepts from class materials. Follow answers given by your 
“client” or “supervisor” (your coordinating instructor) under Canvas→Discussions→’Assignment 3’ when in doubt. 
4.1) Demonstrate the following Java code concepts to create a functionally cohesive program of our own choosing and 
document justifications of your implementation against possible alternative implementations. 
CD1) Multi-class object oriented relationships and code format. [10 marks] 
CD2) Object member variables (including arrays). [3 marks] 
CD3) Constructors. [3 marks] 
CD4) Accessors, mutators and other methods. [3 marks] 
CD5) File reading and writing. [3 marks] 
CD6) Conditional execution and repetition. [3 marks] 
Notes: Refer to rubric in section 9 for full details. Ask via Canvas→Discussions→Assignment 3 when in doubt. 
4.2) Bonus requirements 
You can attempt either B1, B2 or both but to obtain any bonus marks, you must meet all requirements of the 
non-bonus/standard requirements. The total mark for assignments+weekly work is capped; The online test will always be 15 
marks out of your final mark). For a full break-down, see Canvas→Announcements->Assessment Changes in Intro To 
Programming OUA. 
B1. If you make your submission 1 day before the standard deadline, receive +0.1 mark, or 2 days early for +0.2 marks, etc. 
B2. Include a PDF “user guide” with screenshots of your program and instructions how to use it (+2 bonus marks). 
5. Referencing guidelines 
What: This is an individual assignment and all submitted contents must be your own. If you have used sources of information other 
than the contents directly under Canvas→Modules, you must give acknowledge the sources and give references using IEEE style. 
Where: Add a code comment near the work to be referenced and include the reference in the IEEE style. 
Page 2 of 4 
,How: To generate a valid IEEE style reference, please use the citethisforme tool if unfamiliar with this style. Add the detailed 
reference before any relevant code (within code comments). 
6. Submission format 
Submit just the relevant .java files and any required .csv/.txt data files via Canvas→Assignments→Assignment 3. It is the 
responsibility of the student to correctly submit their files. Please verify that your submission is correctly submitted by downloading 
what you have submitted to see if the files include the correct contents. 
7. Academic integrity and plagiarism (standard warning) 
Academic integrity is about honest presentation of your academic work. It means acknowledging the work of others while 
developing your own insights, knowledge and ideas. You should take extreme care that you have: 
 Acknowledged words, data, diagrams, models, frameworks and/or ideas of others you have quoted (i.e. directly copied), 
summarised, paraphrased, discussed or mentioned in your assessment through the appropriate referencing methods, 
 Provided a reference list of the publication details so your reader can locate the source if necessary. This includes material 
taken from Internet sites. 
If you do not acknowledge the sources of your material, you may be accused of plagiarism because you have passed off the work 
and ideas of another person without appropriate referencing, as if they were your own. 
RMIT University treats plagiarism as a very serious offence constituting misconduct. Plagiarism covers a variety of inappropriate 
behaviours, including: 
 Failure to properly document a source 
 Copyright material from the internet or databases 
 Collusion between students 
For further information on our policies and procedures, please refer to the University website. 
8. Assessment declaration 
When you submit work electronically, you agree to the assessment declaration. 
Page 3 of 4 
,9. Rubric/assessment criteria for marking 
Code must be valid, runnable Java to be given a mark (non-compilable code such as JavaScript, pseudocode, incomplete Java code cannot be marked). Run-time errors will incur up to a 50% penalty 
(run-time errors due to data type mismatches in inputs are acceptable). 
Inadequate Partial Complete 
All code blocks and member variable declarations must have documentation that compares against alternative implementations. Also, marks will not be awarded if concepts are “thrown 
in” to make a program that is not functionally cohesive. Must exclusively use approaches taught in Canvas→Modules and lectures (Monday night) when using the concepts below. 
CD1 
Justifications and 
comparisons of 
alternative 
implementations not 
discussed in relevant 
places or not present 
or not presented 
along with relevant 
code. 
OR 
Code requirements 
present but program 
does not have a 
cohesive functional 
aim. 
OR 
Uses concepts not 
covered in class 
materials. 
Justifications and 
comparisons of 
alternative 
implementations present 
and code concepts 
demonstrated as a part of 
meeting overall functional 
aims of the program but 
one or more code 
requirements 
missing/incomplete/incor 
rect. 
• Has at least 2 classes with one class per .java file. 
• The classes must be in 0-to-many or 1-to-many composition (“has-a”) relationships between each other using object member arrays of class types created by student. 
• The sizes of the above arrays vary at run-time and they must be manipulated exclusively using while loops. 
• All identifiers and names are appropriate to their purpose (e.g. no names like Assignment3.java); Follows conventions shown in IIE solution lectures, other standard class 
materials and common ones in the Java API. 
• Only one of the classes (the “application” class) must have the main method and the main method should have only one line to create an object of the main application class (as 
shown in IIE solution lectures). 
• Uses GTerm exclusively for user interactions (excluding file I/O). 
• Uses GTerm components textfields/textareas, button(s), list(s). 
• Formatting is consistent. Documentation comments start on the line before the documented block/statement (e.g. not in-line comments). 
• Only relevant, reachable code+comments included. 
• Does not use break, continue, System.exit or similar branching anywhere in the code does not return from the middle of methods. 
CD2 • Each class has object member variables (including arrays) that are explicitly private and non-static. 
• Demonstrates understanding of primitive data types vs. class types where relevant. 
• Whenever a method refers to a member variable, it uses this. (i.e. “this dot”, e.g. this.name). 
CD3 • Each class has one constructor. 
• Must take parameters for minimum information required for creating an object of that class. 
• All member variables, arrays, etc. are explicitly initialised in the constructors (e.g. there are no equal signs where member variables are declared). 
CD4 • One or more classes have methods that return values (e.g. accessor/get methods); One or more classes have methods that take parameters (e.g. mutator/set methods). 
• There are also other methods that are not simple get/set type methods that perform actions relevant to the classes that contain them (e.g. in order to reduce repetition of code). 
• All methods are explicitly public and non-static. 
CD5 • Uses only BufferedReader+FileReader when reading. 
• Uses only BufferedWriter+FileWriter when writing. 
• Uses only .txt or .csv files and these are placed in the default/current folder (paths do not contain folder/directory names). 
CD6 • Uses if/else/else if appropriately and exclusively for non-repeating conditional execution and at least one reachable else if statement. 
• Uses while-loops appropriately and exclusively for repetition. Loop condition describes all situations under which the loop will repeat and condition fails eventually. 
• Conditions do not include tautologies. Pathways are not redundant. Every code block in every if/else/else if/while structure is reachable. 
 
联系我们
  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp
热点标签

联系我们 - QQ: 99515681 微信:codinghelp
程序辅导网!