1. Homepage
  2. Programming
  3. CSSE2002/7023 Programming in the Large - Semester 1, 2022 Assignment 1

CSSE2002/7023 Programming in the Large - Semester 1, 2022 Assignment 1

Engage in a Conversation
The University of QueenslandCSSE2002CSSE7023Programming in the LargeJava

CSSE2002/7023 — Semester 1, 2022 Assignment 1

Due: 9th of September 2022 at 16:00 AEST Revision: 1.0.0 CourseNana.COM


CourseNana.COM


CourseNana.COM

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 https://www.itee.uq. edu.au/itee-student-misconduct-including-plagiarism. 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 CourseNana.COM

In this assignment, you will take the roll 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 CourseNana.COM

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 the head of the Soup canning factory and pursue my dreams, taking on the role of a celebrity insect therapist, in a distant country. CourseNana.COM

The goal of this assignment is to implement and test a set of classes and interfaces . Language requirements: Java version 17, JUnit 4. CourseNana.COM

Preamble CourseNana.COM

Unfortunately, this means that I will have to move house, which is something I have very little experience in doing. CourseNana.COM

As such, I was hoping that I could enlist your skills to help me. I would like you to build a software application model to help me organise the packing of my life belongings, and to do so as efficiently as humanly possible. CourseNana.COM

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

  • To begin with I need something to store all of my items in. I have 3 different kinds of storage containers that I intend to use, and they come in various different sizes.
    • –  A moving truck that I will take all of my items in.
    • –  A cardboard box. This multi-purpose storage container be packed with many different

items (including other boxes! How cool). CourseNana.COM

    • –  A duffle bag. I have a few of these that I will use to pack all of my personal items.
  • I have some furniture that I would like to take to the next house with me too. This would go into the moving truck last as they are quite heavy.
  • As mentioned before, I have some personal items that I would like to take with me. This includes items like clothes and laptops. I’ve also got some items that I will be storing for some friends so I need to know who owns what.

Because I am not the best at packing, (and why I am asking you to create this application) some- times I may make mistakes and pack things in the wrong order. The application will need to be aware of this. Would you be able to implement a system where if I pack too much into a container or put something where it’s not supposed to be, that the application will let me know? CourseNana.COM

Awesome, thanks so much! - Protagonist CourseNana.COM

Supplied Material CourseNana.COM

  • This task sheet.
  • Code specification document (Javadoc).
  • Gradescope, a website where you will submit your assignment.
  • A starting template for your assignment code, available for download on Blackboard. The files in this template provide a minimal framework for you to work from, and build upon. These files have been provided so that you can avoid (some of) the critical mistakes described in Appendix A.

Each of these files: CourseNana.COM

    • –  is in the correct directory (do not change this!)
    • –  has the correct package declaration at the top of the file (do not change this!)
    • –  has the correct public class or public interface declaration. Note that you may still need to make classes abstract, extend classes, implement interfaces etc., as detailed in the Javadoc specification.

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 CourseNana.COM

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

The Javadoc can be viewed in either of the two following ways: CourseNana.COM

  1. Open https://csse2002.uqcloud.net/assignment/1/ in your web browser. Note that this will only be the most recent version of the Javadoc.
  2. 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.

Tasks CourseNana.COM

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: CourseNana.COM

Book (in a class called BookTest)
MovingTruck (in a class called MovingTruckTest) CourseNana.COM

Submission CourseNana.COM

How/Where to Submit CourseNana.COM

Submission is via Gradescope. CourseNana.COM

Instructions for submitting to Gradescope will be made available on Blackboard (under Assessment Assignment 1) towards the start of week 4. You will not be able to submit your assignment before then. CourseNana.COM

You must ensure that you have submitted your code to Gradescope before the submission deadline. Code that is submitted after the deadline will not be marked (1 nanosecond late is still late). CourseNana.COM

You may submit your assignment to Gradescope as many times as you wish before the due date, however only your last submission made before the due date will be marked. CourseNana.COM

What to Submit CourseNana.COM

Your submission should have the following internal structure:
src/ folders (packages) and .java files for classes described in the Javadoc CourseNana.COM

test/ folders (packages) and .java files for the JUnit test classes A complete submission would look like: CourseNana.COM

src/mms/display/SimpleDisplay.java CourseNana.COM

src/mms/exceptions/BadItemException.java CourseNana.COM

src/mms/exceptions/PackingException.java CourseNana.COM

src/mms/exceptions/PackingOrderException.java CourseNana.COM

src/mms/exceptions/StorageFullException.java CourseNana.COM

src/mms/furniture/Furniture.java CourseNana.COM

src/mms/furniture/FurnitureType.java CourseNana.COM

src/mms/personal/Book.java src/mms/personal/Clothes.java CourseNana.COM

src/mms/personal/ClotheType.java CourseNana.COM

src/mms/personal/Laptop.java CourseNana.COM

src/mms/personal/Personal.java CourseNana.COM

src/mms/storage/Bag.java src/mms/storage/Box.java CourseNana.COM

src/mms/storage/MovingTruck.java CourseNana.COM

src/mms/storage/Storage.java CourseNana.COM

src/mms/utility/Packable.java CourseNana.COM

src/mms/utility/Size.java CourseNana.COM

test/mms/personal/BookTest.java CourseNana.COM

test/mms/storage/MovingTruckTest.java (must be test directory, not src!) CourseNana.COM

Ensure that your classes and interfaces correctly declare the package they are within. For example, MovingTruck.java should declare package mms.storage. CourseNana.COM

Do not submit any other files (e.g. no .class files).
Note that
BookTest and MovingTruckTest will be compiled individually against a sample solution without the rest of your test files. CourseNana.COM

Provided set of unit tests CourseNana.COM

A small number of the unit tests (about 10-20%) used for assessing Functionality (FT) (not con- formance, style, or JUnit tests) will be provided in Gradescope prior to the submission deadline, which you will be able to test your submission against. CourseNana.COM

The purpose of this is to provide you with an opportunity to receive feedback on whether the basic functionality of your classes is correct or not. Passing all the provided unit tests does not guarantee that you will pass all of the full set of unit tests used for functionality marking. CourseNana.COM

Instructions about the provided set of unit tests will be made available on Blackboard (under Assessment Assignment 1) towards the start of week 5. Instructions will not be provided before then. This will still give you 3 weeks to submit and check your work before the assignment is due. CourseNana.COM

Late Submission CourseNana.COM

Assignments submitted after the submission deadline of 16:00 on 9th September 2022 (by any amount of time), will receive a mark of zero unless an extension is granted as outlined in the Electronic Course Profile — see the Electronic Course Profile for details. CourseNana.COM

Do not wait until the last minute to submit the final version of your assignment. A submission that starts before 16:00 but finishes after 16:00 will not be marked. Exceptions cannot be made for individual students, as this would not be fair to all other students. CourseNana.COM

Assignment Extensions CourseNana.COM

For assignment one, extensions longer than 7 calendar days will not be possible due to the depen- dency of assignment two on the work completed in assignment one. This matches what is outlined in the respective Electronic Course Profile. CourseNana.COM

All requests for extensions must be made via my.UQ as outlined in section 5.3 of the respective Electronic Course Profile. Please do not directly email the course coordinator seeking an extension (you will be redirected to my.UQ). CourseNana.COM

Remark Requests CourseNana.COM

To submit a remark of this assignment please follow the information presented here: CourseNana.COM

https://my.uq.edu.au/information-and-services/manage-my-program/exams-and-assessment/ querying-result. CourseNana.COM

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,