Picture from MEET summer 2015

My awesome MEET students, TA's, co-instructors, & staff
Jerusalem, August 2015

Courses that I have taught for:

Lecturer, Unstructured Data Analytics for Policy | CMU 94-775 Spring 2018 (Mini-4)
[course website]
This is a version of my other unstructured data analytics course that is meant for students in the master's in public policy and management students. There is a team final project in which students apply what they have learned in the class to a policy problem of their choosing.
Lecturer, Unstructured Data Analytics | CMU 95-865 Fall 2017 (Mini-2), Spring 2018 (Mini-3, Mini-4)
[course website]
New half-semester course for master's in information systems management students on analyzing data such as text and images that lack a pre-defined model and are hence often referred to as "unstructured". The course is heavily practical with all assignments done in Python Jupyter notebooks. Students learn to work with large datasets with the help of cloud computing on Amazon Web Services. I developed a suite of brand new lectures covering basic natural language processing, exploratory data analysis including manifold learning and topic modeling, and predictive data analysis including deep neural networks for analyzing images and time series. I led a team of teaching assistants to put together brand new homework assignments and a final exam.
Instructor, Computational Probability and Inference | MIT 6.008.1x Fall 2016

[edX course]
New intro-college/advanced-high-school-level course covering introductory probability, probabilistic graphical models, and learning probability distributions. All three of these main topics are covered with heavy emphasis on coding. The course prerequisites are comfort in Python programming and calculus. I developed nearly all the course notes, 75% of the videos, numerous new exercises, all the autograders, and a new two-part final project. This online course is a modified version of the first half of MIT's 6.008 residential course, which I helped develop when 6.008 was still in pilot at MIT. The edX course differs in that its presentation has been made to be accessible to a much broader audience.

Instructor, Introductory Web Development | Middle East Entrepreneurs of Tomorrow (MEET) Summer 2015, Summer 2016
Intensive three-week introduction to web development for Israeli and Palestinian high school students in Jerusalem as part of the MEET program. Coverage included HTML, CSS, Bootstrap, Python, SQLAlchemy, Flask, and JavaScript. We tasked our students with completing socially responsible web applications that promoted cultural diversity or antiracism. Working in teams half Palestinian and half Israeli, they developed and presented their projects to Google Tel Aviv. I created new lectures and labs on building web applications with Flask.
Teaching assistant, Introduction to Inference | MIT 6.S080 (now 6.008) Fall 2012, Spring 2014

New undergraduate core Electrical Engineering and Computer Science course introducing inference and probabilistic graphical models. I taught for the class during the first two semesters that it had ever been offered. I developed substantial portions of the courseware, including Khan Academy style videos for students, a series of Python robot tracking coding projects, new recitation notes, new problem sets, and more.

Update (Fall 2016): Please see the newer Fall 2016 edX course for publicly available notes, videos, exercises, and more.

Lecturer, Statistics for Research Projects | MIT 6.S085 January 2014 for IAP
Two-week introduction to statistics course with an emphasis on recognizing when and how to apply different statistical tools to research problems. I updated the lectures to fold in ideas from predictive analytics and mathematical statistics.
Teaching assistant, Algorithms for Inference | MIT 6.438 Fall 2011

[Videos]
Introductory graduate-level course on probabilistic graphical models. I made Khan Academy style videos and helped typeset the first complete set of lecture notes for the class. I also delivered three lectures for the Fall 2013 class.

Update (Fall 2014): After my involvement with the course, the lecture notes I helped write were polished by more recent course staff and are now available on MIT OpenCourseWare.

Teaching assistant, Structure and Interpretation of Systems and Signals | Berkeley EE20N Fall 2007, Spring 2008, Fall 2008
[My Berkeley teaching ratings]
Undergraduate core Electrical Engineering and Computer Sciences course introducing the math behind processing images, audio, and video, and behind systems for communication (e.g., radio) and control (e.g., robotic manipulators). My third time teaching for this course (Fall 2008), I was the head teaching assistant, managing seven other teaching assistants.