# White Tower Project
Your White Tower Project is to design and develop a Java computer program of your own/ group choosing that addresses a need at your school, club, or community. Please note that you have a limited amount of time to complete this project.
### RULES FOR THE PROJECT:
1) You can work on the project by yourself or have a **team**1.
2) Written **Executive Summary**2 why you decided to do this particular project.
3) The project must be in **java**.
4) The project must be approved prior to you/ your team developing your program.
5) Your program must be created by you and/or your peers. Plagiarizing code will not be accepted.
6) You must **comment** out your code where appropriate.
7) You must have an [**explanation**](https://ap-csa-java.github.io/CSA_JAVA-Course/home.html#java-style-guidelines) of the purpose of your program at the beginning of your program.
8) Your program should include, but not limited to: *variables, arrays/ arrayList, nested iterations, loops, Boolean logic, constructors, toString*, inheritance
9) The program must work and be relatively bug-free in order to get full credit.
1 - A team is 2 or 3 people. Each person must have a significant programming role within the group.
2 - Executive Summary: project background, proposed solution, deliverables and goals, conclusion.
### Project schedule
| Dates | Activity | Points |
| :--- | :--- | :---: |
| | Create and submit a digital project proposal that includes your brainstorming notes: | 5 |
| |
| |Your Student Developed program must included: | |
| | ***variables (appropriately named)*** | 5 |
| | ***arrays/ arrayList (appropriately named & must have more than 3 items in the array/ arrayList)*** | 5 |
| | ***nested iterations*** | 5 |
| | ***loops*** | 5 |
| | ***boolean logic*** | 5 |
| | ***constructors*** | 5 |
| | ***Encapsulation*** | 5 |
| | ***toString Method*** | 5 |
| | ***inheritance*** | 5 |
| |
| 5/31 | **Deliverables for your White Tower Project:** | |
| | Submission of your written proposal (revised if needed) and/or supporting documentation | 10 |
| | Program Code appropriately commented (Block Code) as a .txt/.java file using the [Java Style Guide](https://ap-csa-java.github.io/CSA_JAVA-Course/home.html#java-style-guidelines) | 20 |
| | Include at least four test cases that demonstrates your program working as intended while also looking for conditions that break your program.** | 12 |
| | Video of your program running with narration (length no more than 2 minutes) | 8 |
| | **TOTAL POINTS** | 100 |
------------------------------------------------------------------------------------------
** - see **Example** below
| Test Case # | Test Case Description | Test Steps | Test Data | Expected Result | Actual Result | Pass/Fail |
| :------: | :------: | :------: | :------: | :------: | :------: | :------: |
| Case 1 | Check fields when the user clicks the sign-in button | 1. Enter email Address
2. Enter Password
3. Click sign-in button | Email: JEV@example.com
Password: simplePassword321 | Login should be successful | Login was successful | Pass |
| Case 2 | Check fields when the user clicks the sign-in button | 1. Enter email Address
2. Enter Password
3. Click sign-in button | Email: JEV@example.com
Password: Field left blank | Login should be successful | Login was not successful | Fail |