These modules are organized by Knowledge Areas to help discover modules that are based on topics.
Our hope is to assist instructors in adopting modules by providing evaluations that will help prepare them on what they need to consider before adopting the module.
Algorithms and Complexity
Basic Analysis
- Energy Usage, Complexity, Data Deduplication, and Voter Rolls
- Polling Data, Binary Trees, and Heaps
- Energy Usage and Complexity
Fundamental Data Structures and Algorithms
- COVID Scheduling Problem
- Broadband Access
- Thesis Advisor Allocation Problem
- The Registrar’s Problem
- Traffic Impact Analysis
Advanced Data Structures Algorithms and Analysis
- COVID Scheduling Problem
- Broadband Access
- Thesis Advisor Allocation Problem
- The Registrar’s Problem
- Traffic Impact Analysis
Algorithmic Strategies
Computational Science
Introduction to Modeling and Simulation
Interactive Visualization
Ethical Implications of the Adoption of Facial Recognition Technology
Discrete Structures
Graphs and Trees
Polling Data, Binary Trees, and Heaps
Graphics and Visualization
Visualization
White Hat/Black Hat Visualization
Human-Computer Interaction
Foundations
Human Factors and Security
Information Assurance and Security
Security Policy and Governance
Foundational Concepts in Security
Cybersecurity
Information Management
Data Mining
Biases in Predicting Recidivism and Questions of Fairness
Information Management Concepts
Transparency in Decision-Making Interfaces
Information Storage and Retrieval
Transparency in Decision-Making Interfaces
Intelligent Systems
Basic Knowledge Representation and Reasoning
Basic Machine Learning
Fairness, Accountability, Transparency, Privacy
Advanced Machine Learning
Fairness, Accountability, Transparency, Privacy
Fundamental Issues
Agents
The Ethics of Lethal Autonomous Weapons
Robotics
The Ethics of Lethal Autonomous Weapons
Perception and Computer Vision
Parallel and Distributed Computing
Cloud Computing
Platform-Based Development
Mobile Platforms
Surveillance in the Times of Covid
Software Development Fundamentals
Algorithms and Design
Fundamental Programming Concepts
- Machine Bias
- Personalized Ads
- Developers as Gatekeepers
- College Admissions Algorithms
- Developers as Image Manipulators
- Developers as Decision Makers
- Developers as Future Makers
- Developers as Prioritizers
- Gerrymandering
Fundamental Data Structures
- Machine Bias
- Developers as Gatekeepers
- Developers as Image Manipulators
- College Admissions Algorithms
- Developers as Future Makers
- Developers as Prioritizers
- Gerrymandering
- Predictive Policing
- Biases in Predicting Recidivism and Questions of Fairness
Development Methods
An Introduction to Software Engineering Ethics
Software Engineering
Software Processes
Software Design
Software Project Management
Requirements Engineering
Software Verification and Validation
An Introduction to Software Engineering Ethics
Social Issues and Professional Practice
While all of the modules evaluated here fall into this knowledge area in one way or another, there are some that are particularly well-suited for a course focused on Responsible Computer Science.
- AI Admissions App
- An Ethics of Artificial Intelligence
- Privacy and Big Data
- Discrimination in Machine Learning
- An Introduction to Cybersecurity Ethics
- The Ethics of Lethal Autonomous Weapons
- Transparency in Decision-Making Interfaces
- Race After Technology
- An Introduction to Software Engineering Ethics
- Deep Fakes
- An Ethics of Artificial Intelligence
- RCS in Programming Assignments
- Ethical Design and the Philosophy of Technology