Managing Software Development CS 5500 Spring 2011

Course Directories | Lecture Notes | Projects | Blackboard | Mailinglist (archive, sign-up, etc.) | Assembla/Documentation | Office Hours.

Documents that the instructor has written to define the project. Some of them are dated because the class found cleaner definitions and solutions.
Playground Designer Guide .
SCG Description .
Problem Statement .

We learn about Managing Software Development by managing a software development project for a model of a generic game played daily by scientists around the world. It is a web application about serious, but fun games intended to be used by organizations such as IBM and NASA.

Required textbook: The successful textbook (it is the 3rd edition)

Object-Oriented Software Engineering
Third Edition
Bernd Bruegge
Allen Dutoit
Prentice Hall, Pearson
has the same objective: to learn managing software development by doing project.

From an existing product, we will eventually develop a software product line. See Software Product Lines..

Optional additional text book:

The Pragmatic Programmer, latest edition
Addison Wesley
 The Pragmatic Programmer Page 

For our project we will use an interesting game that models a scientific community of scholars that propose claims and oppose each others' claims. It is called the Scientific Community Game or the Specker Challenge Game. Because you all have been exposed to several scientific disciplines, it will be easy for you to acquire the domain knowledge about scientific communities so that you can write use cases and implementing them.
Initial SCG Arena Problem Statement .

We will apply the SCG to software development. After all, software developers should make claims about their software: correctness, efficiency, maintainability, modularity, traceability, flexibility, etc. You will make claims such as: in any natural language requirements document of up to 5 pages, I can find an inconsistency (bug, ambiguity, omission) in 1 hour. And you will try to support your claim when presented with a requirements document written by the teaching staff or your peers.

We use SCG for software development in 3 ways: (1) make claims about software development activitities and define refutation protocols for the claims. (2) Implement a Web-based community tool for SCG, called the SCG Arena. (3) Implement your own avatar for an instance of SCG for Constraint Satisfaction Problems (CSP). This shows you a specific scenario (the CSP scenario) of how an SCG tournament functions. The CSP instance of SCG has been developed over several years.

DemeterF: Functions and Traversals Combined

First assignment: answer a questionnaire, and send your answers by noon on Monday of second week of classes to

Syllabus .
Project solutions.
Old exams (Practice exams) .

Instructor's Home page.