Some supplementary material to help you with your CS 126 Assignments
This video explains the concept of classes, objects, interfaces and functions at a very niche level. https://drive.google.com/file/d/1vLuyyw2KnUwiaJqGxtIbls04qtFR1p5Y/view
Abstract Classes and Interfaces - https://medium.com/better-programming/choosing-between-interface-and-abstract-class-7a078551b914
https://www.geeksforgeeks.org/difference-between-abstract-class-and-interface-in-java/
Why should you write code in a modular way? http://singlepageappbook.com/maintainability1.html#:~:text=Modular%20code%20is%20code%20which,not%20just%20about%20code%20organization.
Access Modifiers in Java - https://beginnersbook.com/2013/05/java-access-modifiers/
SOLID Principles - https://medium.com/@mari_azevedo/s-o-l-i-d-principles-what-are-they-and-why-projects-should-use-them-50b85e4aa8b6
DRY & KISS Principle - https://dzone.com/articles/software-design-principles-dry-and-kiss
Design Patterns - esp. Builder, Factory, Singleton, Strategy. https://en.wikipedia.org/wiki/Software_design_pattern
Why should you write Unit tests? https://dzone.com/articles/top-8-benefits-of-unit-testing#:~:text=Unit%20tests%20detect%20changes%20that,accuracy%20of%20the%20each%20unit.
How to write Unit tests using Junit ? https://www.vogella.com/tutorials/JUnit/article.html