UnLecture on Software Engineering Ethics
This activity is considered an NAE Exemplar in Engineering Ethics Education and was included in a 2016 report with other exemplary activities. In this activity, software engineering students talk about their own cooperative learning experiences and reflect on ethical questions or issues that came up.
Exemplary features: Integrating students’ real-world experiences (industry/research) into undergraduate engineering classrooms
Why it’s exemplary: Our program is exemplary because it (1) directly connects ethics learning to software engineering practice by methodically integrating students’ professional experience (cooperative education, internship, or research) into their classroom learning, (2) promotes critical thinking of discipline-specific (computer and software engineering) ethical issues through active learning and reflection, and (3) allows for the development of new or improved perspectives on software engineering ethics.
Program description: The software engineering course is part of the 5-year undergraduate engineering curriculum, which includes 20 months of professional work experience in the form of a mandatory cooperative education (coop). The participants are computer engineering and computer science students in a core undergraduate software engineering course.
The UnLecture on Software Engineering Ethics consists of a participant-driven learning session and reflective writing components (before and after the session), all based on a structured inquiry rubric that consists of a set of carefully designed questions (included in the content section below) provided one week before the participatory learning session. Before the session, students review (“retrospect”) their past coop/internship assignments, recollect details related to ethical issues and dilemmas, and document important/relevant points based on the questions in the rubric (presession reflection). During the UnLecture discussion session, students share their retrospective thoughts and learn from fellow students’ cooperative education experiences. They also examine ethical practices that were realized in the course projects and assignments and analyze the differences and similarities between their experiences in industry and their learning experience from the course. Afterward (postsession reflection), the students gather and document ideas, examples, and perspectives from the session and reflect on how they will perform differently in their next co-op rotation or work assignment. The IEEE/ACM Software Engineering Code of Ethics is used as a central element for facilitating various components of the UnLecture.
The goals of the UnLecture are for students to (1) understand ethical issues and dilemmas related to software engineering in both industry and academia, (2) comprehend principles of the IEEE/ACM Software Engineering Code of Ethics and identify specific connections to software development process, and (3) increase awareness of concepts related software intellectual property (IP) and consequences of associated IP infringements.
Following is an example of the structural inquiry rubric provided to students. It should be noted that the UnLecture rubric is not necessarily an assessment rubric. It is rather intended to serve as a “blueprint” to define learning outcomes and guide students and instructor in executing activities involved in an UnLecture.
Part I: Software Engineering Ethics
- What are your personal ethical principles related to (a) workplace? (b) software engineering? You may give specific examples.
- What ethical questions have arisen in your professional experience? Explain how you (or the person involved) resolved the dilemma. Relate each experience to a clause in the IEEE/ACM Software Engineering Code of Ethics (include the clause #).
- Pick a specific clause from one of the 8 principles in the IEEE/ACM Software Engineering Code of Ethics (include the clause #). Critique the selected clause qualitatively. Include examples, as needed. Note: Avoid using the same clause for both (2) and (3).
- Were you given any kind of orientation/training, formal or informal, on ethical practices, as a part of your coop/internship? If so, please elaborate.
- Explain general work/business ethics of your team/company (example: policies regarding data storage, server access, access to internet content during work, work-from-home options, etc.)
- What ethical questions did you face in this course/course project and how did you resolve the dilemma?
Part II: Software Intellectual Property: Research and investigate the patent/IP war that was assigned to you and then answer the following questions:
- Briefly describe the case and involved parties—e.g., who initiated the lawsuit (plaintiff) against whom (defendant), what was the plaintiff’s claim?
- Explain specific technical details (related to hardware, software, design, and/or name/logo) behind the claim/IP violation.
- What was the outcome of the lawsuit? What is your take on the outcome (potential/favorable outcomes, if the suit is still ongoing)? Include your own perspectives.
- (open-ended question) In your own opinion, what is the next “big thing” in the software industry? (i.e., which technology has the potential to revolutionize the software industry?). Identify ethical concerns related to that technology.
Given that our students have integrated cooperative education into their curriculum, UnLectures provide meaningful ways to reflect on ethical issues from both software engineering practice and classroom education.
Assessment information: The reflective writing components (pre- and postsession) are the primary tool used to assess student learning and therefore students are required to complete them individually. Based on the inquiry rubric presented above, students are given at least a week before the participatory session to complete the presession reflection; they are advised to complete the postreflection section on the day of the session, and to submit the entire report within a day after the session. This report provides qualitative evidence of each student’s learning from the UnLecture, which accounted for 4% of the course grade, including attendance and participation in the learning session and the reflective writing components before and after the session. Aside from minor criticism on the amount of writing an UnLecture entails, students’ reactions were highly positive and appreciative. Following are some excerpts from student feedback: (1) “The UnLectures were really fun. I really enjoyed talking about and hearing others’ [ethical] perspectives from industry.” (2) “This was a very informative course and I learned a lot. I could relate a lot of what I did in co-op to this course.” (3) “These [questions/ethical issues discussed in UnLecture] also came up in several of my co-op interviews this year and I believe that the background information I learned in this class played a major role in some of the jobs I was offered.” (4) “I thought that the UnLecture sessions were a good addition to the course.” (5) “I didn’t expect to write [reflective] essays for an engineering class.”
Broader Applicability: The UnLecture method and rubrics can be tremendously valuable to software engineering educators, particularly at institutions that have integrated cooperative education or internships in their academic programs. With careful planning and rubric design, UnLectures on ethics can also be integrated into other electrical and computer engineering courses and courses in other engineering disciplines. Detailed methods and results have been presented and published in the Proceedings of the 2014 Annual American Society for Engineering Education (ASEE) conference.
- Course Schedule (please see week #12 and #13): http://secs.ceas.uc.edu/~subbiavh/EECE3093_schedule.shtm
- Subbian, V., & Purdy, C., & Beyette, F. R. (2014, June), UnLecture: A Novel Active Learning Based Pedagogical Strategy for Engineering Courses Paper presented at 2014 ASEE Annual Conference, Indianapolis, Indiana. https://peer.asee.org/23233
- Subbian, V., & Purdy, C. (2014, June), UnLecture: Bridging the Gap between Computing Education and Software Engineering Practice Paper presented at 2014 ASEE Annual Conference, Indianapolis, Indiana. https://peer.asee.org/23234