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.
|Aug 17||Bootcamp: Basics I||HW0|
|Aug 22||Bootcamp: Basics II|
|Aug 24||Bootcamp: REST||HW1|
|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 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|
|Nov 2||Workshop: Mock Interviews||HW5|
|Nov 7||Continuous Deployment||10 Adages|
|Nov 9||No class||MILESTONE: DEPLOY|
|Nov 14||No class|
|Nov 16||Microservices + Infrastructure|
|Nov 21||Productivity (PSP+SSP)|
|Nov 28||Demos||MILESTONE: REPORT|
|Dec 7||Exam (8:00AM--11:00AM)||Guide, Practice|