1. Homepage
  2. Programming
  3. CSSE2002/7023 Programming in the Large - Semester 1, 2022 Assignment 1: Modelling Space Journeys of the Leaden Matter

CSSE2002/7023 Programming in the Large - Semester 1, 2022 Assignment 1: Modelling Space Journeys of the Leaden Matter

Engage in a Conversation
The University of QueenslandCSSE2002CSSE7023Programming in the LargeJava

Assignment 1: Modelling Space Journeys of the Leaden Matter

Due: 6th of April 2023 at 16:00 AEST Version: 1.0 CourseNana.COM

Abstract

The goal of this assignment is to implement and test a set of classes and interfaces1. CourseNana.COM

Language requirements: Java version 17, JUnit 4. CourseNana.COM

Preamble

All work on this assignment is to be your own individual work. As detailed in Lecture 1, code supplied by course staff (from this semester) is acceptable, but there are no other exceptions. You are expected to be familiar with “What not to do” from Lecture 1 and. If you have questions about what is acceptable, please ask course staff. CourseNana.COM

Please carefully read the Appendix A document. It outlines critical mistakes which you should circumvent in order to avoid losing marks. This is being heavily emphasised here because these are critical mistakes which must be avoided. If at any point you are even slightly unsure, please check as soon as possible with course staff! CourseNana.COM

All times are given in Australian Eastern Standard Time. It is your responsibility to ensure that you adhere to this time-zone for all assignment related matters. Please bear this in mind, especially if you are enrolled in the External offering and may be located in a different time-zone. CourseNana.COM

Introduction

In this assignment, you will take the role of an up and coming programming contractor. Your task will be to build a simple application. The script will take the form of a fictional story, to assist in your understanding of the task. This application is detailed in a specification given to you by the story’s protagonist. For this scenario, you will need to build up a system of classes and interfaces that meet the requirements that you have been given. For this assignment you will be focusing on accessor methods (getter’s and setter’s) as well building an understanding of Lists and basic programming logic. CourseNana.COM

Story

Hello my dear programmer friend, CourseNana.COM

I have come to understand that you might be in a position to help me. You see, I feel as if I am in a bit of a rut and have decided that I need to make a life altering change. I am going to resign my position as a celebrity insect therapist and pursue my dream of becoming a starship captain. I have bought a slightly used starship, the Leaden Matter : CourseNana.COM

From now on, classes and interfaces will be shortened to simply “classes” CourseNana.COM

Before I take off for a life of adventure beyond the stars, I would like to be able to model my ship, my journeys, and the resources I will be shipping between ports. This is where you come in. CourseNana.COM

Should you accept, there are a few things that I need you to model: CourseNana.COM

Positions in space, as 3d coordinates; SpacePorts I can travel to. There are a few types of SpacePort: Generic SpacePorts I can stop at; ShipYards where I can upgrade part of my ship; and Stores where I can buy Resources. Spaceships! Spaceships should have two Rooms, each of which can be upgraded to be more effective: The CargoHold, which holds Resources; and The NavigationRoom, where the galaxy map is kept, which allows me to fly or jump to SpacePorts Rooms on the spaceship are Damageable and take damage when I fly or jump. CourseNana.COM

Resources and their Containers, which include Repair Kits and Fuel. I’m still new at this starship captain thing, so the program needs to be able to tell me when I don’t have enough room to put Resources in my CargoHold; when I don’t have enough resources to fly, jump or repair the ship; or when I’m trying to fly or jump to somwehere that doesn’t exist or is out of range. CourseNana.COM

Awesome, thanks so much! CourseNana.COM

Jesko Thoch CourseNana.COM

Supplied Material

This task sheet. CourseNana.COM

  • Code specification document (Javadoc).2 CourseNana.COM

  • A video showing the command line interface for the completed model. CourseNana.COM

  • Gradescope, a website where you will submit your assignment.3 CourseNana.COM

  • A set of supporting files, available for download on Blackboard. These files provide function- ality for some of the trickier parts of the program, and include a text-based user interface that will let you interact with your program once you’ve completed it. These files have been provided so that you can avoid (some of) the critical mistakes described in Appendix A. CourseNana.COM

  • Each of these files: CourseNana.COM

  • is in the correct directory (do not change this!) CourseNana.COM

  • has the correct package declaration at the top of the file (do not change this!) CourseNana.COM

  • has the correct public class or public interface declaration. Note that you may still need to make classes, extend classes, implement interfaces etc., as detailed in the Javadoc specification. CourseNana.COM

As the first step in the assignment (after reading through the specifications) you should download the template code from Blackboard. Once you have created a new project from the files you have downloaded, you should start implementing the specification. CourseNana.COM

Javadoc

Code specifications are an important tool for developing code in collaboration with other peo- ple. Although assignments in this course are individual, they still aim to prepare you for writing code to a strict specification by providing a specification document (in Java, this is called Javadoc). CourseNana.COM

You will need to implement the specification precisely as it is described in the specification docu- ment. CourseNana.COM

To view the Javadoc, navigate to the relevant assignment folder under Assessment on Blackboard and you will be able to download the Javadoc .zip file containing HTML documentation. Unzip the bundle somewhere, and open doc/index.html with your web browser. CourseNana.COM

Tasks

  1. Fully implement each of the classes and interfaces described in the Javadoc.
  2. Write JUnit 4 tests for all the methods in the following classes:
    • Position (in a class called PositionTest)
    • ResourceContainer (in a class called ResourceContainerTest

      Marking

      Your grade for the assignment will be determined based on your achievement in a number of categories, as shown in Tables 1 and 2. CourseNana.COM

Please note that Code Style grades are capped at the level of your Functionality grade. The reasoning here is to place emphasis on good quality functional code. Well styled code that does not implement the required functionality is of no value in a project, consequently marks will not be given to well styled code that is not functional. CourseNana.COM

Conformance

Conformance is marked by identifying conformance violations in your code. Note that multiple conformance violations of the same type will each be counted as separate violations. CourseNana.COM

Conformance violations include (but are not limited to): CourseNana.COM

  • Placing files in incorrect directories.
  • Incorrect package declarations at the top of files.
  • Using modifiers on classes, methods and member variables that are different to those specified in the Javadoc. Modifiers include private, protected, public, abstract, final, and static. For example, declaring a method as public when it should be private.
  • Adding extra public methods, constructors, member variables or classes that are not de- scribed in the Javadoc.
  • Incorrect parameters and exceptions declared as thrown for constructors.
  • Incorrect parameters, return type and exceptions declared as thrown for methods.
  • Incorrect types of public fields.

Get in Touch with Our Experts

WeChat WeChat
Whatsapp WhatsApp
The University of Queensland代写,CSSE2002代写,CSSE7023代写,Programming in the Large代写,Java代写,The University of Queensland代编,CSSE2002代编,CSSE7023代编,Programming in the Large代编,Java代编,The University of Queensland代考,CSSE2002代考,CSSE7023代考,Programming in the Large代考,Java代考,The University of Queenslandhelp,CSSE2002help,CSSE7023help,Programming in the Largehelp,Javahelp,The University of Queensland作业代写,CSSE2002作业代写,CSSE7023作业代写,Programming in the Large作业代写,Java作业代写,The University of Queensland编程代写,CSSE2002编程代写,CSSE7023编程代写,Programming in the Large编程代写,Java编程代写,The University of Queenslandprogramming help,CSSE2002programming help,CSSE7023programming help,Programming in the Largeprogramming help,Javaprogramming help,The University of Queenslandassignment help,CSSE2002assignment help,CSSE7023assignment help,Programming in the Largeassignment help,Javaassignment help,The University of Queenslandsolution,CSSE2002solution,CSSE7023solution,Programming in the Largesolution,Javasolution,