 |
Catalog Description
CS 566.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 464 or CS 564 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 566 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
|