I am a senior lecturer at the University of Southern California.
Office: SAL 204
Fall office hours will begin August 20. They are:
During these hours, course-related material will have priority over other items. I am happy to make private appointments to meet with students as needed.
- Mondays 12:00 - 1:00
- Tuesdays 2:30 - 4:00
- Wednesdays 8:30 - 9:30
To form my email address, concatenate my last name with [at] usc [dot] edu
My recent research focuses primarily on educational issues in computer science; in the past, my work touched on computations on large datasets, machine learning, approximation algorithms, streaming algorithms, and data mining.
In Spring 2019, I will be teaching:
- CSCI 170 -- Discrete Methods in Computer Science
- My lectures will be using a zyBook digital textbook: Discrete Mathematics by Sandy Irani
- Purchase information will be available here in the near future.
- Readings in this textbook will be required for the course.
- I strongly recommend the supplemental textbook:
- How to Prove It: A Structured Approach (second edition) by Daniel Velleman
- CSCI 499 -- Special Topics: Concepts of Programming Languages
- See What is 499? for information about the course
- This course is an undergraduate tech elective.
I have taught a variety of courses at USC in the past, both undergraduate (course numbers 0-499) and graduate (course numbers 500+):
||Data Structures and Object Oriented Design
||Discrete Methods in Computer Science
||Spring 2015, Fall 2015, Spring 2016, Fall 2016,
Spring 2017, Fall 2017, Spring 2018, Spring 2019
||Introduction to Algorithms and Theory of Computing
||Fall 2014, Spring 2015, Summer 2017, Fall 2018
||Introduction to Operating Systems
||Spring 2016, Summer 2016, Fall 2016
||Introduction to Computer Systems
||Spring 2017 (as CSCI 499, special topics), Fall 2017
||Introduction to Machine Learning
||Concepts of Programming Languages
||Fall 2015 (as CSCI 499, special topics), Spring 2019 (as CSCI 499, special topics)
||Fall 2017 (discussions), Spring 2018 (lecture, discussions),
Summer 2018 (lecture, discussions)
||Analysis of Algorithms
||Fall 2013 (lecture), Spring 2014 (lecture), Fall 2014 (discussions),
Spring 2015 (discussions), Summer 2015 (lecture), Summer 2016 (lecture)
- Streaming k-means on Well-Clusterable Data. With Vladimir Braverman, Adam Meyerson, Rafail Ostrovsky, Alan Roytman, and Brian Tagiku. In SODA, 2011. [ pdf ]
- Fast and Accurate k-means for Large Datasets. With Adam Meyerson and Alex Wong. In NIPS, 2011. [ pdf ] [ code ]
My Erdos number is 3:
I would like to thank the American Mathematical Society's collaboration distance calculator for providing me with an easy way to determine this.
- I co-authored Streaming k-means on Well-Clusterable Data (SODA 2011) with Rafail Ostrovsky (and also with Vladimir Braverman, Adam Meyerson, Alan Roytman, and Brian Tagiku)
- Rafail Ostrovsky co-authored The linear-array conjecture in communication complexity is false (STOC 1996) with Nathan Linial (and also with Eyal Kushilevitz)
- Nathan Linial co-authored Extremal problems on permutations under cyclic equivalence (Discrete Math, 1987) with Paul Erdos (and also with Shlomo Moran)
PhD in Computer Science from UCLA, 2011
Advisor: Adam Meyerson
Master of Science in Computer Science from UCLA, 2008
Advisor: Adam Meyerson
Bachelor of Science in Information and Computer Science from UC Irvine, 2005.