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 for additional information about course logistics and policies. We will also use Canvas and GitHub Classrooms for submitting coursework and other class activities.
By the end of this course, students should be able to:
- Understand software engineering processes, methods, and tools used in the software development life cycle (SDLC)
- Use techniques and processes to create and analyze requirements for an application
- Use techniques and processes to design a software system
- Identify processes, methods, and tools related to phases of the SDLC
- Explain the differences between software engineering processes
- Discuss research questions and current topics related to software engineering
- Create and communicate about the requirements and design of a software application
- Lectures: M/W/F 1:25-2:15pm, TORG 1060
- Final Exam: Tues December 17 7:45-9:45am
- Instructor: Dr. Chris Brown [[email protected]], Office hours: Tu/Th 1:30-2:30pm
- GTA: Munshi Ali Muid, Office hours: Wed 11am-1pm
- GTA: Swanand Vaishampayan, Office hours: Mon 2:15-4:15pm
- UTA: Ryan Szilvasi, Office hours: Mon/Wed 10am-11am
- UTA: Eric Wang, Office hours: Tu/Th 12-1pm
➡️ 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 |
---|---|---|
👨💻 Intro to Software Engineering 👩💻 | ||
Aug 26 | Introduction | HW0 |
Aug 28 | Software Process | |
Aug 30 | Software Process (cont.) | |
Sept 2 | 💼 LABOR DAY, NO CLASS 🌄 | HW1 |
Sept 4 | [Workshop] Technical Interviews | |
Sept 6 | Project Workday | HW0 due, PM0 due |
📝 Requirements 📖 | ||
Sept 9 | 👩💼 CAREER FAIR, NO CLASS 👨💼 | |
Sept 11 | Requirements and Design Overview | |
Sept 13 | Requirements Elicitation | HW1 due |
Sept 16 | Requirements Analysis | HW2 |
Sept 18 | Requirements Specification | |
Sept 20 | Project Workday | |
Sept 23 | ⚡ Talks | PM1.1 due (before class) |
Sept 25 | ⚡ Talks | |
Sept 27 | ⚡ Talks | PM1 due |
Sept 30 | [Workshop] SE Processes | |
Oct 2 | Project Management | |
Oct 4 | High-Level Design | HW2 due |
Oct 7 | Database Design | HW3 |
Oct 9 | UI/UX Design | |
Oct 11 | 🍂 FALL BREAK, NO CLASS 🍁 | |
🎨 Design 🖌️ | ||
Oct 14 | [Guest Lecture] Low-Level Design | |
Oct 16 | Low-Level Design (cont.) | |
Oct 18 | Coding Metrics | HW3 due |
Oct 21 | Exam Review | |
Oct 23 | 💯 Exam 💯 | |
Oct 25 | Project Workday | |
Oct 28 | [Discussion] SE and SE Processes | |
Oct 30 | [Discussion] Requirements | |
Nov 1 | [Discussion] Design | PM2 due |
🧹 Implementation, Maintenance, and Testing 🧪 | ||
Nov 4 | Implementation | HW4 |
Nov 6 | Testing and Maintenance | |
Nov 8 | [Discussion] Humans Writing Code | |
Nov 11 | [Discussion] Code Reviews | |
Nov 13 | [Discussion] Debugging | |
Nov 15 | [Guest Lecture] SE Topics | HW4 due |
🚀 Deployment and Advanced Topics 👀 | ||
Nov 18 | CI/CD | |
Nov 20 | [Guest Lecture] Deployment | |
Nov 22 | [Guest Lecture] AI for SE | PM3 due |
Thanksgiving Break | ||
Nov 25 | 🦃 THANKSGIVING BREAK, NO CLASS 🙏🏿 | |
Nov 27 | 🦃 THANKSGIVING BREAK, NO CLASS 🙏🏿 | |
Nov 29 | 🦃 THANKSGIVING BREAK, NO CLASS 🙏🏿 | |
Dec 2 | [Discussion] AI Writing Code | |
Dec 4 | [Discussion] Advanced Topics | |
Dec 6 | Retrospective / Project Workday | PM4 due |
💯 Final Exam 💯 | ||
Dec 9 | Final Project Demos | PM5.1 due (before class) |
Dec 11 | Final Project Demos | |
Dec 17 | Final Project Demos and Final Exam | PM5 due |