CSCI-142 project. Videogame inventory system
The goal of this project is to demonstrate the knowledge of how to build a non-trivial OOP program with Java Swing GUI as a front end.1) Must have a Java Swing front-end GUI2) Must utilize the OOP paradigms: encapsulation, inheritance, polymorphism, abstraction3) Must utilize at least 2 of the following ADTs: List, Tree, Stack, Queue / PQ, Deque, Map, Set4) Must define at least 5 custom classes (writing a custom data structure counts as 1)5) Must write at least one sort algorithm, and use at least one search algorithm w/ running time of O(log2n) or O(1)6) Must validate all inputs from the user (input validation); no bad input possible7) Must save and load information from a file(s)Joe Del Rocco CSCI 142: Term Project
You will develop a non-trivial program of your choice in Java Swing and present it by the end of this
course.1 The goal of this project is to demonstrate that you understand how to build a non-trivial OOP
program with Java Swing GUI as a front end. A contract agreement between you and your instructor is
required. The program needs to be of sufficient complexity to be approved. Ideally it will utilize many
of the concepts and Java syntax that you have explored in this course.
If you are working in a team, please send your instructor an email with the names of all team members.
If working by yourself, here is the URL to setup your GitHub Classroom repository:
https://classroom.github.com/a/iwYDMAu- <- – – – – – – – – – – – Don’t click if working in a team!
(a) Contract Agreement
Your instructor must sign off on your proposed project before you can begin working on
it. Please complete the contract below and send it to your instructor. Once all functionality is agreed
upon, the instructor will sign and return it to you. The sooner you do this, the more time you
have to work on your project, so don’t delay! Once signed by both parties, commit and push this
contract to your project repository. Note that various programs can open and edit PDF files, including:
Microsoft Word, Google Drive, and many free online editors. If necessary, you can also screenshot, print,
type / hand write, scan / capture the contract. Only the contract portion of this document is required.
(b) Minimum Requirements
• Must have a Java Swing front-end GUI
• Must utilize the OOP paradigms: encapsulation, inheritance, polymorphism, abstraction
• Must utilize at least 2 of the following ADTs: List, Tree, Stack, Queue / PQ, Deque, Map, Set
• Must define at least 5 custom classes (writing a custom data structure counts as 1)
• Must write at least one sort algorithm, and use at least one search algorithm w/ running time of
O(log2n) or O(1)
• Must validate all inputs from the user (input validation); no bad input possible
• Must save and load information from a file(s)
(c) Example Project Ideas
These are just examples of sufficiently complex programs. Please feel free to propose your own project.
• A polished, persistent, editable, file-backed collection of complex objects (e.g. a store inventory +
point-of-sales system, calendar of events, video game inv. system w/ icons, buy/sale forum, etc.)
• A file locker that supports both compression + decompression of a group of files (think 7Zip,
WinRar, etc.), as well as encryption + decryption
• A modern looking and responsive RSS, Atom, or Twitter feed reader
• A Paint program w/ colors, brushes, backgrounds, shapes, etc. and ability to save the final image
• A complex ATM interface w/ multiple accounts, logins, and encrypted file-backed accounts
• A simple, polished video game
1 All presentations will be held virtually online.
Page 2 of 4
Joe Del Rocco CSCI 142: Term Project Project
You will commit and push your changes to your individual or team GitHub Classroom repository for this
assignment. If you are in a group, all team members will commit and push to the same repository (and
all teams members are expected to be visible in the commit history). Please commit and push early and
often to demonstrate your work ethic and progress. You will also commit and push your contract and
any presentation slides / materials used for your presentation.
Using more than 10% of code from an existing Java project online Instant 0
General attempt at completing your project 25%
Program compiles and runs w/out crashing 10%
Use of OOP paradigms 10%
Use of 5 or more custom classes 10%
Use of at least 2 ADTs from list 10%
Use of file input and output 10%
Use of custom sort and optimal search methods O(log2n) / O(1) 10%
User input is validated, making it difficult to crash program w/ bad input 5%
Presentation professionalism and thoroughness 10%
Page 3 of 4
We value our customers and so we ensure that what we do is 100% original..
With us you are guaranteed of quality work done by our qualified experts.Your information and everything that you do with us is kept completely confidential.
You have to be 100% sure of the quality of your product to give a money-back guarantee. This describes us perfectly. Make sure that this guarantee is totally transparent.Read more
The Product ordered is guaranteed to be original. Orders are checked by the most advanced anti-plagiarism software in the market to assure that the Product is 100% original. The Company has a zero tolerance policy for plagiarism.Read more
The Free Revision policy is a courtesy service that the Company provides to help ensure Customer’s total satisfaction with the completed Order. To receive free revision the Company requires that the Customer provide the request within fourteen (14) days from the first completion date and within a period of thirty (30) days for dissertations.Read more
The Company is committed to protect the privacy of the Customer and it will never resell or share any of Customer’s personal information, including credit card data, with any third party. All the online transactions are processed through the secure and reliable online payment systems.Read more
By placing an order with us, you agree to the service we provide. We will endear to do all that it takes to deliver a comprehensive paper as per your requirements. We also count on your cooperation to ensure that we deliver on this mandate.Read more