MITS4002 Major Assignment - 2023S3
MITS4002 Major Assignment - 2023S3
Member 2 ID/Name:
Member 3 ID/Name:
Member 4 ID/Name:
Member 5 ID/Name:
Member 6 ID/Name:
MITS4002
OBJECT-ORIENTED SOFTWARE
DEVELOPMENT
Major Assignment (30%)
Robocode and NoCode Report
Due date: Week 12
You will be marked based on your submitted zipped file on Moodle. You are
most welcome to check your file with your lab tutor before your submission.
No excuse will be accepted due to file corruption, absence from lecture or lab
classes where details of lab requirements may be given.
Please make sure that you attend Lecture EVERY WEEK as low
attendance may result in academic penalty or failure of this unit.
MITS4002 Major Assignment
This assessment item relates to the unit learning outcomes as in the unit descriptors.
LO1 Demonstrate understanding of classes, constructors, objects, data types and instantiation;
Convert data types using wrapper methods and objects.
LO2 Independently analyse customer requirements and design object-oriented programs using
scope, inheritance, and other design techniques; Create classes and objects that access
variables and modifier keywords. Develop methods using parameters and return values.
LO4 Create object hierarchies using additional utility methods, application programming
interfaces (API) and interfaces, in conjunction with existing classes and objects.
LO5 Demonstrate usage of collection to access data structures effectively and compose full-
fledged object-oriented applications.
LO6 Extend the on object-oriented concepts and design patterns introduced in lectures to carry
out further research on a chosen object-oriented design pattern or emerging recent
programming languages.
. Page 2
MITS4002 Major Assignment
Problem Description
This project is based on the design, and implementation in Java of a RoboCode (A) and a report
of NoCode (B).
A. Java Code: Your group creates customize robots, test and deploy them in Robocode.
B. Video:
a. 2-3 min Explain your code and where your or other parts of Robocode that uses at
least two of the following: inheritance, polymorphism, interfaces, encapsulation.
Explain if that is the best use or whether another technique should be used and
why. e.g. Should inheritance be use instead of interfaces in your code and why?
(Note: When you start working – the major of the time you will be adding to
someone else’s code – learn to read it and use it).
b. Run a 1-2 minute game play. Want to see your robot running around.
C. One of the emerging programming languages that has gained significant popularity in
recent years is NoCode. You are tasked to explore and write a 500-word report about it.
Attach your report to the same Word document using appropriate heading sections.
e.g. Watch tutorials and discuss how to use it and will it ever completely replace
programming languages such as Java? Why? Useful link:
https://www.nocode.tech/tutorial-directory?difficulty=Beginners
Hints:
Assume you install robocode in c:\robocode
You can compile via the command line such as: (compiles your TrackBot class and your
robot StudentID class).
javaac -classpath c:\robocode\robocode.jar TrackBot.java
javaac -classpath c:\robocode\robocode.jar studentID.java
. Page 3
MITS4002 Major Assignment
You may need to include a package to compile (same name as your folder, e.g. td is the name of
your folder) add the following to the start of your code:
package td;
(change directories to that parent directory of td, td the folder where your source code is)
javaac -classpath c:\robocode\robocode.jar td\TrackBot.java
javaac -classpath c:\robocode\robocode.jar td\studentID.java
Useful Links.
There are plenty of youtube videos, websites dedicated to Robocode, here are a few:
https://robowiki.net/wiki/Robocode/Download_And_Install (install in C:\)
https://robowiki.net/wiki/Robocode/NetBeans/Configure (setup Netbeans)
https://robowiki.net/wiki/Robocode/My_First_Robot (Create your first robot)
https://robowiki.net/wiki/Robocode/Getting_Started (Play the game)
. Page 4
MITS4002 Major Assignment
. Page 5