I am teaching Software Engineering II (CSC 309) at California Polytechnic State University this Winter. I have been teaching this course since the Fall of 2022. This is a senior-level course for students in Computer Science and Software Engineering programs.
CSC 309 is a continuation of the software lifecycle – Methods and tools for the implementation, integration, testing, and maintenance of large software systems; software development and testing environments; software quality assurance.
Lectures
This course includes 26 lectures as follows (lecture slides available):
- Course Presentation
- Software Metrics: Code Quality
- Software Metrics: Structural Quality
- Stable Abstraction and Stable Dependency Principles
- Software Validation
- [Sprint Review 1]
- Let’s Add Features to Our Final Project
- Technical Debt
- Test Coverage
- Application Programming Interfaces I
- Application Programming Interfaces II
- Connecting the Dots I
- [Sprint Review 2]
- Libraries and Dependencies Management
- Pair Programming
- Continuous Integration
- Connecting the Dots II
- Code Review
- [Sprint Review 3]
- Tasks vs. Issues
- Test-Driven Development
- Frameworks
- Cost Estimation
- Final Exam Review
- Instructions for Final Project Delivery
- [Sprint Review 4]
Projects
These are examples of projects developed by students in this course: