Category Archives: Education reform

The Poor Person’s Guide to Differentiated Instruction

The Poor Person’s Guide to Differentiated Instruction
=====================================================

by Richard White

2016-10-28

I’m a classroom teacher, and I’m a busy man.

I prep lessons, I develop and coordinate assignments for my students, and post homework assignments on the school website. I collect work, set up labs, write, administer, and grade tests. I develop caring relationships with my students.

It’s the best job in the world… and I come home *exhausted* most days.

One of the many challenges we teachers face is providing learning opportunities that are appropriate for the level of our students. In classes with an especially wide range of abilities, these can become problematic, logistically speaking.

In my Computer Science classes I typically have at least three ability levels in the same class:

1. students who have already had some experience with programming, possibly in a different language, and who are able to accomplish most assignments very quickly.
2. students who may be new to programming, but who are making reasonable progress. They quickly learn that programming requires attention to detail, and they typically pick up patterns—syntactical, logistical, procedural—after one or two exposures.
3. students who struggle to recognize the patterns, or who find themselves more easily frustrated by the puzzles posed by programming assignments.

I’ve experimented with a few different strategies over the years. Here are three that I’ve tried that have met with some success.

1. Below the Fold Progression
In this type of differentiation, students are provided with a text file (usually online) that contains a statement of the problem at the very top of the file. The file itself is actually a working copy of the problem, with the initial problem statement written as a multi-line comment near the beginning of the file. Much farther down on the page, where students can’t easily see it without scrolling, is another multi-line comment containing a pseudocode analysis of the problem. And finally, much farther down again, is the solution code itself. Students who want to work out the program without any hints are free to do so, while students who need a bit of help from the pseudocode can look at that as needed. Students who need much more support may find themselves looking at the actual program for assistance, and that’s okay if that’s where they are in their own learning process.

Example: ch06ex03.py (Right-click or Ctrl-click to download)

2. Page 2 Solution
In this strategy, something similar to the “Below the Fold” method is used, but now, the problem statement and its solution are printed on paper to be distributed to the students. The front side of the paper has the problem statement, and a complete working version of the code is on the back side (page 2) of the same piece of paper. This has the advantage of giving the students a concrete document to scribble on, and giving the teacher some ability to see which side of the paper students are looking at as they work on the program.

Example: four_functions.py (PDF format, Right-click or Ctrl-click to download)

3. Progressive Lecture
The final strategy is much more interactive. Students are assigned a problem in class and instructed to begin developing a solution. At the front of the room, after some reasonable amount of time has passed, the teacher begins writing out a rough outline of the program, perhaps with comments highlighting significant sections of code. Students who have developed their own solutions to the program will continue working on their own, while those who may be struggling to organize a solution will get some hints from what is written on the board.After a few more minutes have passed, the instructor may continue fleshing out the solution to the problem using the framework already developed. Students who still aren’t sure about some aspects of the program are free to ask questions as actual code is presented on the board.

Example: Differentiated Instruction (YouTube video)

Strategy 3 requires the most from me in the classroom. I’m moving around the room, actively monitoring students’ progress, and trying to determine the *decisive moment* (thank you, Henri Cartier-Bresson) when I should begin reaching out to assist students who need some additional guidance. Strategies 1 and 2 have the benefit of being delivered by computer or paper, with assistance immediately available to students when they decided they want to take advantage of it. The downside of those two strategies, of course, is that students do have access to solutions, and may be tempted to avail themselves of those materials before they’ve had a chance to wrestle with the material… and it’s in that wrestling that they really get to learn things.

As I say, I’ve used all three of these strategies on one occasion or another, and they work pretty well in Computer Science courses. I’ve adapted similar strategies to some of the science courses I teach.

As a teacher, do you use any of these strategies, or something similar? How do you reach out to the students of varying ability levels in your classroom?

The Lone Wolf… Rides Alone

The Lone Wolf… Rides Alone

Richard White, 2016-10-15

Computer Science teachers at the 9-12 grade level are a lonely group of individuals in many cases. Some of us have colleagues nearby with whom we can converse with on a regular basis–there might even be a computer science program or department at our school–but many of us work alone, and represent the sole face of *Computer Science instructor* at our schools.

Some people enjoy the freedom that comes with being the “lone wolf” of the school’s Computer Science program. You have a bit more control of the curriculum you teach, perhaps, and conflict resolution with peers goes a whole lot easier when you don’t *have* any peers.

But there are challenges as well. Many of us are responsible for wearing multiple hats simultaneously, managing hardware, software, and curriculum, for example. Or we teach separate classes in widely varying topics: computer science, networking, web design, and mobile application development. In addition to our courses, we mentor robotics teams, we advise Girls Who Code clubs, and we organize “Hour of Code” events for the larger community. We promote Computer Science as a subject internally to our peers and administrators, and act as *de facto* Public Relations representatives to the wider community.

It’s no wonder we get a little tired sometimes.

With an increased interest in computer science, computer principles, and computer programming, there’s a call for more computer science teachers nationwide.

For me, it can’t happen to soon. As much as I’ve enjoyed developing and teaching computer science classes at my school, I could use a little company.

What’s your preference? Do you enjoy working alone, or is the idea of bringing in someone else to share ideas and share the labor appeal to you?

My Vision

MY VISION

by Richard White

2016-03-24

You almost certainly heard that a couple of months ago, President Obama called for “Computer Science for All” in a program of the same name. From the Fact Sheet for that initiative:

Providing access to CS is a critical step for ensuring that our nation remains competitive in the global economy and strengthens its cybersecurity.

We’ll set aside (for the moment) Obama’s more recent call to weaken that cybersecurity that he’s such a fan of. In the larger perspective, Obama is correct: we need to provide more opportunities for students to learn Computer Science.

I think he gets this just right. This statement doesn’t say students must take CS classes. This is not necessarily a requirement. But the vast majority of students probably should take one or two CS classes, and certainly everybody should have the opportunity to take CS classes.

When people ask me about it now—the Vision question—this is part of my thinking:

I don’t think every student should be required to take Computer Science. But every student should take Computer Science.

They should recognize that computers, technology, the internet, social networks, online advertising, and cybersecurity have an enormous influence on how they live their daily lives.

It’s certainly possible for a student to educate themselves, but we shouldn’t expect them to take that on alone any more than we expect students to teach themselves calculus or how to write a research paper. Schools offer instruction in these areas because well-educated citizens need to know about these things, or at least need to have been exposed to them in a structured setting.

What do you think? Should schools require students to take a CS course, or should they just offer the curriculum and see who shows up?

Communication Breakdown

Communication Breakdown

by Richard White

2016–02–21

It’s not just an awesome song by Led Zeppelin—it’s a topic that has become of some concern in my teaching, particularly as more channels of communication have opened up.

A quick inventory of communication devices that I access during the course of a school day includes my mobile phone, my Apple watch, and my work phone (which doesn’t ring very often, thankfully), and most heavily, my computer, which is the focal point for most of my chatter.

But the channels that have access to those devices are truly astounding, and literally impossible for me to reasonably monitor. My “communication feeds” include:

  • mobile phone calls
  • texts (monitored with mobile phone and computer)
  • emails (6+ accounts continuously monitored with mobile phone and computer)
  • personal calendar (continuously monitored with mobile phone, computer, and watch)
  • websites (3) I maintain for students in my own classes
  • other websites related to my profession, including the one you’re reading right now
  • the school’s internal website
  • the school’s attendance interface
  • work calendars (4 separate ones): daily, junior and senior test calendars, homework calendar
  • work calendars (2 separate ones, for students, posted on course websites)
  • SFTP software (Panic’s Coda, for updating websites)
  • RSS feeds
  • Facebook (monitored rarely, almost never used for outgoing communication)
  • Twitter (monitored occasionally, almost never used for outgoing communication)
  • Skype / Google Hangouts / GoToMeeting (used on an occasional basis)
  • GitHub for storing repositories
  • Presentations (LibreOffice’s Impress, Microsoft’s PowerPoint) for delivering content to students and peers
  • Terminal windows open on the computer (multiple), which require a whole sub-section themselves:
    • to-do list
    • ssh sessions to the server maintained for computer science classes
    • text editors, for grabbing notes in an “Evernote” fashion
    • git version control for software projects

You are probably in a similar situation. If you don’t have as many websites or Terminal windows as I do, I’ll bet you more than make up for it with the time on Facebook (you can admit it—I won’t judge you) or the time you spend enjoying your family. Let’s face it: we’re all busy.

One of my challenges as a hybrid teacher is developing in my students the ability to manage some of these channels. My students keep up with the most important elements of class via the website or the school’s course calendar, but even then, I email them on a semi-regular basis to remind them of especially important items. And students in my computer science courses submit assignments to a server, a new channel for them that some of them occasionally struggle to manage.

Our students are young and adaptable, but also easily distracted. As we ask them to incorporate new channels into their lives—subscribe to my Twitter feed! Watch this YouTube video for my flipped class!—are we helping train them for other classes, for university, for work? Or are we tempting them with more distractions?

I pose this question as I consider whether or not to introduce them to Slack, a team-based online communications tool that has taken the tech industry by storm. (I’m not just trying to be cool: Slack has the potential to give my students access to their instructor and each other, so questions can be answered sooner rather than later.)

I ask these questions as I develop curriculum for an Advanced Topics in Computer Science course that will leverage GitHub for distribution of class materials and for submission of coursework.

I consider these questions as I write this blog post at the computer while a large pile of important work—grading my students’ most recent test—sits over on the coffee table, waiting for my attention.

Where do you lie on the communications spectrum? I’d be interested to hear…

The Best and the Worst of Online Learning

THE BEST AND THE WORST OF ONLINE LEARNING

by Richard White

2014-12-25

mooc_reviews

A few months ago I signed up to take my fourth Massive Open Online Course (MOOC). We’ve discussed MOOCs here before, but it’s been awhile since I’d taken one, so perhaps it’s time for an update.

My track record with regard to these MOOCs is better than that of most people. The first one I took, a Python-based course on Building a Search Engine offered by Udacity, was far and away the best one I took. The whole MOOC craze hadn’t really started yet, and so it was clear that the instructors wanted to get this right, and that fact showed in the time and care they took in developing both the curriculum and the materials used to support the course. I followed the course, completed assignments as required, and earned a “certificate of completion” at the end of it all. Based on my experiences with that single course, I became a true believer in the concept of MOOCs.

I signed up for a couple of other classes over the course of the next couple of years, but didn’t complete either one. Udacity’s follow-up CS212 course, Programming Principles, taught by Peter Norvig, was poorly organized and poorly delivered, a disappointment all the more striking on the heels of the first course. Based on comments left on the course Discussion Board, students abandoned the course in droves. (Here’s an online review from a student as well.) I left my own comments on the Udacity Discussion Board:

…One of the important tenets of education is the idea of giving as student a problem that is just beyond their current level of understanding, along with the tools he or she needs to make that next step. In CS212, in the first unit, just about every quiz solution reveals a strategy or technique that had never been broached in the discussion to that point.

Yes, I understand that “the real world” requires one to do independent research as required. This is not “the real world”–this is an educational course that is intended to guide me in discovering the tools that I can use to solve problems. CS212, in that regard, has been a bit of a disappointment.

The third course I took was again offered by Udacity, this time a Java-based Intro to Programming course that I quite liked. It had the benefit of being taught by the author of the textbook I use for the AP Computer Science course I teach, and it was entertaining for me to hear his audio- and video-recorded development of topics that I would be teaching myself. I didn’t complete this course because I got busy prepping for school, and that seems to be a common malady when it comes to MOOCs. Without the structure offered by a regularly-timed class, there is an enormous attrition rate.

Just a few days ago, I completed the second of the four MOOCs I’ve taken, this one an Introduction to Linux offered by edX. I finished the course–a PDF certifying that fact is being readied as we speak!–but I can’t say it was a pleasant experience.

Here’s the thing. Learning is hard, and teaching is even harder. You’ve got to help students develop a coherent picture of the content and process that you’re presenting, typically with explanatory comments to help them understand why something is the way it is.

Here’s the type of video I got in this most recent course.

This is not teaching.

I survived the course only because a) I already knew most of the material in it, and b) the “final exam” consisted of 30 Multiple Choice questions, open notes and open coursework, with two tries allowed for each question and a pass-fail cutoff at 70%.

MOOCs aren’t going to go away. With a lot of planning and forethought, it’s possible to do them well. It’s also extraordinarily easy to mess this up, and it’s going to take some time for things to settle out. There are lots of challenges to be solved. How to reliably deliver good content? How to accurately gauge students’ progress? How to certify completion/mastery?

We’e seen some interesting forays into this new area of learning, and we’ve seen the ensuing land-grab by various corporations and higher-ed institutions, and the backlash that resulted from trying too much, too soon. We’ll see within a few years what we’ve decided to make of all this.

In the meantime, feel free to try out a MOOC and see how it feels. If at all possible, see if you can determine in advance how well a given course works. Coursetalk.com may be one place to start.

Good luck… and I’ll see you online.

Whither Identity: Reclaiming your templated self

Whither Identity: Reclaiming your templated self

by Richard White

2014-10-05

Part III in the “Whither” series

Who owns your online data? Who owns the content that makes up the digital you? Is your digital identity locked into Facebook as a series of uploaded photos, status updates, and comments on others’ posts? Do you have a copy of your tweet timeline? If and when you decide to migrate from Facebook, will your digital identity travel with you?

Audrey Watters refers to the “templated self,” a digital “you” that is described and defined via the features and constraints of any given platform. As cyborganthropology points out, Facebook and Twitter are strongly templated, with structures are policies that are highly confining to interactions. WordPress and Google+ are less confining, but still require working within a templated (pre-structured) space. MySpace pages—to their own detriment—had much less in the way of structure (hence the obnoxious and hard-to-read backgrounds that some users delighted in presenting).

Creating one’s own website is the least restrictive platform of all, of course. User-created content is not shipped off to be stored in someone else’s silo, but is maintained and managed in one’s own domain.

How significant is this to you? Is your Digital Self hosted somewhere that’s “too big to fail?” “Software as a service” relies on a company maintaining support for that service. Some services/platforms that have gone away in the past year or two:

  • Google’s social networking service Orkut
  • Twitter’s image hosting service TwitPic
  • Video streaming service Justin.tv
  • Apple’s MobileMe shut down
  • Yahoo!Blog shut down
  • Everpix photo hosting service shut down
  • Google Wave shut down

It’s no surprise that businesses and product lines occasionally fail or are discontinued, and that possibility is especially prevalent in technology, with boom-bust cycles akin to a bucking bronco. It’s all the more important, then, to give serious thought to how much of one’s identify one wants to invest in an organization’s template.

Closer to home—in our classrooms—it’s also the case that educational platforms enforce templated identities. Learning Management Systems, almost by necessity, structure content and data in such a way that it makes it difficult to move that data around to other places. Even something has simple and local as a classroom wiki doesn’t typically provide much in the way of data portability. The online grading program that I use for tracking my own students’ progress provides an Export utility that creates a CSV-based backup file for instructors, but provides no such option for students. Data that goes in to these systems very rarely finds its way out.

Another educational feature, perhaps peripherally related to the templated self, is the Digital Portfolio, which purports to provide some means of collecting, storing, and presenting a students’ electronic information over a longer period of time. I understand the desire for such a record–I have both digital and non-digital portfolios of work that I’ve done, assignments in school, artistic pieces, etc.–and I think schools are wise to be considering ways to implement these collections. (My school is in the process of discussing these possibilities right now.) I have to wonder, however, at the wisdom of paying for a storage/presentation service that places student assignments in a proprietary silo, with access controlled by a business that may or may not be around five years from now. Are there significant advantages here over the simple and expedient solution of having students place their most important work in a network folder?

The Internet began with a decentralization of access; anyone could access information from anywhere on the network. If Facebook and WordPress have given us templates, and in so doing forced a proprietary, siloed, centralization of our data, Watters encourages us to consider a “re-decentralization of the Web.”

If you’re interested in having an honest, long-term, presence on the Internet, reclaim your self. Get your own domain. Be who you are, rather than a Facebook status update that may or may not actually be seen by your friends, depending on whether Facebook decides to show it to them.

The original promise of the Internet was a democratization of voice: everyone had access, and everyone could be heard. Increasingly, however, voices are siloed behind paywall, registrations requirements, and licensing agreements.

Register your own domain, at hover.com or any one of hundreds of other registrars.

Reclaim your voice.

Reclaim your identity.

Computer Science in Schools

Computer Science in Schools

by Richard White

2013-12-26

Happy Holidays everybody!

The holidays are no time to get any rest. Oh, no, there’s too much going on–parties, holiday shopping, out-of-town visitors–to actually get any down time. No, to actually get a chance to relax, you have to resort to more drastic measures… like getting sick.

That’s my genius plan, and it’s working just great.

While I’m sitting around waiting for my body’s defense mechanisms to do their thing, I’ll just include a quick year-end pointer here to one of Audrey Watters’s year-end Trend posts, this one on Computer Science in schools:

Despite the proliferation of these learn-to-code efforts, computer science is still not taught in the vast majority of K–12 schools, making home, college, after-school programs, and/or libraries places where students are more likely to be first exposed to the field.

There are many barriers to expanding CS education, least of which is that the curriculum is already pretty damn full. If we add more computer science, do we cut something else out? Or is CS simply another elective? To address this particular issue, the state of Washington did pass a bill this year that makes CS classes count as a math or science requirement towards high school graduation. Should computer science – specifically computer science – be required to graduate? In a Google Hangout in February, President Obama said that that “made sense.” In the UK, computing became part of the national curriculum.

She has a bit more to say on the subject, but her thoughts echo many of my own. Does everyone really need to “Learn to Code”? How important is Computer Science in the midst of an already bulging academic curriculum? How can educators and the tech industry best reach out inclusively to students on behalf of an industry that is not only famously non-inclusive, but downright hostile to some demographics?

It’s a problem that merits discussion at all levels, and there are certainly institutional responses that might be pursued. As I expand my role as a computer science educator I may even become involved in some of those—that’s certainly my intention.

In the meantime, I consider myself on the ground doing the front-line work without which nothing else matters. “For this assignment, students, we’re going to…”

“Oh, cool…!”

If you’re not doing something cool with your computer science, well… what’s the point, really? ;)

Merry Christmas and Happy Holidays, everybody. See you in the New Year!

Hour of Code

HOUR OF CODE

by Richard White

2013-12-14

You may have heard about the Hour of Code this past week, a 5-day educational technology event sponsored by Code.org that is meant to inspire future generations of computer scientists and computational thinkers: by spending just an hour working on a computer science related project—playing with a coding simulation, building a game, solving an algorithmic puzzle—students of any age level will have a better understanding of the topic of computer science, and perhaps be inspired to study it further, either in school or on their own. As a computer science teacher it had popped up onto my radar a few months ago, and it sounded like an intriguing idea so I proposed the idea to our school directors, who were immediately excited about the possibilities.

Fast forward two months, lots of meetings, some curriculum development, and a website, and I’m happy to report that Hour of Code was a rousing success at Poly. We decided early on to target fifth and seventh grades at the school, and I decided early on to create a curriculum—part coding, part computational thinking discussion—that would work with our students. It certainly helps that we had an entire Apple iMac computer lab that I was free to install a user-friendly text editor on.

As I write this, we’ve finished working with the two classes of fifth graders, who thoroughly enjoyed the experience. We talked, we coded, and they walked away with an official and personalized Code.org Certificate of Completion as well as a printout of their code and corresponding Python turtle-graphics art. (Little Marco enjoyed the experience so much that he was quite put out when the lab had to be vacated before he’d put the finishing touches on his masterpiece. I learned later that the first thing he did when he got home from school that day was to plop down in front of the computer and finish his program.)

hour_of_code

Crucial to the success of the day was the support of a large number of people, including our division Ed Tech coordinators, our Director of IT, the teachers who gave us class time to work with their students, and three of my own Upper School students who came down to assist the younger students. We had teacher visitors from other schools in attendance as well, including a professor from Caltech’s Center for Advanced Computing Research. (I don’t think he was scouting our fifth graders for prospective students, but you never know…)

The participation of all these people was vital: advancing technology use in schools is not just about getting new hardware. As a gentle reminder of this fact, our seventh grade sessions—tentatively scheduled for this week—had to be postponed due to some scheduling conflicts. All is well, though, and we’ll be running a more sophisticated Hour of Code session—one that delves into recursion—with our seventh graders at the end of January.

For futher information about Poly’s Hour of Code, including code examples, the presentation slides, or a zipped file containing both, see Polytechnic Hour of Code.

Hierarchy of Needs

HIERARCHY OF NEEDS.TXT

2013-09-29

by Richard White

You’ve almost certainly heard of Maslow’s Hierarchy of Needs, which describes five levels of needs, in ascending order, that lead toward fully realizing one’s human potential.

Those needs are summarized in the triangle below, with an important addition at the very base of the pyramid, courtesy of the Internets.

IMG_3512

It’s funny in part because it’s true, at least as far as educational technology is concerned: if you don’t have a wireless signal at your school that students can use to access the Internet, well… it’s going to be pretty hard for you to do anything technology-related.

Okay, maybe you need hardware—I’ll give you that. But hardware by itself doesn’t really cut it anymore. (Yes, I know you’re leaning back and thinking fondly of the days when we could give a kid a multimedia CD-ROM, point them towards a computer, and pretend that we were teaching them. Those days are over!)

And depending on your classroom setting, the hardware issue may already be solved: your students are in a 1-to-1 program, or a Bring Your Own Device program… or maybe you’ve got a critical mass of smartphones that some of your students already own. There are lots of ways this could work out.

And from there, it’s up to you, you and the students, what you want to do with this technology, and how you want to leverage it. Web-based research assignments? Shared Google Docs (either via Google Apps for Education or students’ private Google accounts) for students submitting cooperative work? Web pages? Mobile apps?

With apologies to Maslow, then, here is an update Hierarchy of Needs for Educational Technologists. There are thousands of technology-facilitated things you can do in the classroom, but it all begins with a device and a connection to the Internet.

hierarchy

There are perhaps a few elements missing here: administrative support for new ideas, new hardware, or new software? And certainly professional development funding/time for inexperienced teachers is always needed.

What else have I missed? Or are these really the essentials that are needed for successful deployment of Educational Technology at a school?

The Intersection of Teaching, Learning, and Technology

At Laura Holmgren’s request, last spring I wrote what became the inaugural post at poly360.org, a blog for the independent school community in which I work.

I’m fortunate to work in a community where the topics covered in that post are actually part of ongoing, day-to-day discussions I get to have with other teachers and technologists.

I’m cross-posting the piece here.

The Intersection of Teaching, Learning, and Technology

Richard White – 360 Reflection

When I was nine years old I read Danny Dunn and the Homework Machine, a story in which Danny and his friends Joe and Irene program a computer to do their homework for them. At that time the personal computer was still a fantasy, but the possibility of being able to have a machine handle my academic chores–my learning–was absolutely intoxicating.

Fast-forward a few years: I’d gone from programming a mainframe in high school to majoring in Computer Science in college, and then from teaching computer programming in high school on IBM PCs (pre-Internet!) to teaching AP Physics in Berkeley. I’d re-discovered the book from my childhood–there’s my name on the inside, written in my mother’s neat cursive–and read again about Danny’s hard-earned lesson: that programming a computer is not a shortcut to learning. The last page of the book, though, opens up a new possibility:

“Danny had a strange, wild look in his eyes, and a faraway smile on his lips. ‘Listen–what about a teaching machine…?'”

I began investigating the possibilities of technology-enhanced programmed instruction. The learning process for an inspired student can be a pretty straightforward process: get exposed to something new, learn a little bit about it, and then use what you’ve learned to do something interesting. For some subjects, the process of presenting information and checking for understanding is ideally suited for a computer, and I wasn’t the only one who thought so. Programmed instruction in book form had existed for years, and computer-based math instructional methods were already being launched.

I was a month or so into developing my own programmed instruction when I began to realize that this system, whatever its benefits might be, also had the effect of isolating me from the very best part of my vocation: working with students to help them understand the world around them. Teaching content, exploring with students the process of interpreting content, and perhaps most importantly, learning to develop strategies for dealing with new and unexpected situations, all demand a dynamic, creative, process that is the very heart and soul of my work. There was no way for me to write this stuff down, to program it, to “classroom flip” this aspect of my work.

That hasn’t kept me from leveraging technology where appropriate. The vast majority of my current curricular materials are online–lessons, labs, homework help, and practice tests–and students across the U.S. and abroad use these materials as a guide in their own learning. I am part of a global learning and teaching community, using technology that is faster, cheaper, and better than ever. We are actively exploring new ways that we can use that technology to improve education.

But at the heart of it all–sometimes just barely visible behind the iPads and the laptops, the email and the tweets, the websites and the Massive Open Online Courses–are students and teachers, working together, just as we always have.

And there is nothing that will be able to replace that.