Purpose of the Curriculum
The Integrated Curriculum for Socially Responsible Computing provides a comprehensive framework for teaching responsible computing throughout the computer science curriculum at Brown. This curriculum is designed to:
- Help courses determine what to teach in terms of socially responsible computing
- Reduce duplication of SRC content across courses
- Establish the SRC-related skills that a Brown CS graduate should have
- Allow courses to build on SRC topics across courses and deepen the quality of content
Five Levels of Skills
The curriculum uses five distinct levels of learning objectives to scaffold student understanding and skill development:
Students have heard of a concept/idea and how it relates to a given technical context. Students are able to recall the concept/idea as relevant in a specific context. ("I know X is a thing.")
Students can explain the meaning and/or significance of a specific concept/idea. They can articulate how it functions and/or why it is important.
Students are able to recognize relevant concerns in a specific technical context without prompting and are able to articulate how they would affect relevant technical decisions.
Students are able to critically evaluate a specific concept/idea, either abstractly or in a specific social or technical context. They are able to cite and engage with different concerns and/or conflicting perspectives on the topic in question.
Students are able to execute concrete technical decisions or use specific techniques to achieve a desired objective.
Objective Standards and Course Locations
The full curriculum organizes SRC learning objectives by topical area, content standard, and suggested course location.
I.a.1
Understand that representing aspects of the world through data is necessarily reductive and incomplete. Developer perspective shapes the choice and design of variables
Introductory courses
I.a.2
Identify variables in datasets that emphasize a particular perspective and the possible impacts of redesigning those datasets
Introductory courses; AI courses
I.b.1
Understand different sources of bias in algorithmic and AI systems (societal vs. dataset vs. system parameters) and their interactions
AI foundations course
I.b.2
Be aware of and Understand metrics to mathematically interpret fairness
AI foundations course (Be aware of); Upper-level AI courses (Understand)
I.b.3
Be Aware of approaches for bias mitigation
AI foundations course
I.b.4
Be Aware of and Understand different concepts of justice as they relate to automated decision-making systems
AI foundations course (Be Aware of); Upper-level AI courses (Understand)
I.b.5
Understand context-specific limitations of automated decision-making and Analyze when the use of such systems is appropriate and when human decision-making is preferable or required
AI foundations course; Upper-level AI courses
I.b.6
Understand and Analyze different standards for interpreting algorithmic and AI decisions: e.g., transparency, explainability
AI foundations course (Understand); Upper-level AI courses (Analyze)
I.b.7
Understand different methods and strategies for AI governance
AI foundations course; Upper-level AI courses
I.c.1
Understand the distinct mechanisms by which AI systems can produce harm; Understand how the unpredictability of generative AI systems and the contexts in which they are deployed means that they cannot, at present, be designed to reliably avoid harmful outcomes
AI foundations course
I.c.2
Be aware of strategies to identify, evaluate, and mitigate harms stemming from unpredictability in AI systems
Upper-level AI courses; Socio-technical courses
I.c.3
Be aware of the effects of widespread use of synthetic content on one's ability to control their likeness and public perception
Upper-level AI courses
I.c.4
Be aware of the legal frameworks governing copyright and intellectual property as they relate to generative AI; Be aware of questions regarding the copyrightability of AI-generated outputs; Be aware of questions regarding the legality of training models on copyrighted data
Upper-level AI courses
I.c.5
Be aware of opportunities and risks of generative AI in future of work (e.g., deskilling, lack of connectivity).
AI foundations course; Upper-level AI courses
II.1
Be aware of the extent of data collection and reliance of technologies on large volumes of personal data; Understand the concept of surveillance capitalism and alternative economic models
Introductory courses
II.2
Understand and Identify different mechanisms of data collection-overt, covert, and from other sources (i.e., via sharing)-and their implications on privacy
Introductory courses
II.3
Understand the limitations of the distinction between sensitive and non-sensitive data, especially considering the potential for re-identification
Introductory courses
II.4
Understand the value and functions of privacy (including how both short-term and long-term privacy risks may threaten those)
Introductory courses
II.5
Understand (and Implement) key aspects of major privacy regulations, standards, etc. (e.g., CCPA, GDPR, ...)
Systems foundation course
II.6
Analyze trade-offs between privacy and other values, such as transparency, accountability, safety, or security
Systems courses
II.7
Understand surveillance and Identify instances of data collection that enable surveillance
Introductory courses; Upper-level systems courses
II.8
Understand different conceptions of consent, and its potential and limitations as an instrument for data protection
Upper-level courses
II.9
Be aware of widely-used privacy-preserving/enhancing technologies (e.g., encryption, differential privacy); Understand their limitations; Analyze prominent controversies surrounding them
Software Engineering courses; Upper-level courses
III.a.1
Understand (and Implement) different design processes for evaluating the needs of diverse users and Analyze their appropriateness in various contexts
Upper-level courses
III.a.2
Understand and Identify how different biases can influence one's judgment and shape design decisions
Upper-level courses
III.b.1
Understand varying definitions and conceptions of accessibility
Introductory courses
III.b.2
Identify opportunities to apply and Implement standards and best practices for accessibility
Introductory courses; Software Engineering courses; HCI courses
III.b.3
Identify and Analyze intersections between accessibility and other values such as privacy, security, or sustainability
Software Engineering courses; HCI courses
III.c.1
Be aware of how technology is used to direct users' attention and shape their interests, preferences, and desires
Introductory courses
III.c.2
Be aware of how psychological mechanisms and cognitive biases can be exploited by technical means to direct user attention and behavior (e.g., nudging via deceptive patterns)
HCI courses
III.c.3
Analyze the value of attention and the consequences of yielding control over it
Socio-technical courses
III.c.4
Analyze the effect of technologies on our self-perception and relationship with ourselves
Socio-technical courses
III.c.5
Analyze the effect of technologies on the nature and quality of interpersonal relationships
Upper-level courses
IV.a.1
Be aware of and Identify potential environmental impacts of a specific technology: Natural resource consumption; Energy consumption; E-waste production; Pollution
Introductory courses (Natural resource consumption, pollution); Hardware-focused courses (computer architecture, embedded systems) (e-waste production); AI courses (energy consumption)
IV.a.2
Understand how the environmental impacts of technology have disproportionate socioeconomic effects on different populations
Introductory courses
IV.a.3
Understand the need for infrastructural sustainability and the means and challenges of ensuring hardware and software maintenance and preservation
Systems foundation course
IV.a.4
Understand the need for and challenges of ensuring data sustainability
Introductory courses
IV.b.1
Identify skills and roles that advancements in specific technologies (e.g., automation, generative AI) are likely to displace, create, or evolve, and Analyze the (socio-)economic implications of these changes
Introductory courses; Software Engineering courses; AI courses
IV.b.2
Be aware of the human labor involved in and the physical and psychological effects of: Training AI models (including data labeling and curation); Surveillance; Content moderation; Hardware fabrication and resource collection; Data generation
Introductory courses; Hardware-focused courses (computer architecture, embedded systems); Upper-level AI courses
IV.c.1
Understand the effect of content moderation on social pluralism; Analyze the tensions between free expression of ideas and user safety/comfort in online spaces
Computer Networks courses; Introductory courses
IV.c.2
Understand the effects of algorithmic/AI-based curation of information on public discourse (e.g., filter bubbles, echo chambers)
Introductory courses
IV.c.3
Understand the role of specific technologies (e.g., social media, generative AI) in spreading misinformation or disinformation; Be aware of the effect of specific technologies on erosion of trust in individuals, institutions, and providers of information
Introductory courses (Understand); Upper-level AI courses (Be aware of)
IV.c.4
Be aware of the potential and limitations of technical and non-technical mitigation approaches to curb the spread of mis-/disinformation
Socio-technical courses
IV.c.5
Understand how technical infrastructure and regulation of that infrastructure shapes the ways in which we communicate and consume information
Computer Networks courses
IV.c.6
Be aware of how easy access to recording devices and social networks for distribution creates transparency and enables individuals and social movements to hold institutions and other powerful actors accountable (i.e., sousveillance)
Introductory courses; Socio-technical courses
IV.d.1
Understand how global power structures shape technological development and how technological development, in turn, reshapes global power structures
Software Engineering courses; AI foundations course
IV.d.2
Be aware of the long-term history of technological development and Analyze the impact of current changes in light of that history
Introductory courses; AI-courses
IV.d.3
Analyze the impact of technology on military capabilities and conflict
Upper-level courses; Security and Math Courses
V.1
Understand the concept of a stakeholder and Identify various stakeholders in a given project
Introductory courses
V.2
Identify and Implement stakeholder needs
Intermediate-level courses
V.3
Analyze how different stakeholders' needs may conflict, and potential resolution strategies
Intermediate- and upper-level courses
V.4
Understand how to communicate technical content to non-technical stakeholders
Upper-level courses
V.5
Analyze the alignment of a project with stakeholders' intended goals; Analyze conflicting positions on the extent to which stakeholder requests should be implemented in cases where stakeholder requests may diverge from what might benefit them (i.e., paternalism versus libertarianism)
Upper-level courses
V.6
Identify and Analyze techno-solutionist attitudes and approaches
Intermediate-level courses
V.7
Analyze the potential negative impacts (e.g., unintended consequences, externalities) of technologies that are ostensibly designed for social benefit
Upper-level courses
V.8
Be aware of responsible disclosure; Be aware of the existence of mechanisms for reporting technological vulnerabilities to responsible organizations; Analyze possible impacts of releasing security vulnerabilities publicly
Security courses