Skip to content

Commit 59c0059

Browse files
authored
feat: adds project_oop docs (#509)
Signed-off-by: Anthony D. Mays <[email protected]>
1 parent 2bff2f9 commit 59c0059

File tree

2 files changed

+49
-0
lines changed

2 files changed

+49
-0
lines changed

lesson_17/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ Please review the following resources before lecture:
1717
## Homework
1818

1919
- [ ] Complete [Applying SOLID principles](#applying-solid-principles-bank-atm) exercise.
20+
- [ ] Review [OOP Project](/project_oop/) documentation and complete user stories.
2021

2122
## Applying SOLID Principles (Bank ATM)
2223

project_oop/README.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Project OOP
2+
*You down with OOP? (Yeah you know me!)*
3+
4+
## Introduction
5+
6+
For this project, you and your teammates are tasked with modeling a real-world problem using object-oriented and SOLID design principles, from ideation to implementation.
7+
8+
## Project Requirements
9+
10+
* All work must be submitted in your team's assigned GitHub repository.
11+
* The assignment can be completed in TypeScript or in Java.
12+
* Must include at least 5 types of objects that relate to each other.
13+
* One of your objects must be a custom data structure that provides for adding, removing, and updating items in a collection
14+
* Implement at least two custom exceptions.
15+
* Write unit tests achieving 90% code coverage
16+
* Must include an integration test
17+
* Your solution must illustrate each of the SOLID principles
18+
* Each team member must contribute at least one commit containing code and tests.
19+
* Include a README for your repo including a description of the problem you're solving, the solution, and how you would improve your solution.
20+
21+
# Presentation Requirements
22+
23+
* Your total time will be limited to 10 minutes and up to 10 slides.
24+
* Each member of the team must speak during the presentation.
25+
* Your presentation must address the following questions:
26+
* What problem were you attempting to solve?
27+
* How does your design address the solution?
28+
* How did you address each of the SOLID principles?
29+
* How would you improve on your solution?
30+
31+
## Extra Credit
32+
33+
Design a CLI that allows users to interact with your application. Check out the code in [lesson_10](/lesson_10/libraries/src/cli/) for an example.
34+
35+
## Timeline
36+
37+
* Submit three user stories (Monday, 11/4 5PM ET)
38+
* Receive approval for your user stories (Tuesday, 11/5 1PM ET)
39+
* Finish code commits (11/8, 1PM ET)
40+
* Give presentation (11/11, 1PM ET)
41+
42+
## Grading
43+
44+
Your grade for this project will amount to 25% of your final grade in the course.
45+
46+
* 50% of your project grade will be composed of a team score. Your final solution and presentation will be assessed on how well it meets the described functional and technical requirements. Work submitted after the assigned deadline will result in a deduction of points.
47+
* Completing the extra credit will enable up to an additional 50% increase to the team score component.
48+
* The remaining 50% of your grade will be composed of an individual score. The individual score will be computed based on survey feedback from your teammates and the instructors/TAs regarding your technical ability, communication skills, and teamwork contributions.

0 commit comments

Comments
 (0)