CS350, Spring 2014

CS350 Outline & Topics

Outline
Policies
Grades
Library
Forge
Forum
CS350 Introduction to Software Engineering
Topics Lectures Readings Labs/Assignments
1 Introduction

slides: Course Structure and Policies

2 The Software Development Process
2.1 Process Models

slides: Software Development Process Models

text: Agarwal , Ch.2

text: van Vliet, Sect. 3.2, 3.3

2.2 Staffing

slides: Team Organization

text: van Vliet, Sect. 5.2

3 Requirements

slides: Requirements

text: Agarwal , Ch.3

text: Adolph, Ch. 5

text: Baird, Hour 10

text: Cockburn

asst: Writing Requirements (Due: 02/16/2014)

4 Software Construction

slides: Construction

slides: Integrated Development Environments

text: McConnell, Ch. 4

text: CS382, Sect. 1-3

text: Ch. 20

asst: Eclipse (Due: 02/18/2014)

lab: Recitation session (02/14/2014)

5 Unit Testing

slides: Verification and Validation

slides: Testing

slides: Automating the Testing Oracle

slides: Testing ADTs in C++

slides: Stubs and Mocking

text: Test Infected

text: JUnit - A Cook's Tour

text: Google Test Primer

text: Mocks Aren't Stubs

lab: Lab: Unit Testing

asst: Unit testing (Due: 03/19/2013)

lab: Recitation session, for help with unit test lab (02/28/2014)

6 Build Management

slides: Build Managers

slides: File Dependencies: make

slides: Task Dependencies: ant

slides: Managing Builds with Maven

text: Ch. 8

text: Ant Tutorial

text: Maven in 5 Minutes

lab: Midterm exam, during recitation period (03/07/2014)

lab: Lab: Building with Ant

7 Version Control

slides: Version Control

slides: Local Version Control (sccs, rcs)

slides: Centralized Version Control (CVS, Subversion)

slides: Distributed Version Control

slides: Working with a Forge

text: Ch. 1-4

text: Version Control with Subversion

text: Understanding Git Conceptually

lab: Lab: Version Control with Git

asst: Semester Project

asst: Project Team Signup Due(Due: 03/17/2014)

8 Documentation

slides: Documentation and Documentation Generators

text: Ch. 10

text: McConnell, Ch. 32

asst: Project Phase 1 Due(Due: 04/03/2014)

asst: Recitation: Phase 1 evaluation, 1A @ 1:00, 3A@1:20, 5A@1:40, 1B@2:00, 3B@2:25(Due: 04/04/2014)

asst: Recitation: Phase 1 evaluation, 2A @ 1:00, 4A@1:25, 2B@2:00, 4B@2:25(Due: 04/11/2014)

9 Configuration Mgmt

slides: Software Configuration Management

slides: Maven

slides: Ivy

slides: Managing Code Variants

text: High-Level Best Practices

text: Ch. 9

lab: Lab: Working with Ivy

asst: Project Phase 2 Due(Due: 04/17/2014)

asst: Recitation: Phase 2 evaluation, 2A @ 1:00, 4A@1:25, 2B@2:00, 4B@2:25 (04/18/2014)

asst: Recitation: Phase 2 evaluation, 1A @ 1:00, 3A@1:20, 5A@1:40, 1B@2:00, 3B@2:25 (04/25/2014)

10 System and Regression Testing

slides: System Testing

slides: Regression Testing

slides: Issue Tracking

text: Ch. 12-14

lab: Lab: Continuous Integration with Jenkins

11 Analysis Tools

slides: Program Analysis Tools

text: Ch. 5-7

text: Ch. 16-19

asst: Project Phase 3 Due(Due: 04/30/2014)

12 Agile Methods

slides: Agile Methods

slides: Extreme Programming

slides: Scrum

exam: Final exam, on-line (take-home) (5/06/2014)

text: The Agile Manifesto & Twelve principles

text: Shore, ch. 8, Stories

text: Beck, Ch 7

text: Scrum Guide

asst: Phase 3 evaluation: 1B@12:30, 2B@@1:10, 3B@1:50, 4B@2:30, 5B@3:00, Dragas 1105 (5/02/2014)

exam: Final exam, on-line (take-home) (5/06/2014)

asst: Phase 3 evaluation: 1A@12:30, 2A@@1:10, 3A@1:50, 4A@2:30, 5A@3:00, Dragas 1105 (5/07/2014)

Symbol Key Lecture Lecture (handouts) slides Slides text Text exam Exam asst Assignment