I am teaching Introduction to Software Engineering (CSC 307) at California Polytechnic State University this Summer. This is a senior-level course for students in the Computer Science program.
CSC 307 covers principles of agile methods; engineering requirements; analysis, design, implementation, testing, and verification of software systems; engineering tradeoffs; and working in project teams.
Lectures
This course includes 16 lectures as follows (lecture slides available):
- Course Presentation
- Process Models
- Agile Methods
- Agile in Action I: Stories
- Agile in Action II: Sprints
- Agile in Action III: Tasks
- Clean Coding
- Software Design: Classes
- Software Design II: Relationships
- Behavioral Design Patterns
- Creational Design Patterns
- Structural Design Patterns
- Final Project
- Code Metrics
- Structural Metrics
- Cost Estimation
Projects
This is an example of a project developed by students in this course: