PD10: Professional Responsibility in Computing

PD10: Professional Responsibility in Computing focuses on the legal and ethical issues that surround the use and development of software.

What are the copyright laws affecting pieces of software? How do warranties and license agreements shape the ways in which we use software? What do computing professionals need to do to act ethically? In PD10 you'll explore and answer these questions with interactive lectures and thought-provoking assessments. 

Remote video URL

What will you do in PD10?

  • Navigate legal and ethical responsibilities as a software developer and user. 
  • Compare the risks and benefits of software in safety-critical applications. 
  • Understand data privacy issues, privacy laws and how to obtain meaningful consent online. 
  • Apply the IEEE-CS/ASM Software Code of Ethics and Professional Practice to workplace scenarios. 

Grading information

To pass PD10, you must satisfy both requirements below: 

  • earn an overall grade of at least 50% on Assignments 1 - 4 (plus any bonus opportunities)

  • receive a minimum of 50% on Assignment 5: Major Reflective Report 

If you have a question about grading in PD10, contact the course team

Course instructor

Jo Atlee

Jo Atlee 

Dr. Atlee is a professor in the Cheriton School of Computer Science at the University of Waterloo. She earned a BSc double degree in Computer Science and Physics at the College of William and Mary and MSc and PhD degrees in Computer Science at the University of Maryland. She researches and teaches in software engineering, focusing on software requirements and design, modelling of software systems, and automated analysis of software models. She helped to found Waterloo's Software Engineering (BSE) degree program and was its first Director.

two straight yellow lines acting as a line divider on the page

Student testimonials

The main aspect of the course that I liked was how it related to my current job profile. I was able to understand why some of the laws and responsibilities were in place and able to understand the [necessity] of having them. Also including recent incidents with major companies made the course a lot more interesting as it explained in detail where the companies made breaches to the laws and how [they were] tackled.

Course content is extremely relevant to the software development field, particularly the paperwork aspects that we have very little exposure to and usually leave to other departments to handle. Would see this all as extremely useful if you intend to develop and release your own software, such as open-source projects.

two straight yellow lines acting as a line divider on the page

Other information

Why do Computer Science (co-op) and Software Engineering students need to take PD10?

Computer Science and Software Engineering are accredited professional programs, and that means their graduates must leave Waterloo with a set of skills and attributes that are necessary for successful careers. Mathematical aptitude and programming abilities aren’t enough: graduates also need to leave campus with teamwork, communication, and professional conduct in mind. They need to understand the ethical, legal, and sociocultural issues that affect the worlds of computer and software engineering. They have a responsibility to understand how their work can impact the world around them in both positive and negative ways.

Computer Science created PD10 to satisfy those skill development needs. Software Engineering adopted the course because it has similar accreditation requirements.

Students in Computing and Financial Management are not required to take PD10, though they're welcome to select the course as one of their electives.

Why did the departments create a PD course instead of creating an on-campus course?

The PD program is a perfect fit for a course focused on professional topics in computing. Because you complete PD courses during your work terms, you can learn about the laws and ethics that define your chosen profession while making immediate connections to what you're learning in the workplace.

For example, you could hand in an assignment about the importance of privacy and security the night before your employer — a health start-up — releases a new app that collects a wide range of user data. You can approach the release of the app with a new appreciation for the laws and ethical considerations that inform its privacy policy, and the ways the policy differs depending on the country of release.

How does PD10 align with other parts of departmental curriculums?

Within Computer Science, PD10 is most closely related to CS 492: The Social Implications of Computing. PD10 provides you with a general look at the laws, ethical impacts and societal concerns facing both software developers and software users. CS 492 is an on-campus course that offers a more intensive look at the ethical issues that accompany the adoption of computer technology. While there’s a small degree of overlap between the courses, together they represent a comprehensive look at the meaning of professionalism in the computing industry.

Software Engineering students first encounter some of the concepts contained within PD10 while taking SE 101: Introduction to Methods of Software Engineering. The course introduces first-year students to some of the core ideas that define engineering practice, including the importance of standards and professional responsibility. These ideas are put into practice during their work terms, and again when students complete their capstone design projects during their third and fourth years on campus.

Questions about PD courses?