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.
My classes for Fall 2024 are as follows.
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.
- I&C SCI 46 : Data Structure Implementation and Analysis
- There are two lectures of this class. Students are welcome to attend either one, regardless of enrollment, with the following two exceptions:
- On exam days, you are required to take the exam in your enrolled section. This includes the final exam
- If we run out of seats on non-exam days, priority for seating is for students enrolled in the section.
- CompSci 260P : Algorithms
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
- CompSci 162: Formal Languages and Automata
- Those two classes can be taken concurrently!
- The prerequisites are the same for each.
- CompSci 162 DOES NOT have CompSci 161 as a prerequisite
- In the past, students have done well in CompSci 162 without having taken CompSci 161 prior, or even concurrently.
- I will post more thoughts about the schedule and taking them concurrently soon (probably in January 2025)!
|
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,
Spring 2024 |
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
- 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 ]
- 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.
|