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.

Office Hours

TA:

Schedule

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)