The first Java project you completed was a huge undertaking where you learned the basics of imperative programming by using loops, if statements, assignments, etc. For this next project, we'll expand into object-oriented programming, which builds upon the imperative programming paradigm and add object-oriented elements to the project.
We'll also learn how programmers solve big problems by breaking them down into smaller problems and abstracting them away into encapsulated reusable methods, a process called decomposition. Finally, we'll learn more features of GitHub and how to use it more effectively to share our code.
In summary, in this project you'll know how to...
- Apply object-oriented programming concepts like encapsulation and abstraction,
- Use method decomposition to break problems into small segments,
- Learn how to use Markdown to format '.md' files
Your task is to create an app or game using Object-Oriented Programming (OOP) concepts of encapsulation and abstraction. You may use the code from your previous project or start fresh.
The project will need to meet the Completion Criteria as well as follow the Academic Honesty Guidelines. This is an individual project but you're encouraged to consult members of your team as well as the teacher.
Before you start any coding, complete the following steps:
- accept the assignment on GitHub Classroom,
- import the project into your IDE,
- accept the Academic Honesty Guidelines in 'worksCited.md'
- read over the assignment's grading rubric on Canvas,
- tick the checkboxes for all the tasks in Part 1,
- make your first commit to your GitHub project.
Part 1 will not be considered complete until all these steps are completed.
As you begin coding, ensure that your project contains all the following criteria:
- One main class (App) from which the program executes,
- Two or more other classes,
- Constructors with overloading,
- Appropriate accessor & mutator methods,
- Static variables & methods
As you work on your project, be sure to...
- Regularly commit your code, i.e. at the end of every coding session,
- Add comments to your code to explain its purpose and functionality
- Add links to any resources you use to the 'worksCited.md' file
Refer to the grading rubric as you go to ensure you're doing the assignment correctly.
Once you've completed your assignment, record a short video (~5 minutes) that includes the following:
- a quick demonstration that your codes works,
- the GitHub project repository with all commits,
- explanation of how your code uses encapsulation
Add the link to your video here: