Fall 2021: Monday and Wednesday 10-11:50 @ CPA201

Prerequisites: CSCI 270, CSCI 360 or 467, Python experience

The course will focus on understanding how AI can be leveraged for social good. It will introduce AI concepts such as data mining, machine learning, decision making and optimization, and fairness in machine learning and algorithmic decision making in the context of informing applications in environmental sustainability (biodiversity, climate, water, forests), disasters and climate change, poverty, homelessness, and health.

Learning Objectives:
  1. Gain familiarity with a diverse set of AI techniques
  2. Learn about pressing social good problems and the underlying computational challenges that can inform them
  3. Become familiar with successful applications of AI techniques to real-world social good problems
  4. Prototype ML applications in Jupyter Notebook

As part of this course you’ll be teamed up with your peers and asked to ideate a data-driven solution to a social issue. You’ll be coached through developing a full machine learning pipeline which includes data collection/visualization, pre-processing, data modelling, model evaluation, and post-processing. By the end of the semester you’ll be well on your way to publishing a research paper on the topic of your choosing!

Current Projects

Here are short descriptions of our Fall 2020 class projects

Past projects


Professor Bistra Dilkina


Office hour: Tue 3-4pm @ SAL 304

The course is taught by Associate Professor Bistra Dilkina, who is also co-director of the USC Center for AI in Society. She has lead extensive research focused on using AI for sustainability and social good, and in particular wildlife conservation. Her work spans both machine learning and discrete optimization algorithms.

Haoming Li

Teaching Assistant

Office hour: Fri 2-3pm @ SAL 1st Floor study area

Haoming is a PhD student in Computer Science at USC, advised by Bistra Dilkina. He has a background in Computer Science and Economics. His research focuses on the intersection between machine learning and optimization. He occasionally likes to write about himself in third-person