BACKGROUND
Course Listing: COMP_SCI 111- Fundamentals of Computer Programming I
Course Description: Fundamental concepts of computer programming with heavy emphasis on design of recursive algorithms and test-driven development. Functional, imperative, and object-oriented programming paradigms. Procedural abstraction, data abstraction, and modularity. Required for the computer science degree.
Collaborators: Carolyn Zou, Maya Blumovitz, Shubhanshi Gaudani, Avery Keare, Fai Poungpeth, Connor Bain, Sara Owsley Sood
Timeline: development in Winter 2023, implementation in Spring 2023 and beyond
Overview: The ethics curriculum takes shape around the modular structure of the course. The first week of CS 111, all students attend a primer lecture that discusses how to think about ethics through the lens of stakeholder analysis and addresses issues like social media algorithms, data collection, and misinformation. In the following seven weeks, the course staff leads ethics discussions on topics such as accessibility, identity, impact, labor, and sustainability, which students are required to sign up and attend at least once. The discussions are limited to 10 students and are separate from regularly scheduled class time. At the end of the quarter, students are required to write an individual or group reflection on how they’ve engaged with ethics over the quarter. Five percent of the grading rubric is based on completion of the CS 111 ethics component.
Goals: Given the role of CS111 as the first course for all CS majors and many others with an interest in CS, the course aims to develop core skills in critical analysis of ethical issues with an emphasis on self-reflection, finding purpose, and intersectionality. Students are invited to explore different “topic modules” that introduce broad topics such as accountability, bias, or impact, and mandatory modules bookend the quarter that encourage introspection and discussion between students who have attended different topic modules.
IMPLEMENTATION
Student loci of engagement:
- One introductory module (link): Covers the ethics of social media and introduces a framework for thinking about the impact of certain technologies
- Attendance at one topic module (linked below): Students can select which module to attend based on topic interest and availability, and should complete a short reading beforehand in order to be ready to discuss. Students must complete a short reflection after attending.
- One final reflection module (link): Asks students to reflect on their engagement with ethical issues and their relationship to technology by producing a short write-up comparing and contrasting the topics that students learned in topic modules. Can be completed individually or in small (2-4 people) groups.
Topic modules:
- Accountability (link): The responsibilities of technology companies and individuals to ensure ethical and lawful use of technology. This includes topics such as data privacy, security, and data protection laws, as well as the role of technology companies in ensuring fair and just outcomes for users. Finally, this module covers how accountability obfuscation occurs when technologies are viewed as separate from their creators.
- Bias (link): How technology can perpetuate and amplify biases, as well as strategies for identifying and mitigating bias in algorithms and AI systems. Topics may include algorithmic fairness, the impact of biased data sets on AI models, and the need for accountability and transparency in technology development.
- Identity (link): Issues related to privacy and representation in technology, including topics such as data privacy, online identity management, and the ways in which technology can reinforce or challenge existing social and cultural norms. It would also include a discussion of leaders in tech ethics research in areas such as AI bias or CS education.
- Impact (link): How technology affects society and the individual, including topics such as digital divides, the impacts of automation on employment, and the potential consequences of emerging technologies such as biotechnology and artificial intelligence. This module would also explore ethical considerations related to technology deployment and use, such as responsible innovation and the importance of considering the potential consequences of technology before deployment.
- Sustainability (link): The role of technology in promoting sustainable and environmentally friendly practices, as well as the impact of technology on the environment. Topics may include the carbon footprint of technology, the use of renewable energy sources in technology, and the need for sustainable design and manufacturing practices in the tech industry.
- Accessibility (link): The importance of making technology accessible and usable for people with a broad range of abilities, as well as the ways in which technology can create or widen existing digital divides. Topics may include universal design principles, accessibility standards and regulations, and the role of technology companies in promoting accessibility.
- Labor (link): The ethical implications and responsibilities of technology companies and individuals in relation to labor, including topics such as fair labor practices, worker rights, gig economy, and automation’s impact on employment opportunities. This module would also cover issues related to the potential for technology to exploit or empower workers and the importance of ethical leadership in fostering fair and equitable working conditions.
LESSONS LEARNED FROM DISCUSSION LEADERS
- Actively learn about the topics and gather resources on your own. Students should be exposed to realistic scenarios, which requires a good amount of background knowledge about past issues related to the topic. If you’re familiar with examples like these, feel free to loop them in- students appreciated facilitator’s anecdotes and often referred to them in the responses. Additionally, share useful resources with students to engage them with responsible computing education beyond the discussion.
- Bring some post-its and a marker and have students make name tags for the front of their desk–it’s helpful for you, other students, and for taking attendance.
- Be intentional about how you frame issues in ethics as not just critical, but rather a framework for thinking about things we encounter as technologists; we want to avoid a situation where students think of ethics as anti-progress but rather frame it as “progress needs to be in the right direction.” One way to do this is to talk about the intentions of the people involved in creating the technologies that become case studies for us – they were likely working on something they thought would be beneficial to the world!
- Be prepared for the discussion to not go as planned. Sometimes the display might not work, students may not be enthusiastic, room might be hard to find etc. Preparation can only account for so much. But every discussion leader should always keep the main goals of discussion in mind and as long as those are fulfilled it doesn’t really matter if the exact study plan was followed. So try to be spontaneous and innovative! It’s always better to derail from the planned lesson than to have a room of uninterested students.
- In general, be flexible! We want to meet students where they’re at and give them the freedom to explore the topic in a way that will stick, so try your best to be adaptable and have discussions that are tailored to the group’s interests.
- Leave room for self-reflection. For example, leave 5-10 min at the end of the discussion for students to journal and adding some calming background music was a great hit throughout the quarter.
- Documentation is key. Try to take notes about the discussion right after the discussion. This allows for 1. Improvement for the next discussion you lead 2. You will not forget how the discussion went.