+++
date = “2016-08-30T11:35:18-04:00”
math = false
title = “Spring 2018. CS 3704: Intermediate Software Design and Engineering”

+++

Lectures: Tuesday and Thursday, 9:30am – 10:45pm, GOODW 155
Instructor: Francisco Servant [fservant@vt.edu]
Instructor Office hours: After class, or by email appointment

Description

Software engineering is concerned with developing and maintaining software systems that behave reliably and efficiently, and satisfy all requirements that customers have defined for them. In this course, we will first introduce software process and then go over every phase in the process: requirements analysis, software design, implementation, testing, and maintenance. Finally, we will briefly introduce some advanced concepts in software engineering.
We will learn-by-doing to strengthen our understanding of materials covered in lectures. Class attendance and participation are highly encouraged to improve critical thinking and communication skills of students. Students will do a group project (up to 4 people per group) following all the stages of the software development lifecycle. Students will: document software requirements, design software, implement code, and test the functionality of a software project.

Prerequisites

CS 3114 (Minimum grade of C).

Textbook

The textbook for the course concentrates on the tasks of specification, requirements and object-oriented design. The supplemental texts listed here are NOT REQUIRED for the course, but contain a broader set of materials about software engineering. Hard or electronic copies of these books are available at VT library. Class lectures and the books will provide the material to use as you build your projects. Some of the material will be in your textbook; some will not. Additional materials will be available online.

Grading and Evaluation

Distribution of points:

Midterm 20%
Final Exam 30%
Group Project 50%

Submission guidelines:

Assignments must be submitted as follows:

Late submission policy:

Unexcused late assignments will be penalized 1% per 1-hour period.

Grading scale:

≥ 93% → A ≥ 83% → B ≥ 73% → C ≥ 63% → D
≥ 90% → A- ≥ 80% → B- ≥ 70% → C- ≥ 60% → D-
≥ 87% → B+ ≥ 77% → C+ ≥ 67% → D+ ≥ 0% → F

Schedule (tentative)

Week Date Topic Reference Materials Assignment
1 01/16 Introduction to Software Engineering * Standish Group Report 1995
* Fred Brooks, “No Silver Bullet - essence and accident in Software Engineering”
* They write the right stuff
01/18 Introduction to Software Engineering
2 01/23 Teams due before class
01/25
3 01/30 Project selections due before class
02/01
4 02/06
02/08
5 02/13
02/15
6 02/20
02/22
7 02/27
03/01 Midterm Midterm exam
8 03/06 No class - Spring Break
03/08 No class - Spring Break
9 03/13
03/15
10 03/20
03/22
11 03/27
03/29
12 04/03
04/05
13 04/10
04/12
14 04/17
04/19
15 04/24
04/26
16 05/01
05/03 No class - Reading Day
Exam 05/08 Exam in class 10:05am – 12:05am Final exam

Policies

Virginia Tech Honor Code:

The work you turn in must be your own. Consequences of cheating in this class: a letter in your academic file, and the course grade is lowered, most likely to F. Material that is copied from books or Web pages needs to be quoted and the source must be given. If you plagiarize, you run the severe risk of failing the class, in a most disgraceful manner.

Accommodations:

If you need special accommodations, please contact the instructor during the first week of classes.