Faking it with Code

or How to Ramp Up a Computer Science program with Blended Learning

This is based on a talk I gave with Matthew Evans at the Computer Science Teachers Association conference in San Diego in July 2016. Over the years, Aaron Grill and Jeff Lisciandrello have helped me understand the connection between Blended Learning and Computer Science education.

In the age of ‘CSforAll’, teachers find themselves suddenly teaching a new discipline to a large and diverse population. But the emerging field of ‘Blended Learning’ offers valuable lessons and tools for us. Evaluating and implementing these tools should offer us the best opportunity to create a responsive classroom where ‘CSforAll’ can happen.

from Google Trends

Limited Supply vs High Demand

From Google Edu Research / Gallup

Despite the large demand for CS from parents and students few schools offer courses. And the few that do only offer specialized courses that are not accessible to many and can be taught by few highly qualified teachers, for example, AP Java. This unmet demand perpetuates the lack of diversity seen in the technology field.

from Information is Beautiful

CS for All by All

In the future, CS programs need to be much larger and inclusive. There needs to be new curricula and projects that are flexible and can be adapted to the needs of the learner. Creators need to be actively thinking of lowering the barrier to entry for students and teachers, including K-8 resources. Teachers will have to learn with their students.

The Blended Learning model, which combines face-to-face instruction with online learning, offers educators a map for how to ramp up a CS program quickly. In blended model students can learn at their own pace, the classroom is reorganized into centers focused on skills, and the teacher behaves like a coach and supports the students in small groups or one-on-one. The best examples of this model are middle school math classrooms that use Khan Academy.

from the Browning School

Faking It

The old model of being trained in ed school with content knowledge and pedagogy before entering a classroom is not useful or available in the age of CSforAll. Instead, teachers need to be comfortable learning the content and how to teach as needed and often in class with students. The teacher can hope to be ahead of the curriculum and feel prepared for all questions but needs to be vulnerable and open to some chaos. But these are important parts of the model. We should remember that we ask the same of students and they lead to the best outcome. Ultimately, it requires the teacher to rethink their role in relation to the student. Think of yourself as a coach rather than a teacher.

One of the biggest benefits of this model is that it allows for a large degree of differentiation. Students can move at their own pace and capable students can move ahead and take on more complex material. This allows the teacher to focus his or her efforts on those that need the most support. There are many great resources on how to setup the ideal differentiated classroom. Indeed, blended learning and differentiation go well together. I will try to write a proper post about this soon.

Digging Deeper

CS educators should evaluate CS curricula on many different metrics — engagement, accessibility, etc. But they should strongly consider feasibility and sustainability.

The best online learning platforms come with a sophisticated “teacher dashboard” where one can see student progress. Beyond that, there are badges that gamify the experience for the students and help them understand their progress. Ideally, the platform will be accessible via a web browser. There the student will find high-quality lessons from a master teacher. The tasks that come with the lesson should fit the timing of the class, say 20-minute tasks in a 45-minute class. Finally, there should be a clear map of the unit so the both the teacher and student can see the overall plan for mastery and completion.

from Khan Academy

Better Blended Learning Tools for CS

Here are some of the platforms that I like to use. Some require a paid subscription, which I have marked with a symbol, $.

Elementary School — Code.org, Tynker($).

Middle School — Codesters ($): Python, Blocks-to-text.

High School — CodeHS ($): JavaScript, AP Java, AP CSP.

Free — Codecademy, Khan Academy.

Do It Yourself — Canvas LMS, Gooru.

from CodeHS

Rubric for Evaluating Resources

Here are some questions educators should ask as they are looking at online resources for CS:

  • Does it have a teacher dashboard? How do you use it?
  • How easy is it to navigate? Can your students find what they need?
  • How am I learning with my students?
  • Who has used it? What was their experience?
  • What do the tasks look like? When should they be done? How do they get graded?
  • What will my class look like?
  • Will this be sustainable?

Be kind to yourself. This is an important project; teaching a new and challenging subject to a diverse population. It will take time to learn and master. Learning with students is scary and a blended learning classroom can feel chaotic. Ask for help!

Other Considerations

  • Headphones / Noise-level: Often online resources have videos, think about how you want students to hear the lessons. You might want to get headphones.
  • Vision: Share the vision for your classroom with parents, colleagues, and administration so that they understand and support what you are trying to do.
  • Procedures: Try to come up with a plan for all the steps that need to happen in each class — How should the students get computers? Where should they sit? How and when should they ask questions? etc.
  • IT: Have a conversation with the people that handle network access at your school. Make sure the sites you need are not blocked and that you have enough bandwidth for your students.