The final project for the APCSA class is designed to put the Java knowledge and skills you have learned during the course into practice. You will be expected to design, implement, and test a complete project written in the Java programming language. The project should be unique.
- Not the same as others in the class
- If it is a game or simulation it should be implemented in a unique way (different rules of play) Not just a version of an existing game.
- Complete a project of your choosing in the Java programming language written from scratch by a team of up to four people
- Must contain a graphical and persistent data component (settings or data should save and laod on exit and start of the program)
- Must have a detailed project proposal signed off by the teacher before beginning development. After an initial research period, this document may not be changed without approval.
- The Java code must use OO design/programming techniques, with appropriate use of abstraction, encapsulation, inheritance, and polymorphism.
- Each individual team member will be primarily responsible for the design and implementation of at least one of the main classes and persistent data set in the program. This class will form the basis for the individual project write up and individual code review. This class will demonstrate OO design principles including abstraction, encapsulation, inheritance, and polymorphism.
- Must have a group project write up which describes how the overall program works to fulfill the project objectives.
- Must have an INDIVIDUAL write up by each team member focusing on their programming contribution and demonstrating their OO programming skills.
- Must be able to be compiled and run in a standard Java on CodeSpaces or other IDE and must include a YouTube video demonstrating the program running correctly and fulfilling the objectives.
- All files must be added and changes committed often to the Github Classroom assignment repository.
- Team submit: a Project Proposal (in Google Classroom)
- Individually all students submit: a daily progress journal (in Google Classroom)
- Individually all students submit: a 'Individual Project Write Up' (in Google Classroom)
- Team submit: a 'Group Project Write Up' (in Google Classroom)..
- Team submit: a YouTube video demonstrating the final program running correctly and meeting the objectives of the project
- All code must be submitted in a Java/Java Swing program that compiles and runs without errors and fulfills the objectives of the project.
- Submit all code to the Github Classroom assignment repository.