CS795, Spring 2013

CS795 Outline & Topics

Outline
Policies
Library
CS795/895 Managing Software Development in Research Projects
Topics Lectures Readings Labs/Assignments
1 Getting Started

slides: Course Overview

slides: Integrated Development Environments

text: Ch. 20

lab: lab: Java Projects in Eclipse

lab: Lab: Eclipse and C++

2 Unit Testing

slides: Verification and Validation

slides: Testing

slides: Automating the Testing Oracle

slides: Testing ADTs in C++

text: JUnit - A Cook's Tour

text: Test Infected

text: Boost Unit Test Framework

text: Google Test Primer

asst: Unit testing (Due: 02/13/2013)

3 Build Management

slides: Build Managers

slides: File Dependencies: make

slides: Task Dependencies: ant

text: Ch. 8

asst: ant (build manager) (Due: 03/06/2013)

4 Version Control

slides: Version Control

slides: Local Version Control (sccs, rcs)

slides: Local Version Control (sccs, rcs)

slides: Distributed Version Control

slides: Working with a Forge

text: Ch. 1-4

text: CVS cheatsheet

text: Version Control with Subversion

text: Understanding Git Conceptually

asst: Version Control Meta-Assignment (Due: 03/25/2013)

5 Documentation

slides: Documentation Generators

text: Ch. 10

6 Configuration Mgmt

slides: Software Configuration Management

slides: Managing Code Variants

slides: Maven

slides: Ivy

text: High-Level Best Practices

text: Ch. 9

asst: maven projects

7 System and Regression Testing

slides: System Testing

slides: Regression testing

slides: Issue Tracking

text: Ch. 12-14

8 Analysis Tools

slides: Program Analsysis Tools

text: Ch. 5-7

text: Ch. 16-19

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