CIS 580: Paradigmatic Software Development
Spring 2013

  • Instructor: Dr. Paul L. Bergstein
  • Office: 302F Dion
  • Office Hours: Mon 1-2; Wed 1-2, 3-4; Fri 1-2 (or by appointment)
  • Phone No.: (508) 999-9184
  • Email:
  • Home page:

Course Objectives

Catalog Description

Software development in the context of various paradigms. The strategies and methods of the procedural, object-oriented, and functional paradigms are studied and practiced. The modeling of software processes will be considered from both the process and product view, as will the appropriateness and measures of effectiveness of these processes in the design of software systems.



Course Outline

The following schedule is a tentative outline of the topics and the approximate time when these topics will be discussed. Changes in the topics and/or the order in which they are presented may occur.

Check the web frequently for updated reading assignments and lecture slides.

Week of Topics Reading/Homework Slides
Jan. 21 Paradigms
The Essence of Software
Note: No Monday class (Martin Luther King, Jr. Day)
Why Software Is So Bad
FBI System Overhaul Scrapped (2005)
The FBI's Upgrade That Wasn't (2006)
FBI Two Years Behind (2010)
Jan. 28 Computational Paradigms and Process Frameworks • Sommerville: 2.1 - 2.2
Good Ideas, through the Looking Glass - Focus on Programming Language Features and Programming Paradigms (pp. 33-39).
Feb. 4
Programming Paradigms
Imperative Paradigm
DFD Homework Imperative.pdf
Feb. 11 Functional Paradigm F# programming assignment
Thinking Differently
Feb. 18 F# programming
Note: No Mon. class (Presidents' Day), Mon. classes on Tue.
Feb. 25 Quality Paradigm, CMM and ISO Standards
Universal, Worldly, and Atomic Process Models
Glass: Ch 3 Quality.pdf
Mar. 4 Requirements Elicitation   Elicitation.pdf
Mar. 11 Requirements Definition and Specification
Midterm Exam (Wed, Mar. 13)
Four Dark Corners of Requirements Engineering Specification.pdf
OO Notations.pdf
Mar. 18
Spring Break, no classes
Mar. 25 Formal Specification   Formal.pdf
Apr. 1 Design Principles
Architectural Design
Can Graduating Students Design Software Systems? Design.pdf
Apr. 8 Detailed Design
Software Development Metrics
Apr. 15 Metrics (continued)
Note: No Monday class (Patriots' Day)
Empirical Analysis of CK Metrics for Object-Oriented Design Complexity: Implications for Software Defects  
Apr. 22 OO Process   OOProcess.pdf
Apr. 29 Agile Software Development
Aspect-Oriented Programming
Term Paper Due Wednesday
Do Agile Methods Marginalize Problem Solvers?
May. 4 Final Exam: Saturday, May 4, 11:30AM - 2:30PM