Part II: The World of Software Engineering
- Chapter 5: Code of Ethics of Software Engineering
- Chapter 6: International Perspective on Software
- Chapter 7: Different Perspectives on Software Engineering
- Chapter 8: The History of Software Engineering
Chapter 5: Code of Ethics of Software Engineering
In this chapter, we discuss the notion of ethics in general and review the Code of Ethics of Software Engineering  in particular. These aims are achieved by discussing the main ideas and the essence of the Code of Ethics of Software Engineering and by analyzing scenarios taken from the software engineering world. This chapter is largely based on case studies that the readers are asked to discuss. The idea is to guide the reader in the formulation of personal ethical behavior. This is a personal process that each practitioner should go through individually. In this sense, this chapter is different from the other chapters of the book since it raises questions and philosophical dilemmas more than it provides answers.
 The Code can be found at www.acm.org/constitution/code.html . It is also presented in this chapter.
Readers will become familiar with the concept of code of ethics in general and the Code of Ethics of Software Engineering in particular.
Readers will identify situations in which ethical considerations (in addition to technical considerations) should be intertwined in software development processes.
Readers will improve their ability to predict situations in software development processes that may harm society from an ethical point of view and to suggest ways to avoid such situations.
Readers will conceive the Code of Ethics of Software Engineering as a tool that can be used for both the identification of ethical dilemmas and solving them.
Define basic rules that software engineers should follow when they develop any piece of code. Refer to to do rules and not to do rules.
In your opinion, in what ways might software developers influence our world? Refer to social, environmental, and other types of influences.
In your opinion, in what ways might software developers influence a software user s life? How is it possible to protect users from harmful influences?
In your opinion, in what ways can software engineers harm their coworkers? How can such harmful behavior be avoided?
This question addresses the idea of ethics. You are asked to answer it according to your familiarity with the concept.
What is ethics? What professions have a code of ethics? If you are familiar with other professions that have a code of ethics, on what fundamental rules are their codes of ethics based? What types of problems do their codes of ethics address?
Identify five situations in which ethical issues should be considered in software development.
In your opinion and based on your familiarity with the notion of ethics and the situations you just described, does the community of software engineering need a code of ethics? If yes, explain why. On what principles should it be based? What topics should it address? If no, explain your opinion.
What special ethical problems might the Internet raise? In what sense are these issues different from other ethical situations related to software engineering?