COIT11134 Object Oriented Programming (T1 2020) Assignment 2
Due date: Friday of Week 10 (11:45 pm AEST)
This assignment is designed to assess the following learning outcomes.
Implement object-oriented programs using a modern programming language
Build interactive software applications using Graphical User Interface components
Apply self-designed and existing algorithms in problem solutions
Use complex data structures in software application development
This is an individual assignment.
As part of Assignment 1, you have developed a Java Application for the CQS Solar Power Installers (CQS). CQS has accepted your prototype and has requested you to improve the system by providing the following additional functionalities:
When the system is started, it should load the data from the relevant file(s) and display the details of the installations that have been already entered into the system (there must be three prestored installation and three preinstalled technician in file). This should include Building Address, start date, end date, and installation design.
Display the installations that have been performed by a technician chosen by the user.
Save the data (technicians and installations) in relevant files.
You can continue to develop the Java GUI application that you have created in your Assignment 1. You are also allowed to use the Assignment 1 sample solution that will be released on the Unit web site. If you would like to modify the first part of the application that you have submitted in your Assignment 1, you are free to do so. You can adopt any layout patterns that are suitable for the requirements of the system in this assignment.
Note: During the initial run of your application, your application should read the data from the required file(s). During the subsequent program runs, your application should append all the new data entered by the user into the relevant files.
In order to include these additional changes in the application, you may need to do any or all the following:
develop additional Java classes
extend the existing Java classes that you have developed for your Assignment 1
implement newly created java interface(s)
Implement file reading and writing.
Use search algorithms
Note: If you need to make suitable assumptions for the development of the above Java application, please provide them in the form of comments in the test driver file.
You are encouraged to use any layout pattern to implement the user interface. You may need additional controls such as Command Buttons for ‘Load’, and ‘Save’. You may need to use a ComboBox to display the list of Technicians.
You must submit your assignment using the Moodle online submission system.
You must submit a zip file containing the text file(s)/csv files(s) and all java source code files including the test driver file (any additional library/jar files used if any).
Assignment 2 Marking criteria
Runs without any compilation/ run time errors (2). Displays the controls for additional ‘Display’ or Load and ‘Save’ functionalities (1)
Reads and stores the input data from the relevant files into suitable data structure
Allows to select a technician (1) and displays the details of installations performed by that selected technician (2)
Displays the details of all installations in the subsequent runs
Saves/appends the data into the relevant files
Uses Exception handling and provides appropriate error messages
Student used additional classes and or java interfaces (3); Used best programming practice (comments, indentation, naming and readability) (2)
Less late penalty (5% per calendar day)
Less Plagiarism penalty
Note: If the program does not compile/run, partial marks may be given based on the submitted-source codes.
This section presents information on setting standards and assessing teamwork, setting assessment specific academic integrity guidelines for programming assignments.
Academic Integrity – getting assistance and source code
This assignment is your chance to obtain the learning outcomes as given under objectives. It is important that you develop skills and deeper understanding of the concepts. You are permitted to use certain resources for completing this assignment as given in the table below. Use of resources outside of what is listed below will be a hurdle in your learning and required development of skills.
The scale of assistance students can get is clearly marked based on the students’ level of mastery and expected learning at various levels.
Note: You can use these as appropriate to the unit you are writing assessments.
The objective is to understand several concepts and apply those concepts to design and build a software solution. At this level you can use the provided materials, online resources for further reading and take assistance from your classmates or teammates to develop deeper understanding of the concepts. You can also sort help to debug the implemented program. But you should implement and test your program on your own.
Unit Textbook, Unit notes and examples
Understanding concepts, design
Understanding concepts, design, debugging
Teammates (in case of teamwork)
Understanding concepts, debugging
Classmates, Online resources
No help acceptable