Michael Shindler

I am an Associate Professor of Teaching in the Computer Science Department at UC Irvine.

Office: DBH 4058

If you want to meet with me, for example if you are thinking of graduate school and want to discuss it, and would otherwise drop by my office hours, but aren't in my class this term, please send me an email and I will try to find time to meet with you.

To form my email address:
  • For course-related topics, concatenate mikes with [at] ics [dot] uci [dot] edu
  • For all other topics, concatenate mikes with [at] uci [dot] edu
My research focuses primarily on educational issues in computer science; I am particularly interested in issues related to teaching Computer Science Theory courses, such as identifying and correcting student misconceptions in these courses and also discovering concept inventories. I am also interested in more general issues involving the scaling of class sizes and making efficient use of resources for student learning.

In the past, my computer science research touched on computations on large datasets, machine learning, approximation algorithms, streaming algorithms, and data mining.


If you are planning to ask me for a letter of recommendation, please read this first.
Picture of Michael Shindler

Teaching

For every class I teach, all students are responsible for all material and due dates in the class, even those that occur prior to their enrollment. If you are planning to add the class after day one, please contact me at the start of the quarter, preferably at the conclusion of the first lecture. You should plan to attend every lecture starting at day one, even if you are not yet enrolled. Students who are not enrolled may still submit assignments and take exams.

For Spring 2024, I am teaching CompSci 162 : Formal Languages and Automata. That link should take you to a public Canvas page, even if you are not enrolled in the class. Please let me know if you do not have access for some reason.

I am tentatively using Canvas to post course material. Right now, these links should point you to a public Canvas page -- even if you are not enrolled in the class, you should still be able to see the files listing (which will contain handouts, assignments, slides, and so on). This means you should also be able to enroll in GradeScope, even if you are not enrolled (yet) in the class, to be able to submit assignments.

For the 2024-25 school year, I am tentatively set to teach the following courses. These courses will be offered on-campus and in-person.
  • Fall 2024:
    • I&C SCI 46: Data Structure Implementation and Analysis
    • CompSci 260P: Algorithms
  • Winter 2025:
    • CompSci 161: Design and Analysis of Algorithms
  • Spring 2025:
    • CompSci 162: Formal Languages and Automata

Past Teaching

Course Number Course Title Quarters(s)
I&C SCI 45C Programming in C/C++ (as a second language) Fall 2023
I&C SCI 46 Data Structure Implementation and Analysis Fall 2019, Winter 2020, Fall 2020, Winter 2021,
Fall 2021 (2), Spring 2022, Fall 2022 (2),
Winter 2023 (2), Fall 2023, Winter 2024
CompSci 161 Design and Analysis of Algorithms Fall 2019, Summer 2020, Fall 2020, Spring 2021,
Winter 2022 (2), Winter 2023, Winter 2024
CompSci 162 Formal Languages and Automata Spring 2020, Spring 2021, Spring 2023
CompSci 167 Applied Cryptography Spring 2020, Winter 2021
CompSci 260P Algorithms Winter 2020, Spring 2022, Fall 2022, Spring 2023
CompSci 261P Data Structures Spring 2021

Selected Papers

  • What is an Algorithms Course?. With Michael Luu, Matthew Ferland, Varun Nagaraj Rao, Arushi Arora, Randy Huynh, Frederick Reiber, and Jennifer Wong-Ma. SIGCSE 2023 [ pdf ]
  • Student Misconceptions of Dynamic Programming: A Replication Study. With Natalia Pinpin, Mia Markovic, Frederick Reiber, Jee Hoon Kim, Giles Pierre Nunez Carlos, Mine Dogucu, Mark Hong, Michael Luu, Brian Anderson, Aaron Cote, Matthew Ferland, Palak Jain, Tyler LaBonte, Leena Mathur, Ryan Moreno, and Ryan Sakuma. Journal of Computer Science Education. [ pdf ]
  • Beyond Big O: Teaching Experimental Algorithmics. With Michael T. Goodrich, Ofek Gila, and Michael Dillencourt. In CCSC South-west, 2022. [ pdf ]
  • Experience Report: Preemptive Final Exams for Computer Science Theory Courses. With Matthew Ferland, Aaron Cote, and Olivera Grujic. In CCSC South-west, 2020. [ pdf ] [ appendix pdf ]
  • Teaching Large Computer Science Classes. With Shahriar Shamsian, Gisele Ragusa, and Jeffrey Miller. In ASEE, 2016. [ pdf ]
  • Fast and Accurate k-means for Large Datasets. With Adam Meyerson and Alex Wong. In NIPS, 2011. [ pdf ] [ code ]
  • Streaming k-means on Well-Clusterable Data. With Vladimir Braverman, Adam Meyerson, Rafail Ostrovsky, Alan Roytman, and Brian Tagiku. In SODA, 2011. [ pdf ]

Erdos Number

My Erdos number is 3:
  • 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)
I would like to thank the American Mathematical Society's collaboration distance calculator for providing me with an easy way to determine this.

Educational Background

  • 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.