Homework 6 - Database

Introduction

In this assignment you will practice

Problem Description

In this homework, you will create many useful classes for our end goal of making an ATM database!

You will be provided a TransactionType enum.

Solution Description

Classes:

If there are any classes that you are unfamiliar with (e.g. Predicate or Optional), look them up in Javadocs. Make the visibility of all the methods and fields as you see best fits good programming style.

Allowed imports

If there is something else you’d like to use, ask on Piazza.

Running and Testing

You should create your own testing class to verify that your code works (Don’t submit it though).

Make sure that all your code can be compiled and ran from the command line.

Grading

Submit code that compiles!!!

Non compiling code will receive an automatic zero.

Tips and Considerations

Please start as soon as possible! The earlier you start this assignment, the more time you will have to think and ask questions. If anything seems confusing, read through the entire description and instructions again. As always, feel free to contact your TAs, post on Piazza, or come in for office hours.

Javadocs

Checkstyle

You must run checkstyle on your code to check for violations. For each violation the tool finds, you will lose one point on your total grade for this assignment.

For this homework, the checkstyle cap is 100, meaning you can lose up to 100 points on this assignment due to style errors. As the semester goes on, this cap will increase with each homework and will eventually go away. Run checkstyle early, and get in the habit of writing style compliant code the first time. Don’t wait until 5 minutes before the deadline to find out that you have 100+ violations.

Collaboration

When completing homeworks for CS1331 you may talk with other students about:

You may not discuss, show, or share by other means the specifics of your code, including screenshots, file sharing, or showing someone else the code on your computer, or use code shared by others.

Examples of approved/disapproved collaboration:

In addition to the above rules, note that it is not allowed to upload your code to any sort of public repository. This could be considered an Honor Code violation, even if it is after the homework is due.

Submission

Submit your Transaction and Account files as attachments to the hw6 assignment on Canvas. Be sure to check Piazza for clarifications and updates before submitting. You can submit as many times as you want, so feel free to submit as you make substantial progress on the homework. We only grade your last submission, meaning we will ignore any previous submissions. Submit every file every time you resubmit.

As always, late submissions will not be accepted and non-compiling code will be given a score of 0. For this reason, we recommend submitting early and then confirming that you submitted ALL of the necessary files by re-downloading your file(s) and compiling/running them.

Good luck, and have fun!