U(1) Transformed Learning
This is a talk I will give at the NQN Workshop on Quantum Programming in Theory, Experiment and Classroom. My talk is about flipped learning of quantum computation. It kind of behooves me then to provide the lecture material before class. So, dear attendees, here is the structure of your pre-talk reading assignment.
1) Audience | Who are you?
2) Problem | Lighting a global pandemic under my ass
3) Solution | The U(1) Transformed Learning Model
4) Tools | Don’t reinvent the wheel — steal an 18-wheeler!
5) Implementation | What does it look like?
6) Results | Too close to call
7) Action | Where do we go from here?
Audience | Who are you?
You are a quantum computing aficionado. Maybe you are a student, researcher, lecturer, or community builder. But one thing is for sure, you know how a university classroom works, and you know trying to teach programming with chalk or slides isn’t it. You’ve heard of flipped learning — maybe even tried it — but want to see it in action in the context of quantum programming.
Problem | Lighting a global pandemic under my ass
Luckily, it’s actually Student Vacation Week in Australia right now, so I had time to put this together instead of the usual week’s subject material. Otherwise, this would be Week 8. Eight weeks ago, I was in quite a different situation.
I was tasked with teaching Introduction to Quantum Computing, ostensibly a second year subject for Computer Science students at the University of Technology Sydney — better known as UTS. The subject had not been taught before. In fact, there were no undergraduate subjects in quantum computing in all of Australia until recently. Now, UTS has a Major in Quantum Information Science.
There were many competing challenges and requirements:
- The subject had to entice students to enrol in the Major. I needed to get them excited about quantum computing. The subject needed to be a giant advertisement for quantum computing.
- The subject actually had to prepare them for potentially five more subjects in quantum information theory. I needed to ensure they had the right technical foundation to be successful should they actually choose to enrol in the Major.
- On account of COVID-19 (not sure if you’ve heard of it), the whole thing had to be delivered online.
Solution | The U(1) Transformed Learning Model
There are numerous models of education — probably dubbed “solutions” — which claim to meet the requirements that I had. But how do you decide? Well, you don’t — you use them all at once — this is quantum physics after all!
First, it was brutally obvious that this was going to be a blended learning experience. Material had to be available online and accessible whenever the students wanted it. Chalk was out, YouTube was in.
A candidate structure was the flipped learning model, where more traditional lectures might be accessed before the timetabled class and contact hours would be hands-on. Practice based learning, similar to the Quantum Katas developed by the Microsoft Quantum team, would definitely feature prominently.
Project-based learning combines with the flipped classroom to reveal one hard and fast rule: no slides. With apologies to the other presenters in this workshop, no one wants to sit at home watching another goddamn Zoom seminar in 2020! The students would work together under my facilitation rather than sit for 3 hours straight listening to me talk to my camera while PowerPoint slides flashed on their screen.
And, finally, since agile is a term bullshitters use to describe a team or group without a real plan — and I definitely did not have a plan — this was going to be an Agile classroom! (By the way, if you take one thing away from this talk, remember that “agile” is a universal excuse for any administrative transgressions.)
All in all, my classroom was going to be so flipped it would destroy the whole notion of a binary system of learning. I was going to flip it, rotate it, and possibly add a phase — I call the U(1) Transformed Learning Model!
Tools | Don’t reinvent the wheel — steal an 18-wheeler!
Now you may be a bit concerned — especially if you are the Head of Discipline looking at my completely empty Canvas course — that this “model”, although very flipped (so blended!) lacks… how should we say… structure. There’s not even a required or recommended textbook listed, you’ll gasp.
A brief comment on that. There are indeed many good options for textbooks. One I did eventually get the university library to put on hold was Quantum Computing: An Applied Approach by Jack D. Hidary. However, the progression was not the one I wanted to use and I feel like it glosses over too many of the core basics. It does serve as a good reference for all the key introductory dots that need to be connected to get from zero to Shor’s algorithm in code, though.
Another great textbook is Programming Quantum Computers by Eric R. Johnston, Nic Harrigan, and Mercedes Gimeno-Segovia. However, the “circle notation visualiser” is either a flop or complete genius. I can’t decide. However, it is used extensively throughout the book. Since I wasn’t absolutely committed to using this visualisation technique, I couldn’t use this as a textbook. Maybe next time.
The most recent addition to the quantum library is Learn Quantum Computing with Python and Q# by Sarah C. Kaiser and Christopher E. Granade. This is a great introductory textbook even if the authors were aiming for something orthogonal to “academic textbook”. The problem for me was that Q# requires a local installation, and this is an issue we’ll get to next.
Adding to this hodgepodge was an existing set of open source quantum software and educational tools I really wanted to make use of.
In order to engage the students, I felt I needed to get them programming their own quantum algorithms rather than the usual approach where I would just show them the quantum circuit and task them with stepping through each moment to verify it solves some task. For that they needed software.
Since they would have to do the whole thing remotely, and I had no idea how — or any desire — to ensure installation of software would go smoothly. I decided, among the many possible quantum programming languages, I would only consider those that would run in Google Colaboratory. This means that, for example, Microsoft’s Q# and Rigetti’s Forest were both out. (Get on that Chris! 😉)
There are also many great sets of lecture notes (see a full list of resources here). However, the best ones are somewhat outdated for my syllabus and focus on the mathematical foundations and the physics of quantum computation. Whereas, I wanted to fast-track the students to building quantum algorithms in software.
None of this to say that these resources were not useful, but I didn’t have time to determine which, if any at all, would be the best suited for my subject. So, again, I would have to sample them all… agilely.
Implementation | What does it look like?
Whatever this education omelette was going to end up looking like, I knew it all had to be served in one place. Since I was putting so much time into this, I added one additional requirement: make it as easily accessible to the most people as possible. (I swear if someone mentions Canvas… 🤬)
I settled on Medium for content delivery. That is, the core of the subject would be a blog, with everything embedded or linked from within. Each module is linked from the live syllabus:
Although I am ploughing through with no plan at all… err I mean although I am working in the agile framework, there is definitely some structure to the subject. Each week is devoted to a specific topic with video lectures supported by lecture notes that are available before “class”. It’s much easier to look at an example than to explain. Here is a lesson on Superdense Coding and Teleportation:
The key elements are as follows:
1) The lecture notes themselves, written colloquially, kind of like what you are reading now.
2) Video lectures that walk through the arguments and calculations.
3) Calculations that are revealed as animated hand-drawings.
4) Animated quantum circuits.
5) Interactive quizzes.
In the lab, which is more difficult to make transparent, we work through solutions to quizzes and exercises. These are often programming exercises — katas, if you will — organised in “fill in the blank” jupyter notebooks hosted on GitHub. I am also posting the solutions, which are “cleaned-up” versions of what the students create in lab. For example:
Superdense coding and quantum teleportation in three quantum programming languages
Lab 6 of Introduction to Quantum Computing
But my favourite thing so far is the non-transitive group project. This is a group project, but not just any group project. Inspired by the complexity of quantum mechanics, this is a non-transitive group project. What does that mean? Well, if Student A is in a group with Student B, and Student B is in a group with Student C, then Student A and Student C may not be in the same group!
I have a perfect square of students in class, so it can look something like this.
Each student is assigned one topic and one quantum programming language. They must explain their assigned topic using their assigned programming language. This combination will be unique to each student. However, they are also at the intersection of two different groups. Two other people will be assigned the same topic (but a different programming language) and two people different from the original two will be assigned the same programming language (but a different topic). The students collaborate with both of these pairs of students simultaneously.
So much fun! But does it work?
Results | Too close to call
As I mentioned, we are only half-way through the semester. The students are “happy”, relatively speaking. Of course, no one but Jeff Bezos is happy about 2020. But I’ve been told by the students that they appreciate the effort more than anything. My level of enthusiasm sticks in their mind relative to the poor online delivery of other subjects in their degree. However, there are only nine students and I can nearly provide one-on-one tutelage.
The quiz linked above has about 200 views, but only a 20% completion rate. However, the final questions are meta-questions about the quiz itself, which many dropped out before answering. One of these questions asks “How useful did you find this quiz as an educational device?” The results below are rather encouraging.
I will say at this point that within the context of granting the current students credit for completing this subject, we are on track for success. As for the techniques themselves, I don’t have conclusive evidence that these were any better than preparing a bunch of slides and assigning exercises from Nielsen and Chuang. Only time will tell.
Action | Where do we go from here?
Why did I really do all this? Part of it was due to the feeling of helplessness in the face of COVID-19. I wanted to believe that I could cure us of 2020. I understood that we would all be #stayinghome, and as an educator I could do my best to alleviate the upheaval — maybe even make something better than we had before in the process.
The sad reality is even if I did create the greatest education innovation the world has seen, we are still living through the worst conditions today’s (admittedly otherwise charmed) students have faced in their lives. I’m not going to supplant the losses experienced by students due to COVID-19 even if I could get Billie Eilish to sing my lectures live on Zoom.
But we must not fall victim to stagnation. We must continue to do what we do best. For me, that’s taking crappy things (usually my own) and turning them into less crappy things.
With that said, up next for me is the following:
- Shorten the videos to more bite-sized chunks. I’m just assuming here that the shorter the better based on the popularity of TikTok. But also, it is easier to accept the need to rewatch something short than search a long video for something you missed.
- Find a way to assign and reveal katas beyond the classroom. Now I give the students the code fragments and after a suitable amount of time, I give them the solution. Really, though, I create the solution and copy to a version with deleted content. Streamlining this would be far more convenient.
- Build the interactive quizzes into lectures. The interactives seem to work the best. However, it is really time consuming to create them. There are also many things I’d like to try but don’t have the software development or animation skills for.
- Find a platform to more easily facilitate group work. The students don’t collaborate beyond sharing screens on Zoom or exchanging emails. There must be a better way.
- Find a more convenient way to solicit feedback. Getting student feedback during the class is problematic, which makes it difficult to iterate.
That’s it for me. I’m curious if you have tried anything new in teaching your subjects and keen to hear any feedback you have on my approach. Otherwise, stay safe and sane wherever you are!