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: Mahnaz Friday, 3:00-4:00pm EBII 3228
The following schedule is subject to change.
| Class | Topics | Resources | Assignments |
|---|---|---|---|
| Aug 17 | Bootcamp: Basics I | HW0 | |
| Aug 22 | Bootcamp: Basics II | ||
| Aug 24 | Bootcamp: REST | HW1 | |
| Aug 29 | Bots | ||
| Aug 31 | Workshop: Slack bot | ||
| Sep 5 | Design | MILESTONE: DESIGN | |
| Sep 7 | Workshop: Design roundtables | ||
| Sep 12 | Architecture Patterns | ||
| Sep 14 | Patterns, APIs, Frameworks | HW2 | |
| Sep 19 | Web Basics | ||
| Sep 21 | Workshop: Selenium Testing | MILESTONE: BOT | |
| Sep 26 | Testing | ||
| Sep 28 | Workshop: Unit Tests + Mocking | ||
| Oct 3 | Agile Processes | ||
| Oct 5—6 | Fall Break | ||
| Oct 10 | Empirical Software Engineering | ||
| Oct 12 | Workshop: Data Analysis | HW Complexity | |
| Oct 17 | Program Analysis, Metrics | ||
| Oct 19 | Workshop: Complexity | MILESTONE: SERVICE | |
| Oct 24 | Configuration Management | ||
| Oct 26 | Workshop: Ansible, Vagrant | ||
| Oct 31 | Interviews | ||
| Nov 2 | Workshop: Mock Interviews | HW5 | |
| Nov 7 | Continuous Deployment | 10 Adages | |
| Nov 9 | Microservices + Infrastructure | MILESTONE: DEPLOY | |
| Nov 14 | Productivity (PSP+SSP) | ||
| Nov 16 | TBD | ||
| Nov 21 | TBD | ||
| Nov 23 | Thanksgiving | ||
| Nov 28 | Demos | MILESTONE: REPORT | |
| Nov 30 | Demos | ||
| Dec 7 | Exam (8:00AM--11:00AM) | Guide, Practice |