CISC 4/667 (011): Computing for Social Good

Spring 2021, Time: MWF 2:30-3:20 PM (EST) []
Instructor: Matthew L. Mauriello (
Office Hours: Wed 10-11 AM (EST) or by appointment (
Communications: Piazza ( or email
Final Exam: May-26, 10:30am-12:30pm
Note: Passcodes for Zoom meetings will be sent by email or posted to Piazza


As the influence of computer science and technology has grown, from punch cards and vacuum tubes to laptops and mobile phones to concerns about pervasive AI and social media influencing our political landscapes, so has the desire to leverage these advances for the good of society. This seminar will explore the broad, ongoing themes around Computing for Social Good, inclusive of advances in Human-Computer Interaction (HCI), the Internet-of-Things, Artificial Intelligence, and the myriad areas that they influence in our modern society. We will read about national- and global-scale challenges, specific subproblems, and relevant technology systems. While we will examine some conventional engineering ethics topics, our aim is much broader: we will start with fundamental social and ecological challenges and then consider what role, if any, technology should play in responding to them. One of our aims will be to differentiate between technology solutions that sound good and those that have a chance for real impact. As a result, we will take a systems perspective—to trace root causes and find the right place(s) to make lasting change.

While a working knowledge of critical technology theory is important to doing good work, this is a class for builders and designers. Content will include paper discussions and seminar talks from leading experts whose work complements class discourse. All students will: (i) complete a term project that involves designing or building an artifact such as a tool for solving a real-world problem that they bring to the class, (ii) iteratively develop a fictional narrative elucidating the potentials and dangers of new ongoing advances, (iii) write an informative blogpost on a selected topic to be shared on the course website, (iv) and participate in regular class discussions. Finally, students will deliver a final presentation and writeup about their work.

Clarifications & Prerequisites: While this course has both an undergraduate and graduate section, expectations will be similar for all students. That being said, students are expected to have completed an introductory course on software engineering; at the University of Delaware this is CISC 275.

Required Books & Materials: In leu of a traditional textbook, students are asked to register for a virtual conference session at CHI2021. Once final online registration details are posted, we will discuss if this remains reasonable and mitigating strategies if not. All other materials for participating in class will be provided. If students find their term-project is restricted by the availability of resources, they are asked to reach out regarding available support; there is no guarantee but acquiring low-cost hardware, conducting lightweight experiments on Amazon Mechanical Turk, or conducting paid online surveys may be possible.

Quick Links

Full Syllabus (DOCX)
Last Updated: 2020-04-28

Guest Lecturers

Edward Wang
Assistant Professor, UCSD

Cody Buntain
Assistant Professor, NJIT

Zahra Ashktorab
Research Scientist, IBM

Manaswi Saha
PhD Student, UW

Bradley Hayes
Assistant Professor, CU

This course draws inspiration from several sources including courses by:
Kurtis Heimerl (University of Washington), Neha Kumar (Georgia Tech),
and Barath Raghaven (University of Southern California).