Full Static Course Package
Software Design & Principles
This is the full TeqVault Study course version: complete lesson notes, worked examples, labs, quizzes, assignments, student notes, progress tracking, a capstone handbook, and instructor guide. No framework. No npm. No build step.
14 Full Lessons
Each week includes lecture notes, examples, lab steps, assignment, discussion prompts, and quiz questions.
70 Quiz Questions
Every lesson has a 5-question checkpoint and the quiz bank page collects all questions by week.
Real Capstone
Students build a small but clean system with requirements, diagrams, tests, design pattern, and presentation.
Course Map
Open any week below. Student progress is stored locally in the browser.
What Software Design Really Means
Design is the structure that lets working code survive change.
Requirements, Constraints, and Acceptance Criteria
You cannot design well until you understand the problem well.
Decomposition, Modularity, Cohesion, and Coupling
Large systems become manageable when responsibilities are separated cleanly.
Object-Oriented Design That Does Not Fight You
Classes should protect rules, express concepts, and collaborate cleanly.
SOLID Part 1: SRP, OCP, and LSP
The first three SOLID principles help you avoid classes that break when requirements change.
SOLID Part 2: Interfaces, Dependency Inversion, and Testability
Design improves when high-level rules stop depending directly on low-level details.
DRY, KISS, YAGNI, and Naming
Simple design is not lazy design. It is disciplined design.
UML and Practical Design Diagrams
A useful diagram explains one idea clearly.
Design Patterns Part 1: Strategy, Factory, Observer, Singleton
Patterns are tools for recurring design problems, not decorations.
Design Patterns Part 2: Adapter, Decorator, Command, Repository, MVC/MVVM
Some patterns help connect systems, extend behavior, and separate application layers.
Testing and Testable Design
If important behavior is hard to test, the design is probably telling you something.
Software Architecture Basics
Architecture is the system’s big shape and its most important boundaries.
Refactoring, Code Smells, and Technical Debt
Improve design without changing external behavior.
Final Design Review and Professional Presentation
A designer must explain not only what was built, but why it was built that way.