关键词 > CSC1035/CSC1036
CSC1035 “Programming Portfolio 2” / CSC1036 “Programming Portfolio”
发布时间:2023-03-01
Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit
CSC1035 “Programming Portfolio 2” / CSC1036 “Programming Portfolio”
Coursework Part 1
This work is due for electronic submission thorough NESS. It represents an individual assignment (no group work) and can be carried out during independent study and during weekly practical classes.
This is the first part of the module’s coursework, which constitutes 33% of the final module mark if you are taking CSC1035 or 50% if you are taking CSC1036.
Clarifications and frequently asked questions about the coursework will be posted on canvas at
https://ncl.instructure.com/courses/48552/pages/auction-company-coursework-faq-and-clarifications
0. Before You Start
Create a git repository in the university’s computing github organisation. The repository’s name must be in the following format: https://github.com/newcastleuniversity-computing/studentNumber_moduleCode_coursework1_2022 e.g. if your student number is 15999999 and you are taking the CSC1035 module, your repository must be at https://github.com/newcastleuniversity-computing/15999999_CSC1035_coursework1_2022 .
1. Objectives
The objectives of this coursework are for you to demonstrate that you can:
Define classes, fields, constructors and methods in Java
Use appropriate types, including collections
Implement basic algorithms using collections
Write a main method including console I/O
Devise appropriate testing examples
Document your solution with javadoc
Note that at the time of setting the coursework, you will not have been taught all the material relevant to this exercise (for example, main method, console I/O, testing). You may need to research relevant Java Class libraries in order to get help with certain features.
2. Scenario: Auction Company
A reporting system is to be developed for an auction company specialising in antique furniture, paintings and sculptures. The company has a number of auction houses and wants to keep track of how their auction houses are performing and store details of the items each auction house sells. Each item sold has an associated lot number.
Make use of correct version control practice for the development of this project. This includes: professional and relevant commits and commit messages, and a .gitignore file that excludes project configuration information.
3. Problem specification and mark scheme
Define a Java class Item with appropriate fields, methods and constructor to store and retrieve information about the item lot number, name of buyer, price for which the item was sold, year in which the item was sold and whether the item was a piece of furniture, a painting or a sculpture.
Define a Java class AuctionHouse with appropriate fields, methods and constructor to store and retrieve the name of the auction house, and a list of items that it has sold. Include methods to return:
The Item with the highest ever price sold at the auction house.
The average item price recorded by the auction house in a given year.
A list of all items sold by the auction house with a price greater than a given amount of money.
Define a Java class Reporting, which holds information about all auction houses. Include methods to return:
The Item with the largest price ever recorded.
The AuctionHouse with the largest average price for a given year.
A list of all Items sold with price greater than a given amount of money.
Define a class ReportingIO, with a main method which does the following:
Presents the user with a menu (printed to the console) of features:
o enter AuctionHouse data;
o enter Item data;
o provide reporting statistics on: auction house with largest average item price for a given year, highest price item ever reported (including all its details), and all items sold with a price greater than a given amount (including all their details); or
o exit
Takes user input from the console to choose one of the menu features
Allows the user to input, via the console, the details of auction houses and items
After executing one of the features, returns the user to the menu to choose another option
Make sure to include prompts that make it clear how the user is intended to use the program. All classes should be properly documented with javadoc and include appropriate testing examples.
4. What to submit
You must submit 1 zip file to Ness, as follows:
o A zip file named‘CourseCode_coursework_pt1_2022_FirstnameLastname.zip’, where‘CourseCode’is CSC1035 or CSC1036 depending on which module you are taking,‘Firstname’is replaced with your first name, and‘Lastname’is replaced with your last name. The zip file must contain:
The source code of your Java classes.
The generated javadoc for your classes.
A copy of your project’s .git directory.
A PDF document named‘CourseCode_coursework_pt1_2022_FirstnameLastname.pdf’ following the same conventions as above, containing a reflective commentary on your implementation (approximately 500 words), saying what went well and what you would do to improve or extend your program. This report should also talk about the use of version control throughout the development of the project.
5. Mark Scheme
The coursework is marked out of 30 and accounts for 33% of the module mark for CSC1035 or 50% of the module mark for CSC1036.
The breakdown of the marks is as follows:
- Item Class: 10%
- AuctionHouse Class: 15%
- Reporting Class: 20%
- ReportingIO Class: 20%
- Javadoc: 5%
- Testing: 10%
- Reflective report: 20%
Your submission must be your own work and you must not share your code with other students or make it public. If you use code from resources available to you (e.g. online or the slides), you must provide a reference as a comment in your source code. Submissions will be checked for plagiarism.