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:
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 | ||
Sept 11 | Slack/Mattermost Bot + Rasa | ||
Sept 16 | Design patterns and architecture | ||
Sept 18 | Design | ||
🚧 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) |