Assignment Part A: Robot Simulation
Assessment Type: Individual assignment; no group work. Submit online via Canvas?Assignments?Assignment Part A.
Marks are awarded for meeting requirements as closely as possible according to section 2 and the supplied rubric.
Clarifications/updates may be made via announcements/relevant discussion forums.
Due date: Due 06:00 PM Fri. 13th September 2019. Late submissions are handled as per usual RMIT regulations – 10%
deduction (1.5 marks) per day. You are only allowed to have 5 late days maximum unless special consideration has been
Weighting: 15 marks (15% of your final semester grade)
This specification provides an overview of the problem and supplied code and also specifies the requirements for the Part A
Make sure you CAREFULLY WATCH THE ASSIGNMENT RELATED DEMO VIDEOS on Canvas which show the default startup behaviour
(when no code is added) as well as the correct output of a working solution with a diverse data set (mixed
blockHeights/barHeights arrays). See section Description of the Supplied Videos later in this document for more
Next, don’t panic about the apparent complexity! The code to do the graphical drawing of the robot environment is provided, and
the use and understanding of the supplied interfaces is not required in detail until assignment part B.
The possible operations on the robot are specified by the supplied Robot and RobotMovement interfaces (Robot.java and
RobotMovement.java). Some additional CONSTANTS you should use in your code are specified in the Control.java
2. Assessment Criteria
As well as functional correctness (robot behaviour matches video requirements) you will also be assessed based on the following
code quality requirements:
? Use meaningful / descriptive identifiers (eg variable and method names).
? Demonstrate understanding of local variables versus class attributes and prefer local scope where possible.
? Demonstrate the use of defined constants in Control.java (Rather than using magic numbers)
? Avoid code repetition. (THIS IS THE MOST IMPORTANT ONE!)
? Write small private methods to avoid code other than one or more method calls going in the RobotControl.control()
? Appropriate use of comments (but remember that easily understandable code is better than a comment).
? Include a comment at the top of RobotControl.java class stating your name and student number.
3. Learning Outcomes
This assessment is relevant to the following Learning Outcomes:
This assignment addresses the following learning outcomes from the Course Guide
CLO 1: Solve simple algorithmic computing problems using basic control structures and Object-Oriented Techniques.
CLO 2: Design and implement computer programs based on analysing and modelling requirements.
CLO 3: Identify and apply basic features of an Object-Oriented programming language through the use of standard Java (Java SE)
language constructs and APIs.
CLO 4: Identify and apply good programming style based on established standards, practices and coding guidelines.
CLO 5: Devise and apply strategies to test the developed software.
4. Assessment details
To complete this assignment you will use the supplied eclipse project Robot P1/. It is already set up to execute a simple arm
movement loop which you will build upon to create the full solution.
NOTE: The primary requirements specifications are the supplied videos which show the EXACT behaviour you should reproduce.
However, some points worth noting about the displayed behaviour: