CPSC 421-020 Object-Oriented Programming (OOP) Spring 2024
Section 020 TR 12:15 pm - 1:30 pm
Arts & Sciences (CAS) 136
Notes
Software Design
Software Design Characteristics
Rainfall Coding Practices
Algorithmic Decomposition
Git Basics
Separate Compilation
XML
Free-Function Stereotypes
Coding Style
Concerns
Vertical Development
Generalizing Functions
Naming
Method Naming Standards
Event States
Scope
Iterator
Sequence Diagrams
Cohesion
Utilities Feedback
Grouping Functions
UML Class Diagrams
Method Stereotypes
Encapsulation
Constructors and Initialization
Callbacks
UML Multiplicity
Lambda Functions
IoC
RAII
UML Class Relationships
Dependencies
Coupling
UML Association
UML Generalization
Dispatch
VTables
Design Patterns
Design Pattern Template Method
Virtual Destructors
rValue References
Errors and Exception Handling
API
Handlers
Design Pattern Factory Method
SOLID
Design Pattern Command
C++ Inheritance Specifiers
Design Pattern Strategy
C++ Constructor Specifiers
Design Pattern Composite
Design Pattern Adapter
Dependency Injection
PIMPL
Design Pattern Facade
Software Architecture
Design Pattern Singleton
Design Pattern Visitor
C++ Templates
Design Pattern Proxy
Libraries
Design Pattern Message Queue
Conclusion
Guides
Valgrind
Benchmarks
Build Configurations
git Commit Messages
Coding Standard
Compilers
Git Commands
GitHub Authentication
Development Environment: Tools
References
srcML Playground