DEPARTMENT OF COMPUTER SCIENCE
CS 5660: Professional Issues in Software Development
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).
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:
- 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
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.
Note: Abundant case-study resources exist on the web:
- 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