No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

Course

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.

Objectives

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.

Slack

Office Hours

TA: Mahnaz Friday, 3:00-4:00pm EBII 3228

Schedule

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 No class MILESTONE: DEPLOY
Nov 14 No class
Nov 16 Microservices + Infrastructure
Nov 21 Productivity (PSP+SSP)
Nov 23 Thanksgiving
Nov 28 Demos MILESTONE: REPORT
Nov 30 Demos
Dec 7 Exam (8:00AM--11:00AM) Guide, Practice