Skip to content

Course Syllabus

Course: SE 3140

Division: Natural Science and Math
Department: Computer Science & Engineering
Title: Ethics & Personal Software Process

Semester Approved: Spring 2020
Five-Year Review Semester: Summer 2025
End Semester: Fall 2025

Catalog Description: This course examines ethical and social issues arising from rapid advances in computer technology. Through this course students will become familiar with current debates in the computing field as well as the ethical dilemmas that underlie them. Personal Software Process (PSP) is intended for practicing software engineers and software development managers. PSP introduces measures that can serve as the basis for software development process improvement in the organization as well as helping individuals improve their own software quality.

Semesters Offered: Spring
Credit/Time Requirement: Credit: 3; Lecture: 3; Lab: 0

Prerequisites: CS 2450
CS 2860

Corequisites: SE 3630 SE 3830


Justification: This course is required as part of our Bachelor of Software Engineering. Because the field is changing so rapidly, it is essential students have an understanding of potential social issues and an ability to recognize ethical considerations. The Standish Group reports that more than half of all software projects are seriously late and over budget, and nearly one-quarter of them are cancelled without being finished. Software engineers must learn to produce quality products on predictable schedules. This course teaches software engineers to consistently use the best available methods for producing quality software.



Student Learning Outcomes:
Understand current Intellectual Property debates and the relevant laws governing them.
 Students will be assessed by homework, quizzes and exams.

Understand privacy concerns posed by modern information gathering methods.
 Students will be assessed by homework, quizzes and exams.

Be exposed to industry standard codes of ethics put out by ACM and IEEE.
 Students will be assessed by homework, quizzes and exams.

Be exposed to philosophical bases for evaluating computer ethics.
 Students will be assessed by homework, quizzes and exams.

Students will demonstrate an ability to reduce overall software development defect rates.  Students will be assessed through class participation, project exercises, and quizzes.

Students will demonstrate the importance of the time spent at the front end of the development cycle to lay the foundation for a successful project.  Students will be assessed through class participation, project exercises, and quizzes.

Students will understand how to accurately estimate the time requirements to build software.
 Students will be assessed through class participation, project exercises, and quizzes.


Content:
This course will cover the following topics: Ethics including an introduction to the philosophical bases. - Intellectual Property. - Privacy: individual, corporate and government responsibility. - Software Liability. - Professional Ethics including ACM and IEEE codes of conduct. - Data collection and analysis for continuous improvement of the software development life cycle. - Estimation and planning techniques of software projects. - Quality management and design principles.



Key Performance Indicators:
Homework, Participation, and Quizzes 20 to 40%

Projects 20 to 40%

Exams 20 to 40%


Representative Text and/or Supplies:
Michael J. Quinn, Ethics for the Information Age

Humphrey, Watts S. PSP: A Self-Improvement Process for Software Engineers. Reading, MA: Addison Wesley


Pedagogy Statement:
This course will be delivered through lecture, classroom discussion, and small group collaboration.

Instructional Mediums:
Lecture

Maximum Class Size: 24
Optimum Class Size: 18