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.
|
|
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.
I am tentatively using Canvas to post course material. During the quarters I am teaching, 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 remainder of the 2024-25 school year, I am tentatively set to teach the following courses. These courses will be offered on-campus and in-person.
- Spring 2025:
- CompSci 161: Design and Analysis of Algorithms
- For students interested in some review, here are some problems. They should help you review the prerequisites. We will also do some review in lecture and discussion early in the quarter.
- CompSci 162: Formal Languages and Automata
- I&C SCI 80 (Special Topics): Algorthmic Thinking.
If you are interested in this class, please fill out this form to request a spot.
For the 2025-26 school year, I am tentatively set to teach the following courses. These courses will be offered on-campus and in-person.
- Fall 2025:
- CompSci 161: Design and Analysis of Algorithms
- CompSci 260P: Algortihms
- Winter 2026:
- CompSci 260: Fundamentals of the Design and Analysis of Algorithms
- Spring 2026:
- CompSci 162: Formal Languages and Automata
|
Selected Papers
- Construction and Preliminary Validation of a Dynamic Programming Concept Inventory. With Matthew Ferland, Varun Nagaraj Rao, Arushi Arora, Drew van der Poel, Michael Luu, Randy Huynh, Freddy Reiber, Sandra Ossman, and Seth Poulsen. SIGCSE 2025. [ pdf ]
- Investigating the Capabilities of Generative AI in Solving Data Structures, Algorithms, and Computability Problems. With Nero Li, Shahar Broner, Yubin Kim, Katrina Mizuo, Elijah Sauder, Claire To, Albert Wang, and Ofek Gila. SIGCSE 2025. [ pdf ][ problem sets ]
- 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.
|
Past Teaching
Starting in Fall 2022, I made all pages public. For the 2022-23 school year, I have separate pages for the materials.
After that, these are public Canvas pages. Some course material remained available only to those enrolled, such as homework
solutions. Syllabi, assignments, diagnostic exams, and handouts remain available to the public.
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,
Fall 2024 (2) |
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,
Spring 2024 |
CompSci 167 |
Applied Cryptography |
Spring 2020, Winter 2021 |
CompSci 260P |
Algorithms |
Winter 2020, Spring 2022, Fall 2022, Spring 2023
Fall 2024 |
CompSci 261P |
Data Structures |
Spring 2021 |
|
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.
|