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 | HW3 | |
Oct 3 | Agile Processes | ||
Oct 5—6 | Fall Break | ||
Oct 10 | Empirical Software Engineering | ||
Oct 12 | Workshop: Data Analysis | HW4 | |
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 |