Codingassignmenthelper | Home Codingassignmenthelper | University

CSE100F4OOF Progress Check Test Assignment

Department of Computer Science and Information Technology La Trobe University

Assignment

This is an individual assignment. You are not permitted to work as a group when writing this assignment.

Copying, Plagiarism : Plagiarism is the submission of somebody else’s work in a manner that gives the impression that the work is your own. The Department of Computer Science and Information Technology treats academic misconduct seriously. When it is detected, penalties are strictly imposed. Refer to the unit guide for further information and strategies you can use to avoid a charge of academic misconduct. All submissions will be electronically checked for plagiarism.

Assessment Objectives :

to design programs that conform to given specifications to practise combining multiple classes and methods into a whole program to implement programs in Java. to practice using arrays of objects.

Submission Details :

Full instructions on how to submit electronic copies of your source code files from your latcs8 account are given at the end. If you have not been able to complete a program that compiles and executes containing all functionality, then you should submit a program that compiles and executes with as much functionality as you have completed. (You may comment out code that does not compile.)
Note you must submit electronic copies of your source code files using the submit command on latcs8. Ensure you submit all required files, one file at a time.
For example, the file Crew.java would be submitted with the command: submit OOF Crew.java Do NOT use the LMS to submit your files, use latcs8 only

PLEASE NOTE :

While you are free to develop the code for this progress check on any operating system, your solution must run on the latcs8 system.

Marking Scheme :

This assignment is worth 10% of your final mark in this subject. Implementation (Execution of code) 90%, explanation of code 10% You may be required to attend a viva voce (verbal) assessment (to be used as a weighting factor on the final mark)..

Return of Mark sheets :

The face to face execution test marking in the lab (Week 12) constitutes a return of the assignment mark, subject to the conditions on pages 15 - 16

Please note carefully :

After the submit server has closed, NO assignments can be accepted.Please make sure that you have submitted all your assignment filesbefore the submit server closes. (see page 11)There can be NO extensions or exceptions.Your assignment will be marked in your normal lab.You must attend your assigned lab (the lab you have signed up for on the LMS page). Non-attendance will result in your assignment being awarded 0,
If you cannot attend your assigned lab, please email me (r.tresider@latrobe.edu.au) to arrange another time.

Marking scheme :

90% for the code executing correctly
10%, you will be asked to explain (and / or alter) parts of your code.

Using code not taught in OOF - READ THIS

Please also note carefully that whilst we encourage innovation and exploring java beyond what has been presented in the subject to date, above all, we encourage understanding.
The assignment that follows can be solved using techniques that have been presented in lectures, lecture / workshops and labs so far.
These are the techniques and knowledge that we will later be examining in the Real Time Test (20 marks) and the exam (60 marks).Code and techniques that are outside the material presented will not be examined, of course.You are free to implement the program below in any way, with one condition.Any assignment that uses code that is outside what has been presented to this point must be fully explained at the marking execution test. Not being able to fully explain code outside what has been presented in the subject so far will result in the assignment being awarded a mark of 0, regardless of the correctness of the program.
Submitting an assignment with code outside what has been presented so far and not attending the marking execution test will result in an automatic mark of 0, regardless of the correctness of the submission.

Access Modifiers in objects

Please note that all object attributes must have private as their access modifier. Any classes that have any non-private object attributes will result in the whole assignment mark being heavily reduced, up to and including, being awarded 0, regardless of the correctness of the program. This includes omitting access modifiers, which means that the object attributes have the java default access modifier package.This was discussed in Week 7 lectures.

Problem Background

Humans are expanding into space. Cities in space are being established. Constructing and maintaining these cities is undertaken by Space Vehicles. Space Vehicles are equipped to handle any required task. Tasks are known as jobs.
Assignment C explored all aspects of these operations, using just 2 Space Vehicles. This proved to be such a success that now it has been decided to scale up the program to handle a full group of 30 Space Vehicles.
Each Space Vehicle can now have more than one Crew, but still must have at least one Crew assigned to the Space Vehicle before it can be assigned a job and the Space Vehicle must not already be on a job. When the Space Vehicle is on a job, it is assumed that the job is always completed. Each job counts as 1 hour for a Space Vehicle.
It is not possible to have a Crew without there being a Space Vehicle first. It is possible to have a Space Vehicle without a Crew.
When a Space Vehicle is first created, it is added to the Space City. This means, of course, that when a Space Vehicle is first added, it has no Crew, it is not on a job and its hours are 0.
As the Space Vehicle (and the assigned Crew) carry out more jobs, the level of the Crew increases. (Note that Crew here refers to a single Crew, not the whole group, within the whole group, there can be individual Crew with different levels)

If the Crew has carried out between 0 and 3 jobs (inclusive),
   then their level is trainee
If the Crew has carried out between 4 and 10 jobs (inclusive),
   then their level is trained worker
If the Crew has carried out between 11 and 16 jobs (inclusive),
   then their level is advanced worker
If the Crew has carried out 17, or more, jobs,
   then their level is specialist

To be assigned a job, firstly, the Space Vehicle must have a Crew (one or more) and not be on a job.
Secondly the level required for the job must be within the overall level of the whole Crew. A Crew (the whole group) with a higher overall level can undertake a job that requires a lesser level, but a Crew (the whole group) cannot undertake a job that requires a higher level.
The Crew (the whole group) must have, at least, the required overall level before being assigned the job. As soon as the Space Vehicle (and associated Crew) are assigned a job, the number of jobs that the Crew (each individual Crew) has carried out is incremented by 1. Note that adding 1 to the number of jobs for that particular Crew may move that particular Crew up into the next level, this has to be checked. There can also be bonus hours (jobs) associated with a job, this only applies to the Crew (the whole group), not to the Space Vehicle, see below.
To end a job, the Space Vehicle must actually be on a job.

Further changes from Assignment C

A SpaceVehicle can only take a job if the overall level of the Crew (the whole group) is greater than, or equal to, the user entered level.
How is this calculated?
One way of doing it is to assign 0 to the user entered level.
Then go through the array of Crew, one by one.
If the level of an individual Crew is the same as the user entered level add 0 to an accumulating total.
If the level of an individual Crew is one above the user entered level, then add 1, if it 2 levels above the user entered level, then add 2 and so on.
If the level of an individual Crew is 1 level below the user entered level, then subtract 1, if the level of the particular Crew is 2 levels below, subtract 2 and so on.
As before, if the user entered job level of the job is trainee, then every Space Vehicle, with at least one (individual) Crew, can undertake that job, provided, of course, that the Space Vehicle is not already on a job.
In a bit more detail
It is slightly more complicated if the user entered job is above trainee. One way to do it is to assign a local variable for the required overall job level with the starting value of 0.
Then go through the whole array of Crew (one by one) in that SpaceVehicle
If the required job level (the one entered by the user) is "specialist"
  If the level of an individual Crew is "trainee", then subtract 3 from the local required overall level variable.
  If the level of an individual Crew is "trained worker", then subtract 2 from the local required overall level variable.
  If the level of an individual Crew is "advanced worker", then subtract 1 from the local required overall level variable
  If the level of an individual Crew is "specialist", then subtract 0 from the local required overall level variable.
If the required job level (the one entered by the user) is "advanced worker"
  If the level of an individual Crew is "trainee", then subtract 2 from the local required overall level variable.
  If the level of an individual Crew is "trained worker", then subtract 1 from the local required overall level variable.
  If the level of an individual Crew is "advanced worker", then subtract 0 from the local required overall level variable
  If the level of an individual Crew is "specialist", then add 1 to the local required overall level variable.
If the required job level (the one entered by the user) is "trained worker"
  If the level of an individual Crew is "trainee", then subtract 1 from the local required overall level variable.
   If the level of an individual Crew is "trained worker", then subtract 0 from the local required overall level variable.
  If the level of an individual Crew is "advanced worker", then add 1 to the local required overall level variable
  If the level of an individual Crew is "specialist", then add 2 tothe required overall level variable.
After doing this for all the Crew in the selected SpaceVehicle, if the final overall required level local variable is greater than or equal to 0, then the Crew in that SpaceVehicle have an overall job level that is equal to or better than the required job level, as entered by the user, and so can take the job. As always, provided the SpaceVehicle is not already on a job.
The Crew (the whole group) must have the correct, required overall job level before being assigned the job. As soon as the SpaceVehicle (and associated Crew(s)) are assigned a job, the number of jobs that each Crew has carried out is incremented by 1. Note that adding 1 to the number of jobs for each Crew may move that individual Crew up to another job level, this has to be checked.
Being assigned a job also adds 1 to the number of hours that the SpaceVehicle has worked. As in Assignment C, there may be bonus hours assigned to a job. Each Crew gets this bonus added to their total number of jobs (Recall that 1 job = 1 hour). This means checking whether that individual Crew as moved up to another level. As before, this bonus applies only to the Crew, not to the SpaceVehicle. To end a job, the SpaceVehicle must actually be on a job.

To Continue Click Here > CSE100F4OOF Semester 2 2017 Progress Check Test Assignment.pdf
Codingassignmenthelper | Home Codingassignmenthelper | Home