 |
Catalog Description CS 5660.Professional Issues in Software Development
(3). Summer, even years. A study of representative professional issues that may arise during the
process of software development. Prerequisites: Admission to MS in CS program, or consent of department;
CS 4640 or CS 5640 or equivalent or consent of the instructor. Approved for Distance Ed.
Complete Description of Course
Purpose of the Course
The course meets goal #6 of our graduate program, which states: “Students who complete the MS in
Computer Science program ... will have assimilated values and standards important to the
profession.” It implements topic #20 within the model curriculum for a Master of Software
Engineering Degree, as published by the Software Engineering Institute -- the topic requiring coverage of
“the fundamental economic, legal, and ethical issues of software engineering.” In addition,
this course is a good fit for the values initiatives underway at BGSU and a good continuation of
undergraduate computer science work now required under Chapter 10 (“Professional Practice”)
of the ACM/IEEE Computing Curricula 2001. It supports the current revision of the ACM/IEEE
“Software Engineering Code of Ethics and Professional Practice” and implements the
recommendations of Project ImpactCS (Communications of the ACM, December, 1995) regarding the
societal impact of software development.
Student Learning Outcomes
Persons completing the course, given sufficient information about how a specific software product was
engineered, will be able to ...
- identify important professional issues that should have been considered during development,
- identify important factors that could have affected the resolution of these issues, and
- detail these issues and factors in a comprehensive “impact assessment” for that
product.
Plan for Assessing Student Learning Outcomes
In addition to the usual essay exams and teacher observations, a variety of assessment strategies will
be employed, such as before-and-after knowledge probes, rubrics with checklists, anonymous group
self-evaluations, iterative peer reviews (for successive drafts of position papers), peer reviews of
online presentations, participation metrics for online roleplay, and portfolio evaluation (for the
comprehensive social impact project).
Grading Procedures
Letter grades (A .. F) will be given based on categories, weights and standards published by the
professor in the course syllabus.
Topical Outline for Content to be Covered
The course will be case-based, as follows:
- Each case will involve a notable software engineering failure.
-
In addition to the core “Killer Robot” case, the course will cover at least two of the
following well-documented cases:
- Therac-25
- Ariane-5
- Denver International Airport
- London Ambulance Airport
- Mars Climate Orbiter
-
Additional cases will be selected by the professor as appropriate, presumably including some cases
based on “resource kits” assembled by CS 5660 students in previous years. Other
case-based materials are available on the web in abundance:
For all cases, students will …
- chronicle the development of the case on a timeline
- identify primary and secondary stakeholders
- identify pivotal decision points for specific stakeholders, and plot these points on the
timeline
- construct a multiway what-if decision tree that shows multiple possible alternative outcomes for
the case, starting from a specific pivotal decision point and continuing forward by stages
- write short position papers
For one case, students will do all of the above, and …
- assemble a comprehensive reusable stand-alone “resource kit” (an e-book) containing
copies of every resource necessary for someone to understand and analyze the case, both from a
professional and a technical standpoint
- will follow the SoDISTM procedure outlined by the nonprofit Software Development
Research Foundation (or a similar procedure) to perform a software impact assessment based on materials
contained in the assembled “resource kit,” with specific reference to the provisions of the
IEEE-CS/ACM Software Engineering Code of Ethics and Professional Practice
Instructional Strategies
This course will employ a case-study methodology (see immediately above) in combination with other
strategies, such as: realtime interactive opinion surveys, ethical scenario construction and
analysis, topical websearches, collaborative construction of annotated webliographies, iterative
elaboration of short position papers, collaborative research, structured online debates and interactive
role-playing. In combination, these strategies are intended to prepare students to perform social
impact assessments for specific software products.
Student Learning Activities
Students will perform in-depth case studies similar to those that would be undertaken in many graduate
programs (e.g., MBA programs). They will conduct research into original sources, organize that
research, and construct WEAPAS-conforming annotated webliographies. For a capstone activity, they
will perform a comprehensive software impact audit, demanding thorough stakeholder analysis and
application of the principles expressed in the IEEE-CS/ACM Software Engineering Code of Ethics and
Professional Practice.
Specimen Bibliography
Note: Abundant case-study resources exist on the web:
-
http://computingcases.org/case_materials/case_materials.html
-
http://www.savive.com/casestudy/index.html
- http://onlineethics.org/com/cases.html
- Bott, F., Professional Issues in Software Engineering, 3rdedition, Taylor and Francis,
2001
- Brooks, F., “No silver bullet: Essence and Accidents of Software Engineering,” IEEE
Computer, 1987
- Chiles, J., Inviting Disaster: Lessons from the Edge of Technology, Harper Business,
2002.
- Epstein, R., The Case of the Killer Robot, John Wiley and Sons, 1997
- Ewusi-Mensah, K., Software Development Failures, MIT Press, 2003.
- Flowers, S., Software Failure, John Wiley & Sons, 1996
- Glass, R., Software Runaways, Prentice Hall, 1998.
- Lyttinen, K., and others, “Information System Failures: a survey and classification of
the empirical literature,” Oxford Surveys in Information Technology, 1992
- Myers, C., and others, The Responsible Software Engineer,Springer-Verlag, 1997
- Myers, C., Professional Awareness in Software Engineering,McGraw-Hill, 1995
- Page, D., and others, “Report of the Public Inquiry into the London Ambulance Service,”
South West Thames RHA, 1993
- Perrow, C., Normal Accidents, Princeton University Press, 1999
- Peterson, I., Fatal Defect, Random House, 1995
- Sauer C., Why Information Systems Fail: A Case Study Approach. Alfred Waller, 1993
- Weiner, L., Digital Woes: Why We Should Not Depend on Software, Perseus Books Group,
1993
|