Additional reflections
Based on the feedback, the teaching team realized these key ideas for online learning
- Spend a lot of time in smaller breakout groups for better student engagement
- Starting the class all together in the morning creates a sense of unity and transparency
- Being hyper-organized is key, for instructors as well as for students. There is no spatial mental model of "the books go here" and "our assignments go there" – so online workspaces need to be consistent, easy to navigate, and its structure needs to be fairly unchanging over time.
- Lectures of content should be interspersed with breaks, movement activities, live coding examples, computing history factoids, and creative code artist inspirations. Not all students will feel engaged by the coding itself, so students should be exposed to a wide range of ideas and activities connected to the topic.
- Half or more of the time should be spent with students getting to review and build concepts on their own, while teachers act as mentors to check in and offer guidance 1-1.
We learned a lot on the fly as we were teaching as well. Frequent vibe check-ins with students gave us these insights, which we immediately applied:
- focus on the feeling of achieving tiny victories with mini-assignments, while the "cool, creative work" can come in the daily homework prompts.
- don't cover anything new in the afternoon (zoom + programming overload)
- have exercises grouped into “easy”, “medium”, “hard”
- send out a list of concepts to read up on in advance
- offer a “base code” layer that they can then work on top of, rather than building from scratch.
General structure
Days 1-5
Morning lecture, interspersed with movement activities, live coding examples,
Afternoon recitation, where students would break out into groups of 9, review the morning's concepts, pair program some coding challenges, and be given a homework prompt for the afternoon.
Day 6
Team norming, project brainstorming time, 30-min office hour sessions with faculty
Day 7
Morning project branch lecture, followed by project time interspersed with office hours and drop-in sessions with faculty.
Day 8-9
Morning wake-up dance party, project time interspersed with office hours and drop-in sessions with the faculty.
Day 10
Final presentations, closing reflections, and happy hour
Most of the structure for week 2 was not settled until the end of week 1, because we constantly needed to respond to the students' learning needs.
Deep dive reflections
Really good pattern of remote teaching:
- 5 faculty total. It worked really well to have this many teachers. We couldn't have had such a great class without 2 faculty in charge of morning, and 3 in charge of afternoon. This allowed us to react much faster to the challenges the students were having and iterate on our class every day.
- Having more faculty also allows for more 1-1 help. Having a high teacher to student ratio helps in the learning experience!
- Morning introduction of concepts (whole group lecture)
- Concepts are introduced by working to build out an example that they finish by the end of the morning. For example, if we're learning about arrays, building a student randomizer picker to motivate the learning and then walking through the concept by building that example.
- While working on the example, students get time to work on their own. Faculty set up breakout rooms from the main room, so that if students need 1-1 help, they ask in the zoom chat, and the host puts them in a room with a faculty. Sometimes there are more students than teachers who need help, so I called on some of the other students to facilitate the 1-1 sessions.
- Good mix of content: Inspiration, computing history facts, dance parties in the morning or even just warm-up/pep-up music before class starts (Thanks peter for always getting the right music). Pecha kucha for instructors
- Afternoon "recitations"
- 3 separate zoom calls, with 9 students each (or the right # to create good pair programming numbers); each group gets a new instructor the next day.
- Afternoon warm-up: a drawing activity, a "draw a shape & pick a color that expresses how you feel right now", peer-to-peer feedback on yesterday's assignments
- Live code
- Live code again what just happened in the morning.
- Live code some other exercises related to the morning concepts. Do not introduce anything new.
- Students get a chance to work on exercises the faculty come up with:
- 3-5 exercises, at least two "mandatory" ones and then the others can be "advanced."
- Aim for small wins, basic confidence-boosting exercises. Advanced exercises can focus on something "cool" or aesthetically pleasing.
- Aim for exercises that they can then use in their daily assignment
- Daily assignment
- Day 1: Still life
- Day 2: Pattern reproduction (though this ought to be different next time)
- Day 3: Interaction (with food)
- Day 4: Go back to a previous sketch and add to it :)
- Day 5: Relax!
- Week 2:
- Structure:
- In groups of two, students come up with a project around the theme that we present. We also offered 3 branches to allow students to explore what they wanted.
- 3 branches were: multiplayer, make a tool, data remix.
- Offering choice is good too because they have increased ownership over their decisions. We didn't force them into doing just one dumb theme
- When not in lecture, students get to either reserve time with faculty, or come to a half hour check in with the faculty. Each team gets 2 check-ins with faculty per day, one in the morning, one in the afternoon. When faculty isn't checking in, they have time that can be reserved by the students, if the students want to discuss anything.
- Keep teams with the same faculty in each morning and afternoon, but vary them over the morning and afternoon. E.g. Team 1 always meets with Annelie in morning, and always meets with Peter in the afternoon. To keep faculty knowledgeable about the context of the project.
- In groups of two, students come up with a project around the theme that we present. We also offered 3 branches to allow students to explore what they wanted.
- Day 1
- Morning: Introduce theme and team norming and project management for software in pairs <3
- I love that so much time was spent on norming and project management in the morning. Would do again.
- Afternoon: Brainstorming
- By EOD: Pick a concept and identify MVP/project planning steps
- Morning: Introduce theme and team norming and project management for software in pairs <3
- Day 2
- Morning: Lecture on HTML and on the tools for the 3 branches
- Afternoon: Work time
- By EOD: Roughly halfway to MVP
- Day 3
- Work time
- By EOD: MVP achieved!
- Day 4
- Work time
- Mid-day feature freeze
- By EOD: presentation prepared
- Day 5
- Presentation
- Party
Learning highlights
Day 1
Making shapes in code is cool but maybe not so fun. Why would we use circle(10,10,10) and not illustrator?
Day 2
Woah we switched from gear 1 to gear 5 in a very unpleasant way. The instructors re-assess, learn to go slower, and provide exercises that can create small victories for the students.
Day 3
Instructors learn not to introduce completely new concepts in the afternoon. Students grapple with being able to understand when instructors explain and live code, but not knowing how to start from scratch. (Hint: It's normal to feel that way.)
Day 4
Instructors continue to revise each lesson daily based on feedback; we end up teaching fewer concepts than we expected in order to really solidify understanding of arrays.
There's still plenty of fun challenges for folks who want to work ahead.
Day 5
Images are fun, pixels are hard (so we didn't delve into getPixels). Our brains are fried, and we should use the weekend to come back refreshed!
- Structure: