Title: “Teaching Demo: Comparing Algorithms - What makes one algorithm ‘better’ than another?”
Host: Holly Rushmeier
It seems like a simple question: what makes one algorithm “better” than another? In this demo class, a few weeks into a CS fundamentals course, we’ll work together to design two distinct algorithms to solve a seemingly basic task: search for a particular name in a list. But how do we compare multiple algorithms that solve the same problem? We’ll discuss various methods of comparison, do a group activity, and learn the fundamentals of an important tool in the CS toolbox–Big O notation.
Many students in CS fundamentals coursework struggle to both develop practical programming skills and internalize deeper CS thinking practices like analyzing algorithms. And while Big O notation exists as an ideal tool for this sort of work, it is often reserved as a formal mathematical tool introduced later on in the CS core curriculum. In this demo class, we choose to introduce students to the fundamentals of Big O notation as a thinking tool when comparing two algorithms. We don’t expect learners to become experts in the mathematical underpinnings of Big O in a single class period. Instead, we aim to prepare them for future use of the tool in formal algorithmic analysis by focusing on building computational intuition on how an algorithm’s run time might grow as its input grows larger and larger.
Connor Bain is a Ph.D. candidate in the joint program in Computer Science and Learning Sciences at Northwestern University in Evanston, Illinois. His research focuses on developing tools and frameworks for teachers to integrate computing into K-12 STEM classrooms. This work has resulted in new findings on CT integration in STEM showing that it can simultaneously broaden participation in computing, represent scientific inquiry in a more authentic manner, and deepen learners’ understanding of STEM topics. Connor’s teaching experience spans a number of different departments and audiences, from introductory classes in statistics, economics, and computer science, to advanced seminars on causal inference and multiagent-based modeling. At the core of his pedagogy is framing computation not as a tool reserved for the few, but as a way of empowering learners to challenge the world around them. Connor’s teaching and research sit at the intersection of computer science and the learning sciences and combine computational, quantitative, and qualitative methods to create evidenced-based frameworks for a new kind of computing education focused on CS+X ideas.