everything.study
CSC 253

Software Design and AI-assisted Development

4.0 credits

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