Skip to content

Repository for the CS3704 (Intermediate Software Design and Engineering) course at Virginia Tech taught by Dr. Chris Brown

Notifications You must be signed in to change notification settings

CS3704-VT/Course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

CS-3704: Intermediate Software Design and Engineering

Course Description

Software engineering involves the development and maintenance of complex software systems. In this course, students will learn about tools and processes used to implement software in practice, focusing on the requirements and design phases of the software development life cycle. Students will also have an opportunity to work on a project incorporating software development tasks, discuss state-of-the-art SE research, and gain the skills and knowledge necessary to succeed as a software engineer in industry. The course will consist of traditional lectures, practical workshops to gain exposure to SE tools and principles, and seminar-style discussions about advanced research topics in software engineering.

Please see the Course Syllabus for additional information about course logistics and policies. We will also use Canvas and GitHub Classrooms for submitting coursework and other class activities.

Learning Objectives

By the end of this course, students should be able to:

  • Understand software engineering processes, methods, and tools used in the software development life cycle (SDLC)
  • Use techniques and processes to create and analyze requirements for an application
  • Use techniques and processes to design a software system
  • Identify processes, methods, and tools related to phases of the SDLC
  • Explain the differences between software engineering processes
  • Discuss research questions and current topics related to software engineering
  • Create and communicate about the requirements and design of a software application

Fall 2024 Course Info

Schedule

➡️ Please note this schedule is subject to change. All homework (HW) and project milestone (PM) assignments are due at 11:59pm unless otherwise specified.

Date Topic Assignments
👨‍💻     Intro to Software Engineering     👩‍💻
Aug 26 Introduction HW0
Aug 28 Software Process
Aug 30 Software Process (cont.)
Sept 2 💼 LABOR DAY, NO CLASS 🌄 HW1
Sept 4 [Workshop] Technical Interviews
Sept 6 Project Workday HW0 due, PM0 due
📝     Requirements     📖
Sept 9 👩‍💼 CAREER FAIR, NO CLASS 👨‍💼
Sept 11 Requirements and Design Overview
Sept 13 Requirements Elicitation HW1 due
Sept 16 Requirements Analysis HW2
Sept 18 Requirements Specification
Sept 20 Project Workday
Sept 23 ⚡ Talks PM1.1 due (before class)
Sept 25 ⚡ Talks
Sept 27 ⚡ Talks PM1 due
Sept 30 [Workshop] SE Processes
Oct 2 Project Management
Oct 4 High-Level Design HW2 due
Oct 7 Database Design HW3
Oct 9 UI/UX Design
Oct 11 🍂 FALL BREAK, NO CLASS 🍁
🎨     Design     🖌️
Oct 14 [Guest Lecture] Low-Level Design
Oct 16 Low-Level Design (cont.)
Oct 18 Coding Metrics HW3 due
Oct 21 Exam Review
Oct 23 💯 Exam 💯
Oct 25 Project Workday
Oct 28 [Discussion] SE and SE Processes
Oct 30 [Discussion] Requirements
Nov 1 [Discussion] Design PM2 due
🧹     Implementation, Maintenance, and Testing     🧪
Nov 4 Implementation HW4
Nov 6 Testing and Maintenance
Nov 8 [Discussion] Humans Writing Code
Nov 11 [Discussion] Code Reviews
Nov 13 [Discussion] Debugging
Nov 15 [Guest Lecture] SE Topics HW4 due
🚀     Deployment and Advanced Topics     👀
Nov 18 CI/CD
Nov 20 [Guest Lecture] Deployment
Nov 22 [Guest Lecture] AI for SE PM3 due
Thanksgiving Break
Nov 25 🦃 THANKSGIVING BREAK, NO CLASS 🙏🏿
Nov 27 🦃 THANKSGIVING BREAK, NO CLASS 🙏🏿
Nov 29 🦃 THANKSGIVING BREAK, NO CLASS 🙏🏿
Dec 2 [Discussion] AI Writing Code
Dec 4 [Discussion] Advanced Topics
Dec 6 Retrospective / Project Workday PM4 due
💯     Final Exam     💯
Dec 9 Final Project Demos PM5.1 due (before class)
Dec 11 Final Project Demos
Dec 17 Final Project Demos and Final Exam PM5 due

About

Repository for the CS3704 (Intermediate Software Design and Engineering) course at Virginia Tech taught by Dr. Chris Brown

Resources

Stars

Watchers

Forks

Packages

No packages published