I am teaching Individual Software Design and Development (CSC 305) this Fall. This is a senior-level course for Computer Science and Software Engineering students.
CSC 305 presents practical software development skills needed to construct production-quality software modules applying the object-oriented paradigm. Topics include inheritance, exceptions, loggers, containers, and multithreading. Students complete an individual programming project of mid-level complexity.
Lectures
This course includes 16 lectures as follows (lecture slides available):
- Clean coding in practice
- Exception handling
- Logging
- Object-oriented design
- Encapsulation, polymorphism, inheritance
- SOLID Principles
- Design Patterns
- Architectural Patterns
- Domain-specific Patterns
- Package, Module, Component, and Containers
- Frameworks and API Development
- Software Architecture
- Software Product Lines
- Structural Metrics
- Refactoring
- Individual Final Project