CN6103 Computer Science | Concepts of object-oriented Programming

$20 Bonus + 25% OFF

Securing Higher Grades Costing Your Pocket?
Book Your Assignment at The Lowest Price
Now!

Students Who Viewed This Also Studied

CN6103 Computer Science

Question:

LO1 Identify and justify good practices in object-oriented software development. Communicate the aspects of object-oriented programming which are advantageous when compared to non-object-oriented paradigms;

LO2 Acquire detailed knowledge of concepts of object-oriented programming and apply characteristics, tools and environments to adapt to new computational environments and programming languages which are based on object-oriented principles;

LO3 Design and implement applications based on an object-oriented programming language, given a set of functional requirements. Use APIs which have not been exposed to previously, in order to develop an application requiring specialised functionality;

LO4 Design and Implement graphical interfaces using an object-oriented programming language;

LO5 Apply appropriate techniques for evaluation and testing and adapt the performance accordingly.

Your task is to create a Java program which simulates the manipulation of a Formula 1 racing car championship.

For the GUI part you are NOT allowed to use drag and drop tools (such as those found in Netbeans, etc.) to create the graphical user interface for any part of this coursework! All graphical code should be manually written in Java Swing and no tool which generates code automatically should be used. Any submission which uses for any part of this assignment drag and drop tools will not receive any marks for these parts.

Implement a class Formula ChampionshipManager which extends interfaceChampionshipManager. The Formula1ChampionshipManager class maintains a number of drivers and cars (constructors, i.e. manufacturer of the car) which compete in the Formula 1 car championship. Each driver belongs to exactly one constructor team (e.g. Ferrari) and each constructor team has a single driver (e.g. Mercedes has a single driver called Hamilton) The details for the implementation of the system are given in the steps below: It is important to follow exactly the specifcations and your implementation must conform to these:

Design and implement classes Driver (abstract class), Formula1Driver. The classes should include appropriate methods and hold information about the name of the driver, their location, the team they belong to and various statistics about the drivers. Formula1Driver should include statistics such as how many frst position, second positions and third positions an instance of it has achieved in the season. The number of points that a driver currently has, and the number of races participated so far in the season should also be included.

The points awarded for each driver in a race (and for the all the calculations in this assignment) are according to the following scheme:

The driver who got the first position in the race wins 25 points, the second 18, the third 15 and so on. A driver must finish the race to be awarded points and also finish it in the first 10 positions. (5 marks).

Implement a class Formula1ChampionshipManager which extends interface ChampionshipManager. The Formula1ChampionshipManager class maintains a number of drivers who play in the Formula 1 championship. (5 marks). The class should create a menu based on text input (i.e. console and NOT graphical components) and give the user the choice of:

  • Create a new driver (who is added in the championship). The driver should beassociated with a unique team (car manufacturer) (4 marks).
  • Delete a driver and the team that the driver belongs to from the Formula 1 championship. (2 marks).
  • Change the driver for an existing constructor team (e.g. change the driver for the Ferrari team). 2 marks
  • Display the various statistics for a selected existing driver. (4 marks).
  • Display the Formula 1 Driver Table, i.e. display all the drivers competing in theFormula 1 championship, the team they belong to and some of their statistics, in driver who has the maximum number of points should be displayed first, the driver being second in the championship should be displayed next, etc. In the case that two drivers have the same number of points the driver who has won the most first positions in races should appear first. (8 marks).

Add a race completed with its date and the positions that all the drivers achieved. The statistics of all the drivers who participated and the Formula 1 championship table are updated automatically. (7 marks).

Saving in a file of all the information entered by the user so far. (8 marks).

The next time the application starts it should read all the information saved in the previous file (resume/recover the previous state of the program) and continue its operation based on that with the user being able to enter new information or change the existing information. (9 marks).

Start a graphical user interface (GUI) based on Java Swing from the text menu (i.e. console)which is able to do the following:

  • Display the list (table) of all the drivers and their statistics in descending order of points. (4 marks).
  • Give the user the possibility of sorting the previous table according to points won by drivers (ascending order). (4 marks).
  • Give the user the possibility of sorting the previous table according to the largest number of first position won in races (descending order). (4 marks).
  • Add a button which every time it is pressed it generates one random race with random positions achieved by the existing drivers. This automatically updates the Formula 1 championship table by adding the race (points, positions and other statistics). The positions should be entirely random and not hardcoded in your source code. The button should generate a different race with different driver positions every time it is clicked. The user should be able to see the randomly generated race with the driver positions (in addition to the table of standings), in order to be able to verify the correctness of your code for the updated information of the table. (8 marks).

A button which is similar in functionalit with the previous questions (i.e. I generates the results of a full race and adds them in the statistics) with the following modification. The drivers are starting the race in a randomly calculated position (e.g. Vettel in starting position 1, Hamilton in starting position 2 and so on). These starting positions should be random and not hardcoded. The results of the race are probabilistic and according to the starting position, more specifically: the driver starting in position 1, has 40% probability to win the race, the driver starting in position 2 has 30% probability to win the race, the drivers starting inpositions 3 and 4 have a 10% each to win the race. All of the drivers in positions 5 to 9 each have a probability of 2% to win the race and all other drivers have a 0% chance to win the race. The rest of the positions (2–10) are determined completely randomly marks (8).

Add a button which displays all the completed races sorted in ascending order of date played (both randomly generated or manually entered using the text menu functionality described above). This should display all the races that took place in the season, included races inserted and generated in previous runs of the application (assuming that the user saved the information entered using the text menu functionality above). (7 marks).

Add a button and a textbox which can be used to search for all races that a given driver participated. The full details of the races should be displayed (i.e. both the dates and the positions of the driver in the matching races). (5 marks).

CN6103 Computer Science

Answer in Detail


Solved by qualified expert

Get Access to This Answer

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Hac habitasse platea dictumst vestibulum rhoncus est pellentesque. Amet dictum sit amet justo donec enim diam vulputate ut. Neque convallis a cras semper auctor neque vitae. Elit at imperdiet dui accumsan. Nisl condimentum id venenatis a condimentum vitae sapien pellentesque. Imperdiet massa tincidunt nunc pulvinar sapien et ligula. Malesuada fames ac turpis egestas maecenas pharetra convallis posuere. Et ultrices neque ornare aenean euismod. Suscipit tellus mauris a diam maecenas sed enim. Potenti nullam ac tortor vitae purus faucibus ornare. Morbi tristique senectus et netus et malesuada. Morbi tristique senectus et netus et malesuada. Tellus pellentesque eu tincidunt tortor aliquam. Sit amet purus gravida quis blandit. Nec feugiat in fermentum posuere urna. Vel orci porta non pulvinar neque laoreet suspendisse interdum. Ultricies tristique nulla aliquet enim tortor at auctor urna. Orci sagittis eu volutpat odio facilisis mauris sit amet.

Tellus molestie nunc non blandit massa enim nec dui. Tellus molestie nunc non blandit massa enim nec dui. Ac tortor vitae purus faucibus ornare suspendisse sed nisi. Pharetra et ultrices neque ornare aenean euismod. Pretium viverra suspendisse potenti nullam ac tortor vitae. Morbi quis commodo odio aenean sed. At consectetur lorem donec massa sapien faucibus et. Nisi quis eleifend quam adipiscing vitae proin sagittis nisl rhoncus. Duis at tellus at urna condimentum mattis pellentesque. Vivamus at augue eget arcu dictum varius duis at. Justo donec enim diam vulputate ut. Blandit libero volutpat sed cras ornare arcu. Ac felis donec et odio pellentesque diam volutpat commodo. Convallis a cras semper auctor neque. Tempus iaculis urna id volutpat lacus. Tortor consequat id porta nibh.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Hac habitasse platea dictumst vestibulum rhoncus est pellentesque. Amet dictum sit amet justo donec enim diam vulputate ut. Neque convallis a cras semper auctor neque vitae. Elit at imperdiet dui accumsan. Nisl condimentum id venenatis a condimentum vitae sapien pellentesque. Imperdiet massa tincidunt nunc pulvinar sapien et ligula. Malesuada fames ac turpis egestas maecenas pharetra convallis posuere. Et ultrices neque ornare aenean euismod. Suscipit tellus mauris a diam maecenas sed enim. Potenti nullam ac tortor vitae purus faucibus ornare. Morbi tristique senectus et netus et malesuada. Morbi tristique senectus et netus et malesuada. Tellus pellentesque eu tincidunt tortor aliquam. Sit amet purus gravida quis blandit. Nec feugiat in fermentum posuere urna. Vel orci porta non pulvinar neque laoreet suspendisse interdum. Ultricies tristique nulla aliquet enim tortor at auctor urna. Orci sagittis eu volutpat odio facilisis mauris sit amet.

Tellus molestie nunc non blandit massa enim nec dui. Tellus molestie nunc non blandit massa enim nec dui. Ac tortor vitae purus faucibus ornare suspendisse sed nisi. Pharetra et ultrices neque ornare aenean euismod. Pretium viverra suspendisse potenti nullam ac tortor vitae. Morbi quis commodo odio aenean sed. At consectetur lorem donec massa sapien faucibus et. Nisi quis eleifend quam adipiscing vitae proin sagittis nisl rhoncus. Duis at tellus at urna condimentum mattis pellentesque. Vivamus at augue eget arcu dictum varius duis at. Justo donec enim diam vulputate ut. Blandit libero volutpat sed cras ornare arcu. Ac felis donec et odio pellentesque diam volutpat commodo. Convallis a cras semper auctor neque. Tempus iaculis urna id volutpat lacus. Tortor consequat id porta nibh.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Hac habitasse platea dictumst vestibulum rhoncus est pellentesque. Amet dictum sit amet justo donec enim diam vulputate ut. Neque convallis a cras semper auctor neque vitae. Elit at imperdiet dui accumsan. Nisl condimentum id venenatis a condimentum vitae sapien pellentesque. Imperdiet massa tincidunt nunc pulvinar sapien et ligula. Malesuada fames ac turpis egestas maecenas pharetra convallis posuere. Et ultrices neque ornare aenean euismod. Suscipit tellus mauris a diam maecenas sed enim. Potenti nullam ac tortor vitae purus faucibus ornare. Morbi tristique senectus et netus et malesuada. Morbi tristique senectus et netus et malesuada. Tellus pellentesque eu tincidunt tortor aliquam. Sit amet purus gravida quis blandit. Nec feugiat in fermentum posuere urna. Vel orci porta non pulvinar neque laoreet suspendisse interdum. Ultricies tristique nulla aliquet enim tortor at auctor urna. Orci sagittis eu volutpat odio facilisis mauris sit amet.

Tellus molestie nunc non blandit massa enim nec dui. Tellus molestie nunc non blandit massa enim nec dui. Ac tortor vitae purus faucibus ornare suspendisse sed nisi. Pharetra et ultrices neque ornare aenean euismod. Pretium viverra suspendisse potenti nullam ac tortor vitae. Morbi quis commodo odio aenean sed. At consectetur lorem donec massa sapien faucibus et. Nisi quis eleifend quam adipiscing vitae proin sagittis nisl rhoncus. Duis at tellus at urna condimentum mattis pellentesque. Vivamus at augue eget arcu dictum varius duis at. Justo donec enim diam vulputate ut. Blandit libero volutpat sed cras ornare arcu. Ac felis donec et odio pellentesque diam volutpat commodo. Convallis a cras semper auctor neque. Tempus iaculis urna id volutpat lacus. Tortor consequat id porta nibh.

34 More Pages to Come in This Document. Get access to the complete answer.

MyAssignmenthelp.com is a top-tier thesis writing service in Australia that presents students with high quality thesis writing help for 100+ subjects. We have 3000+ thesis writers on our team who know the A to Z of thesis writing. Our cheap thesis writing service fits easily into any student’s budget, and they can call us to get thesis paper help from us.

More CN6103 CN6103 Computer Science: Questions & Answers

Fundamentals of Accounting

On starting load few property details from a text file that is provided. Your program must display an error message if the file is not found or if there is no data. 
Display a menu that allows the user to choose whether to enter and save property details, display all property details that was …

View Answer

INM707 Deep Reinforcement Learning

Question:
This coursework builds on the material covered in the tutorials and lecture. On completing this coursework, you should be able to implement and understand classical tabular Reinforcement Learning (week 1-5) as well as Deep Reinforcement Learning (week 6-10) algorithms. This coursework b …

View Answer

Java console application

You are to write a Java console application that processes student marks. The number of students (N) is fixed at 10, so it should be declared as final int N = 10 in your program.Grades are allocated as shown in Table 1: …

View Answer

Mathematics

Your task in this assignment is to create a search program that implements BWT backward search, which can efficiently search a BWT encoded record file. The original file (before BWT) format is: [][][]… …whe …

View Answer

Content Removal Request

If you are the original writer of this content and no longer wish to have your work published on Myassignmenthelp.com then please raise the
content removal request.

Choose Our Best Expert to Help You

David Company

I have done my LLM, with specialization in Criminal law from University of Oxford

250 – Completed Orders

Hire Me

Nurhilmi Babe

Master of Public Health with Specialization in Hospital Human Resource

2940 – Completed Orders

Hire Me

Still in Two Minds? The Proof is in Numbers!

33845 Genuine Reviews With a Rating of 4.9/5.

Database

Thesis: 10 Pages, Deadline:
17 days

The assingment was very good, everything was explained very well.I scored very good marks.

User ID: 7***00 Australia

Assignment

Essay: 8 Pages, Deadline:
21 hours

I asked for 2000 words but the content provided was for 1840 words only. But still its was nice

User ID: 8***87 Australia

Management

Essay: 1 Page, Deadline:
3 days

Great job on assignment. I got an A and will use this expert again. Thank you for all your help!

User ID: 5***56 San Francisco, United States

Management

Assignment: 1.6 Pages, Deadline:
9 days

Excellent Expert. On time and helped get an A. Good job and keep up the good work. Will use again.

User ID: 5***56 San Francisco, United States

Networking

Programming: 7.2 Pages, Deadline:
8 days

It was good report and helped me get good grades. So, I always prefer my assignment help.

User ID: 5***32 Luton, Great Britain

Statistics

Programming: 1 Page, Deadline:
1 day

The quality of work was good. It was well made and complete. I haven’t received my grade yet but I hope that I get a good mark.

User ID: 8***38 Philippines

Maths

Home Work: 1 Page, Deadline:
1 day

good job! math structure is mention clearly and provided solution for each step.

User ID: 8***07 Malaysia

Chemistry

Home Work: 3 Pages, Deadline:
19 days

thanks to your efforts. It’s well researched and well written….I’d greatly appreciated .

User ID: 6***55 Canada

Finance

Course Work: 0.8 Pages, Deadline:
14 hours

Overall, I received a quality, detailed, and timely finished product. I was able to better understand the material after assistance with the assignmen …

User ID: 8***76 United States

Finance

Course Work: 2 Pages, Deadline:
1 day

Quality, detailed, and timely finished product. I was able to better understand the material after assistance with the assignment, and pass the course …

User ID: 8***76 United States

Database

Thesis: 10 Pages, Deadline:
17 days

The assingment was very good, everything was explained very well.I scored very good marks.

User ID: 7***00 Australia

Assignment

Essay: 8 Pages, Deadline:
21 hours

I asked for 2000 words but the content provided was for 1840 words only. But still its was nice

User ID: 8***87 Australia

Management

Essay: 1 Page, Deadline:
3 days

Great job on assignment. I got an A and will use this expert again. Thank you for all your help!

User ID: 5***56 San Francisco, United States

Management

Assignment: 1.6 Pages, Deadline:
9 days

Excellent Expert. On time and helped get an A. Good job and keep up the good work. Will use again.

User ID: 5***56 San Francisco, United States

Networking

Programming: 7.2 Pages, Deadline:
8 days

It was good report and helped me get good grades. So, I always prefer my assignment help.

User ID: 5***32 Luton, Great Britain

Statistics

Programming: 1 Page, Deadline:
1 day

The quality of work was good. It was well made and complete. I haven’t received my grade yet but I hope that I get a good mark.

User ID: 8***38 Philippines

Maths

Home Work: 1 Page, Deadline:
1 day

good job! math structure is mention clearly and provided solution for each step.

User ID: 8***07 Malaysia

Chemistry

Home Work: 3 Pages, Deadline:
19 days

thanks to your efforts. It’s well researched and well written….I’d greatly appreciated .

User ID: 6***55 Canada

Finance

Course Work: 0.8 Pages, Deadline:
14 hours

Overall, I received a quality, detailed, and timely finished product. I was able to better understand the material after assistance with the assignmen …

User ID: 8***76 United States

Finance

Course Work: 2 Pages, Deadline:
1 day

Quality, detailed, and timely finished product. I was able to better understand the material after assistance with the assignment, and pass the course …

User ID: 8***76 United States

Have any Query?
Reference no: EM132069492

WhatsApp
Hello! Need help with your assignments? We are here

GRAB 25% OFF YOUR ORDERS TODAY

X