Program for exploring various ICT Careers

Assignment Help JAVA Programming
Reference no: EM132002758

Java Programming Assignment -

Your task is to build an interactive graphical program for exploring various ICT Careers, and their connections with the minors and the courses in the BICT degree.

The Excel screenshot on the next page shows the kinds of information your program will enable students to explore.

We would like to release this BICT Explorer to future students, as an app to plan their degree. One of your GUI designs could be chosen for this!

Overview - You will be given some core Java classes and data files that capture the careers, minors and courses of the BICT.

Your job is to test that code, and to design and build a GUI that allows a student to interactively explore various careers and minors, and to print a report about their chosen options at any time.

Learning Objectives -

1. Use object-oriented design (OOD) to design Java programs;

2. Be able to use inheritance and subtyping relationships between classes;

3. Be able to use association or composition relationships between classes;

4. Be able to develop a comprehensive suite of unit tests for the core logic classes of an application (the model part of the program);

5. Demonstrate your ability to read and write text files, to save and load data;

6. Build graphical user interfaces using JavaFX;

7. Use a distributed source code control system: GIT.

Getting Started -

You should aim to complete these activities during Week 9.

1. Start by creating your private GitHub repository by clicking on the link in the Assessment / Task 2 area of Blackboard, then accepting this assignment.

2. Then clone your new repository down to your development machine using IntelliJ, so that you can work on it. When you finish each of the following steps, make sure you commit and push your changes back to GitHub.

3. Create test/au/edu/usc/bict_explorer/rules/CourseTest.java, and add some JUnit 5 tests for the 'rules/Course.java' class. This will help you understand how the Course class works. Note that it is a subclass of the Option class, so you should also read the Javadocs for that class too. The superclass (Options) has already been tested, so your Course unit tests should focus on thoroughly testing the new features of this class (semesters and prerequisites). You must submit these unit tests as part of your final submission.

4. Write a text-based program that uses the rules/Degree class, and prints out all its minors, with the courses of that minor shown indented, after each minor. (So, a nested for loop). Print the output into a text file called bict.txt. Later on, you will be able to incorporate this code into your GUI, as the basis for generating reports about the currently chosen minors and courses.

Designing and Implementing the GUI

Design and implement a GUI for the BICT Explorer.

Your GUI should allow students to explore and select the various ICT careers, BICT minors and courses that are defined in the data files.

Requirements:

  • Usability: Your GUI should be elegant, easy to use, and robust.
  • Data-Driven: Your GUI should be data-driven as much as possible, so that when the details of BICT minors or courses change in the resources files, your GUI automatically adapts to those changes without any Java code changes.
  • CSS Stylesheet: You should use a CSS stylesheet to style your GUI, so that the style can easily be changed later by a professional designer, without any Java code having to be modified.
  • Statistics: your GUI should display the total number of selected courses. This allows the student can see if they have chosen enough courses, or too many, etc.
  • Report generation: you should provide a way for the user to save a report showing their current selections (careers, minors and courses) into a text file or HTML file. The user should be able to enter a name for this report, which will be used as the file name, and should appear in the report as well. This will allow students to experiment with different selections, saving a report about each one.
  • Helpful course selection: your GUI should not allow a course to be selected until its prerequisites are satisfied (i.e. until course.isSatisfied(...) is true). If the user tries to select a course whose prerequisites are not satisfied, it would be helpful to display a message (Alert) about this, showing the required prerequisites.
  • Helpful course arrangement: for good readability, your GUI should group the courses by their year level, or sorting them into alphabetical order by their codes (which groups them by discipline then by year level).

Attachment:- Assignment File.rar

Reference no: EM132002758

Questions Cloud

Discuss aspects of the health care marketplace : Discuss aspects of the health care marketplace in terms of the specific provisions that define a market.
Briefly explain the gist of the article : Module 3 concludes the course textbook Part II, Preparation for Relationship Selling (with chapter 5), and begins Part III, The Relationship Selling Process.
True about significance f calculated : If we have two explanatory variables A1, A2, which of the following is true about Significance F calculated using regression model in excel?
Discuss the ways in which atwood treats womens issues : Discuss the ways in which this series is relevant to contemporary society - To tell the story is to survive.- How is this statement relevant to The Handmaids
Program for exploring various ICT Careers : ICT221 Java Programming Assignment - Your task is to build an interactive graphical program for exploring various ICT Careers
Excel to run a regression analysis : Can someone please confirm that when we use Excel to run a regression analysis, the intercept and slope coefficients that Excel gives are population parameters
What is the projected dividend for the coming year : Momsen Corp. is experiencing rapid growth. Dividends are expected to grow at 28 percent per year during the next three years, 18 percent over the following.
How many contracts must buy or sell in given case : Modern Portfolio Managers (MPM) hold a 8.0 million dollar portfolio of stocks with a beta of 1.3 measured with respect to the S&P 500 index.
Significance f calculated using regression model : If we have two explanatory variables A1, A2, which of the following is true about Significance F calculated using regression model in excel?

Reviews

len2002758

5/31/2018 5:03:06 AM

This is Task 2 of the ICT221 assessment, which is worth 30% of the course. Your task is to build an interactive graphical program for exploring various ICT Careers, and their connections with the minors and the courses in the BICT degree. Hints: Start by doing some paper mockups, and think about how they will work. Design a sequence of deliverable GUIs, starting very simple, and adding features one by one (iterative development). Aim to complete at least 1-2 features per week. The assignment is due on Week 13 (Friday 1) at 11:55pm.

len2002758

5/31/2018 5:03:00 AM

Submission and Marking Criteria - You must submit to Blackboard (Assessment / Task 2) just a REPORT.docx file. This should start with your full name, your student username, your GitHub username, and the URL of your GitHub repository containing all your assignment code and data files, and then the four sections described below.

len2002758

5/31/2018 5:02:54 AM

Your submission will be marked using the following criteria: Report 20% (Report.docx): this should contain four sections: Introduction: one paragraph to explain how your GUI works, plus copy the table below and fill it in to show which features you have implemented). GUI sketches: show your GUI sketches (insert a photo of your paper sketches), followed by one or two screen shots of your final GUI. Then discuss what changes you made and the reasons for those changes. UML diagram: a UML class diagram that shows all the model (rules) classes, the GUI classes that you have written, any JavaFX classes that they inherit from (name only, no details), and the relationships between all classes. Reflection: a brief discussion of what went well in your GUI development, any difficulties that you encountered, and what you would do differently if you were doing it again.

len2002758

5/31/2018 5:02:47 AM

Unit Testing 10%: your unit tests of Course.java. GUI functionality 35%: this will be marked using the following criteria: a playable and robust GUI; good use of JavaFX widgets, layout panes, and controls to build an elegant and functional user interface; appropriate use of bitmap images in the GUI; good resize behaviour when the main window is resized; and ability to generate and save reports about the user's current choices of careers, minors and courses. See the table below for a breakdown of these marks.

len2002758

5/31/2018 5:02:40 AM

GUI code, worth 35% (in package gui): this will be marked using the following criteria: helpful Javadoc comments for public and protected classes and methods; good use of event-driven programming; good OOD of the GUI classes with strong encapsulation of the data fields within classes; good use of inheritance and subtype polymorphism; adherence to recommended Java coding style (naming conventions, code formatting etc.); concise elegant code with no duplicated code; and good use of exception handling to catch and report any I/O or other errors.

Write a Review

JAVA Programming Questions & Answers

  How would you fix the program

How would you fix the program so it terminates when the user enters a Fahrenheit temperature less than the possible minimum temperature?

  How many oranges should be in stock

Imagine that you are a merchant and need to keep better tabs on your merchandise to know when to reorder supplies - determine how many of each item should

  Implement a class icecreamcone

Implement a class IceCreamCone with methods getSurfaceArea() and getVolumn(). In the constructor, supply the height and radius of the cone. Be careful when looking up the formula for the surface area

  Explain the difference between jdk and jre

Explain the difference between Java Development Toolkit (JDK) and Java Runtime Environment (JRE). Identify and correct the error(s) in the given code.

  Develop a java based gui application using swing that

develop a java based gui applicationusing swing that allows the user to enter charityfund informationwrite the

  Write a program that takes input of names from user

Write a program that takes input of names from user. Print total names number and all names. NOTE: Solve this problem using ArrayList and Enhanced For Loop. Typical run of the program:Enter a name: (Q to exit)

  Explain how operating systems and abstraction are related

Compare and contrast System Software and Application Software. Give an example of each. Abstraction is an important quality of an Operating System. Explain how Operating Systems and abstraction are related

  Describe stringbuffer class in java

Describe StringBuffer class in java. List all the functions relevant to it and explain any five of them.

  List three sets of test data for a program

List three sets of test data for a program that determines the quotient A/B, where A must be an integer between 21 and 10, and B must be non-zero.

  Mean and standard deviation write a program that reads a

mean and standard deviation. write a program that reads a set of floating-point data values from the input. when the

  Creates a carloan class object

Creates a CarLoan class object, named cl01. Create a text file that contains the whole dollar customer payment amount values.

  Class should have a method that returns the average

Write a class named TestScores. The class constructor should accept an array of test scores as its arguments. The class should have a method that returns the average of the test scores.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd