In my Programming exposé post, I described how coding went from being one of the scariest things for me to teach to one of the funnest. I also mentioned that this year I’m using Google’s interactive Python notebook, Colaboratory, as the coding environment for my students. If you’re familiar with Python programming, it’s Google’s version of Jupyter notebooks. If you’re not familiar, keep reading, I’ll explain! Colab would’ve been WAY too fancy for me to use last year, but I reached out of my comfort zone this year and am SO happy that I did!
So before explaining what Colab is, let me explain what I was using as the coding environment for my programming class last year.
I would have used Python’s classic IDLE programming environment, but my students were/are all on low-level Chromebooks, so I needed to find a programming environment which was either super easy to install from the Google App store OR an environment that I could just have the kids use in their web browser. I landed on Repl.it, which I was pleased to find out one of my tech-savvy friends from college also uses with his students!
Repl.it has two Python environments and can also be used for a variety of other languages. The first environment I primarily used with my students was the “class assignment” one:
This worked well enough, because my students could see the directions on the right side of the webpage, their code on the top left (which I could also pre-populate with lines), and the shell (output) in black. The teacher interface of Repl.it did a good job keeping all the assignments in the same spot, and if I’d been fancy enough, I could’ve set auto-grading for the kids’ code.
However, as my students learned more and had more independent tasks, the directions on the right side were no longer necessary. We ended up switching to the “Multiplayer Repl” mode. My kids preferred this (mostly because it allowed dark mode), and I enjoyed that it let me directly edit their code before they “submitted” it. HOWEVER, it didn’t make giving feedback easy (I often just wrote feedback in emails or as comment lines in their code) and the students had to share EVERY SINGLE PROGRAM with me EVERY SINGLE TIME. I got WAY too many notification emails.
The other thing you’ll notice is that this multiplayer mode allows for multiple files (on the left side), which is convenient in programming. But I found this feature didn’t always work quite right.
Anyway, near the end of this summer, I was determined to find an alternative to Repl.it for this school year. I also wanted to equip my second year programming students more “legit” coding environment experience.
Colaboratory, or Colab, is more like a Google Doc that also allows you to put code in it. You can have sections of regular text, lists, links, or pictures, and then sections of Python code.
Notice those familiar Google Suite controls up top? It’s a beautiful thing. What you’re seeing here is actually an assignment I gave that’s partially filled-in by one of my students. I typed the plain text prompts and then left them to type the code in those gray areas. The cool part is that you can even see that the student tested their code after line 19 and that’s the output they got.
The other BEAUTIFUL thing is that because this is a true Google App, I can assign these and automatically create copies for each student through Google Classroom. (This is also my first year ever using Google Classroom and I have ALL THE GOOD THINGS to say about it, but that’ll be another post). Anyway, this is what the teacher-end of a Colab assignment on Google Classroom looks like:
You’ll notice I even got to see this student’s work and send a comment back before they officially submitted it. The document-to-Classroom update/refresh rate is unknown and I’ve noticed a bit of a lag if I’m trying to work on it with a kid during class, but it’s workable.
I only have two slightly bad things to say about Colab:
1. Even though it’s a G-Suite app, Drive always gives this stupid No Preview Available message every time you try to open a Colab from your Drive:
2. The plain text (non-code sections) are written in Markdown, which I would say is like a “coding-lite” version of just regular text document editing. (I think it’s related to HTML? Idk, Google it.) It’s taken me a Google search or two to figure out how to do anything more complicated than different sized headers, but it’s certainly not as tough to master as Python. And luckily the kiddos haven’t complained about it at all when they need to answer non-code-based questions.
Overall, Colab is a huge win for me and I’m SO enjoying programming!
Time to master GitHub,
P.S. If you want to see what Python’s IDLE environment looks like, see the picture below. This isn’t my screenshot, but you get the idea of the old-school, bare-bones feel.