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.
|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|
The following schedule is subject to change.
|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|
|Sept 9||Bots||Design: Milestone|
|Sept 11||Mattermost Weather Bot|
|Sept 16||Design and UX Methods|
|Sept 18||Software Design|
|Sept 23||Design draft review|
|Sept 30||Software Metrics and Refactoring|
|Oct 2||Complexity workshop||HW2|
|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|
|Oct 21||Software processes||Process: Milestone|
|Oct 23||Sprint planning workshop|
|Oct 28||Project Workday|
|Oct 30||Whitebox testing (makeup)|
|Nov 4||Project Workday|
|Nov 6||Continuous Integration||HW3|
|Nov 11||Ansible workshop|
|Nov 13||Configuration Management||Deploy: Milestone|
|Nov 20||Interviews workshop|
|Nov 27||No class|
|Dec 16||Final Exam (8:00 am -- 11:00 am)|