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 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, Data & Decision Sciences 150
- Final Exam: Mon December 11 3:25-5:25pm
- Instructor: Dr. Chris Brown [[email protected]], Office hours: Mon/Wed, 11am - 12pm
- GTA: Xiaoxiao Gan [[email protected]], Office hours: Th, 10am - 12pm
- GTA: Hunter Leary [[email protected]], Office hours: Tu, 11am - 1pm
- UTA: HyunJe Kim [[email protected]], Office hours: Mon/Wed/Fri, 9 - 11am
- UTA: Brian Nguyen [[email protected]], Office hours: Tu 1 - 3pm, Th 1 - 2pm
➡️ 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 👩💻 | ||
May 22 | Introduction | HW0 |
May 23 | Introduction (cont.) | |
May 24 | [Workshop] Software Engineering Basics | HW0 due |
May 29 | Software Process | HW1 |
May 30 | Software Process (cont.) | |
May 31 | [Workshop] Technical Interviews | |
Jun 5 | 💼 LABOR DAY 🌄 | |
📝 Requirements 📖 | ||
Jun 6 | Requirements Overview, Group Project Requirements | PM0 |
Jun 7 | [Discussion] Software Engineers | HW1 due |
Jun 12 | Requirements Analysis | PM0 due, PM1 |
Jun 13 | Requirements Analysis (cont.) | |
Jun 14 | [Workshop] Requirements | |
Jun 19 | Requirements Specification | |
Jun 20 | Requirements Engineering | |
Jun 21 | Project Workday | PM1 due |
Jun 26 | ⚡ Talks | HW2 |
Jun 27 | ⚡ Talks | |
Jun 28 | ⚡ Talks | |
Oct 2 | Project Management | PM2 |
Oct 4 | Guest Lecture | |
Oct 6 | 🍂 FALL BREAK 🌄 | |
🎨 Design 🖌️ | ||
Oct 9 | Design Overview | HW3, HW2 due |
Oct 11 | [Discussion] SE Processes | |
Oct 13 | [Discussion] Requirements | PM2 due |
Oct 16 | High-Level Design | |
Oct 18 | High-Level Design (cont.) | |
Oct 20 | [Workshop] Design Patterns | HW3 due |
Oct 23 | Detailed Design | PM3 |
Oct 25 | Detailed Design (cont.) | |
Oct 27 | [Discussion] Design | |
Oct 30 | Coding Metrics | |
Nov 1 | Exam Review | |
Nov 3 | 💯 Exam 💯 | |
🚧 Implementation and Maintenance 🧹 | ||
Nov 6 | Implementation | HW4 |
Nov 8 | Maintenance | |
Nov 10 | [Discussion] Implementation and Maintenance | PM3 due |
✅ Testing 🧪 | ||
Nov 13 | Testing | |
Nov 15 | [Workshop] Testing and Development Environments | |
Nov 17 | [Discussion] Testing | HW4 due |
Thanksgiving | ||
Nov 20 | 🦃 THANKSGIVING BREAK | |
Nov 22 | 🦃 THANKSGIVING BREAK | |
Nov 24 | 🦃 THANKSGIVING BREAK | |
🖥️ Advanced Topics in SE 👀 | ||
Nov 27 | Deployment | PM4 |
Nov 29 | [Discussion] Advanced Topics | |
Dec 1 | [Workshop] Automated Software Engineering, Retrospective | |
💯 Final Exam 💯 | ||
Dec 4 | Final Project Demos | PM4 slides due |
Dec 6 | Final Project Demos | |
Dec 11 | Final Project Demos | PM4 due |