CSC 510 introduces students to the discipline of developing useful and high-quality software-based systems. Students will be exposed to the techniques needed for the practice of effective software engineering as well as the skills required to succeed as a software professional.
See the Syllabus for details on classroom policies and evaluation.
By the end of the course, you should be able to accomplish the following objectives:
- Implement software engineering practices in a team project.
- Identify practices related to software process.
- Decide how to test a system and measure coverage.
- Compare and contrast design techniques and architectural patterns.
- Measure the quality of software code.
- Build tools for supporting software engineering tasks.
- Evaluate evidence related to a software practice.
- Identify configuration management practices for improving maintanance of software
- Apply deployment practices and patterns.
Students are expected to gain practical exposure to tools, processes, and principles of software engineering through hands-on projects while understanding models and research ideas behind the tools and processes. Lectures will include workshop style learning experiences, where students get to work on a problemset and receive feedback from the instructor and other classmates.
| TA | UnityId | Office Hours |
|---|---|---|
| Fahmid Morshed Fahid | ffahid | Mon, 12:00 am - 1:00 pm, EB2 1229B |
| Yang Shi | yshi26 | Wed, 9:00 am - 10:00 am, EB2 1229B |
The following schedule is subject to change.
| Class | Topics | Resources | Assignments |
|---|---|---|---|
| 🥾 Bootcamp 🥾 | |||
| Aug 21 | Engineering Basics I | Course prereqs and setup | HW0 |
| Aug 26 | Engineering Basics II | ||
| Aug 28 | Git Internals - Dr. Derrick Stolee | ||
| Sept 2 | Labor Day | ||
| Sept 4 | REST apis | HW1 | |
| 🎨 Design 🏛️ | |||
| Sept 9 | Bots | Design: Milestone | |
| Sept 11 | Mattermost Weather Bot | ||
| Sept 16 | Design | ||
| Sept 18 | Design patterns and architecture | ||
| 🚧 Code 🚧 | |||
| Sept 23 | |||
| Sept 25 | |||
| Sept 30 | |||
| Oct 2 | |||
| 🧪 Test ✅ | |||
| Oct 7 | Web Basics; Integration testing with Selenium | ||
| Oct 9 | |||
| Oct 14 | |||
| Oct 16 | |||
| 🧷 Process 🧯 | |||
| Oct 21 | |||
| Oct 23 | |||
| Oct 28 | |||
| Oct 30 | |||
| 🚀 Deploy 📤 | |||
| Nov 4 | |||
| Nov 6 | |||
| Nov 11 | |||
| Nov 13 | |||
| ☢️ Industry ☢️ | |||
| Nov 18 | |||
| Nov 20 | |||
| Nov 25 | |||
| Nov 27 | No class | ||
| 🎬 Demo 💯 | |||
| Dec 2 | |||
| Dec 4 | |||
| Dec 16 | Final Exam (8:00 am -- 11:00 am) | ||