Teaching Algorithms: Online and Flipped Formats
Aleksander S. Kuliko is a senior research fellow in Laboratory of Mathematical Logic of St. Petersburg Department of Steklov Institute of Mathematics. He was teaching various algorithms and complexity courses in St. Petersburg and UCSD. Nowadays, as one of the creators of the successful Data Structures and Algorithms Specialization at Coursera https://www.coursera.org/specializations/data-structures-algorithms he is strongly involved in online Computer Science education.
While educational psychologists agree that a large traditional one-to-many classroom is minimally effective, I have been teaching in the same way my professors taught me when I was student. A few years ago I realized that it has to change and started teaching flipped classes to maximize my interactions with students. Since students mainly learn outside the classroom, I decided to invest efforts in the development of an automated system for HW testing that includes a compendium of 10-20 most frequent errors for each of 100 HWs in our Algorithms specialization on Coursera. I will discuss how this system may contribute to flipped offline classes and will describe our recent progress with development of interactive quizzes for various CS courses. The goal of such quizzes is to force students to “invent” classical CS concepts (active learning) instead of introducing them in a lecture (passive learning). E.g., we want students to invent the binary search by analysing an unknown sequence of 20 binary numbers starting from 0 ending in 1. Students may reveal any number by clicking in it and the goal is to find a pair of different consecutive numbers using less than six clicks. Our goal is to develop 100 such interactive quizzes Discrete Mathematics, Algorithms, and other courses.