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? Students who take PD10 explore and answer these questions with interactive lectures and thought-provoking assessments.

What do PD10 students do?

  • Explore concepts like intellectual property, “perfect software,” and legal compliance
  • Read and assess warranties and license agreements to understand users’ and creators’ rights and responsibilities
  • Analyze case studies and real-world issues regarding privacy, legal compliance, and ethics in computing
  • Apply copyright laws to assessments and case studies

If you've completed PD10 and want to feature the course on your résumé, you're welcome to use and adapt the following bullet points in a "Professional Development" or "Relevant Courses" section:

  • Identified the legal and ethical responsibilities of software and digital content developers; analyzed license agreements and warranties to understand users’ and creators’ rights and responsibilities
  • Enhanced ability to make effective decisions about digital product use, both personally and at work
  • Developed understanding of three approaches to improving software quality: verification of product, certification of process used to build it, and certification of people who built it
  • Applied the Canadian Copyright Act to case studies to examine how intellectual property and software is protected

How are PD10 students graded?

PD10 students complete a series of quizzes and assignments over the course of the term. To pass the course, students must earn an overall grade of 50% or higher. Students must also earn a grade of 50% or higher on the final assignment to earn their credit. Students can deepen their learning by completing a bonus assignment worth 5% during the term.

If you have a question about grading in PD10, contact the course team using the information in the sidebar.

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 have to 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, and they need 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, and Software Engineering adopted the course because its accreditation requirements are similar.

Students in Computing and Financial Management aren't 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 WatPD program is a perfect fit for a course focused on professional topics in computing. Because students complete PD courses during their work terms, they can learn about the laws and ethics that define their chosen profession and make immediate connections to what they’re learning in the workplace.

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

How does PD10 align with other parts of the departments' curriculums?

Within Computer Science, PD10 is most closely related to CS 492: The Social Implications of Computing. PD10 provides students 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 students 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. 


PD10’s instructor is Dr. Jo Atlee, a professor in the Cheriton School of Computer Science at the University of Waterloo. Jo is also the director of Waterloo’s Women in Computer Science program.


PD10 is offered every term.

Enrolment information

PD10 is the third compulsory PD course taken by students in Computer Science (who started studying during the Fall 2015 term or later) and Software Engineering (who started studying during the Fall 2016 term or later). Students must enrol themselves in the course using Quest. This requirement doesn't apply to students in Computing and Financial Management.

PD10 is also an elective PD course for students in all faculties. Students taking PD10 as an elective enrol themselves in the course using Quest.

Contact information

Course team: pd10@uwaterloo.ca

ISC: Andrew Brunet  andrew.brunet@uwaterloo.ca