Software Design and AI-assisted Development
Software design is a critical discipline because modern software systems are too complex for any single individual to fully comprehend, yet they must be designed to avoid causing harm to the people they serve. This course focuses on the collaborative construction of software by teams. The curriculum covers: 1. Design Principles and Practices: Information hiding, software architectures, work assignments, team organization, iterative development, and documentation. 2. Safe Programming in Rust: Generics and traits, ownership and borrowing rules, safe pointers, modules, and design patterns. 3. AI Assistance: Automated code and test generation, specialization, and coordination by coding agents. 4. Ethical Principles: Fairness and human fallibility. Assignments emphasize teamwork in software design and development. Students enrolled in CSC 453 are also required to learn Rust meta-programming
Sources
- Course catalogue ↗2026-2027