# CS3704: Intermediate Software Design and Engineering ### Course Description Software engineering involves the development and maintenance of complex software systems. In this course, students will learn about tools and processes used to implement software in practice, focusing on the requirements and design phases of the software development life cycle. Students will also have an opportunity to work on a project incorporating software development tasks, discuss state-of-the-art SE research, and gain the skills and knowledge necessary to succeed as a software engineer in industry. The course will consist of traditional lectures, practical workshops to gain exposure to SE tools and principles, and seminar-style discussions about advanced research topics in software engineering. Please see the [Course Syllabus](./SYLLABUS.md) for additional information about course logistics and policies. We will also use [Canvas](https://canvas.vt.edu/courses/234343) for submitting coursework and class assignments. ### Learning Objectives By the end of this course, students should be able to: * Compare different software engineering processes and explain when to use them; * Gather, analyze, and specify software requirements for an application; * Design a software system and user interface that meets requirements; * Understand common software engineering tools and practices to maintain, develop, and verify software; * Discuss current and emerging trends in software engineering; * Use AI tools to generate code, unit tests, and test suites; evaluate the quality and accuracy of AI-generated artifacts; and refine outputs to meet functional, performance, and quality requirements; and * Create and communicate (via demo and writing) about the requirements and design of a software application. ### Fall 2026 Course Info * **Lectures:** Tu/Th 9:30-10:45am, HITT 340 * **Final Exam:** Mon December 14, 7:45am-9:45pm, HITT 340 * **Instructor:** [Dr. Chris Brown](https://chbrown13.github.io) [dcbrown@vt.edu], *Office hours:* Tu/Wed 12:00-1:00pm; Gilbert 4105 or [Zoom](https://virginiatech.zoom.us/my/dcbrown) * **GTA:** Minhyuk Ko [minhyukko@vt.edu], *Office hours:* Mon 9-11am; [Zoom](https://virginiatech.zoom.us/j/9431029588) * **UTA:** Jai Sundaram [jsundaram@vt.edu], *Office hours:* Th 4-6pm; [Zoom](https://virginiatech.zoom.us/j/81378638943) ## Schedule โก๏ธ _Please note this schedule is subject to change. **All homework (HW) and project milestone (PM) assignments are due at 11:59pm unless otherwise specified.**_ | Date | Topic | Assignments | |----------|----------------------------------|------------------ | |