highSparrow / Course

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 UnityId Office Hours
Fahmid Morshed Fahid ffahid Mon, 12:00 am - 1:00 pm, EB2 1229B
Yang Shi yshi26 Wed, 9:00 am - 10:00 am, EB2 1229B

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 Design: Milestone
Sept 11 Mattermost Weather Bot
Sept 16 Design and UX Methods
Sept 18 Software Design
🚧    Code    🚧
Sept 23 Design draft review
Sept 25 Architecture
Sept 30 Software Metrics and Refactoring
Oct 2 Complexity workshop HW2
🧪   Test    ✅
Oct 7 Introduction to Testing Bot: Milestone
Oct 9 Integration testing + Web Automation; Web Basics
Oct 14 Project Workday
Oct 16 Unit Testing/Mocking services
🧷   Process    🧯
Oct 21 Software processes Process: Milestone
Oct 23 Sprint planning workshop
Oct 28 Project Workday
Oct 30 Whitebox testing (makeup)
🚀   Deploy    📤
Nov 4 Project Workday
Nov 6 Continuous Integration HW3
Nov 11 Ansible workshop
Nov 13 Configuration Management Deploy: Milestone
☢️   Industry    ☢️
Nov 18 Interviews HW4
Nov 20 Interviews workshop
Nov 25 Productivity
Nov 27 No class
🎬    Demo    💯
Dec 2 Demo REPORT
Dec 4 Demo
Dec 16 Final Exam (8:00 am -- 11:00 am)

About