Category Archives: Workflow

Presentation Mode

Presentation Mode
=================

2016-12-07

by Richard White

It’s Computer Science Education Week, and for the fourth year in a row I’ve conducted presentations at our Lower and Middle Schools for an Hour of Code with 5th and 7th graders.

I’ve got a bit more on my plate than usual this year, so I tried to minimize time spent emailing/calling/coordinating with various administrators, tech coordinators, and teachers. I work with a great group of people who helped make some of that happen—our Middle School Tech Coordinator was instrumental in navigating some of that, and my Upper School director committed early to giving me time off from my classes to go conduct those sessions. Also, our Lower School Technology Integration Specialist took on some of the heavy lifting for the first time this year, identifying activities that might be well-suited for the 5th graders.

I’d been a little smart about things too: the Hour of Code webpages that I’d set up previously were still live, and a handy reference for those who wishe it. The presentation materials that I’ve developed over the years were pretty much ready to go as well, with some minor modification and editing. I’ve been switching from PowerPoint to LibreOffice, and my software on the laptop was good to go.

Now, how about that hardware?

Every presenter has their list of hardware that they need to be sure to bring along to a presentation, particularly if you’re going to be away from your home base for the day/week. What to bring with?

  • Laptop
  • Camera/cellphone for documenting event
  • Charger and charger adapter
  • Logitech wireless presenter (R400)
  • Lightning port-to-HDMI cable (spare)
  • Lightning port-to-VGA dongle (backup)
  • USB key with presentation materials (backup)

I’d been to one of the rooms I would be presenting in, and knew that it was probably already stocked with the various power supplies and cables that I’d need, but you never know. Most of the items on that list there are simply backups or replacements for items that I expect will already be there.

img_9764

I got to the room, got things set up, checked out the projector to make sure it was working, double-checked the video that I’d be running in the presentation for sound… I was good to go!

I went to grab a marker to write my name on the whiteboard… no markers? Oh, there’s one. An old low-odor marker for which someone has left the cap off. I tried to write my name, and it left a half-visible mark on the board. I went to erase it and… no eraser.

Who has whiteboards with no working pens or erasers?

I scrambled around a bit and managed to scare some up just in time for the presentation.

It just goes to show you…

Looks like I have a couple of additional items for my hardware list. :)

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?

Getting SaaSy: Software as a Service

Getting SaaSy: Software as a Service
====================================

2016-10-28

by Richard White

Ah, remember the glory years of installing software on a computer? Buying cardboard packages with floppy disks or CD-ROMs inside them, and spending an afternoon installing a new game or Microsoft Office on your desktop machine.

If you’re a bit younger, installing software got more convenient: later, you might gone to the Mac App Store, or iTunes, and downloaded software directly off the Internet.

Even those halcyon days of software installation are on their way to becoming a memory, though, at least for some of us. That software you previously installed and ran on your computer is increasingly being replaced by “Software as a Service“, and if you aren’t familiar with “SaaS,” you almost certainly use it. SaaS provides you with the cloud-based equivalent of an installed program, often via an interface running in a web browser.

Google’s Docs, for example, provide you with the ability to create and edit word-processing or spreadsheet documents. When you use Google Docs, you’re not running the equivalent of Microsoft Word on your computer. Your browser is interacting with documents that have been made available to you over a network. Google is providing you with “Software as a Service.”

Google’s Docs are an example of a “free” service (in quotes because you do pay a price in terms of your privacy), but it’s more likely that a company will charge you for their SaaS. Spotify, for example, provides you with the ability to stream music onto your computer or mobile phone. There is a small app that you download to use their service, and it is this app that allows you to interact with their music delivery service in either free or paid form. The music doesn’t reside on your computer; the music is streamed to your computer as a service.

I’m a bit old school when it comes to these things, so I’m not that big a fan of SaaS. Sure, I’ve got a Netflix subscription, and I watch Game of Thrones via HBONow. But I don’t have 24×7 access to the Internet, and I don’t like the idea of my hardware having to lie dormant when I’m not connected.

This is a little more than just a philosophical debate. I’m a teacher, and as part of my job, I record and calculate students’ grades on assignments. I used to do this in a paper gradebook, and then quickly graduated to a spreadsheet system. Spreadsheets were practically made for teachers to record and calculate grades with. Some of my colleagues who weren’t so good with managing a spreadsheet bought specialized grade tracking software and installed it on their home computers. That works too.

In the interest of providing students with ongoing access to their grades, I switched a few years ago to using a free service called Engrade, formerly at https://www.engrade.com. And with that move I entered the SaaS realm, using someone else’s software running in my browser, with access to my students’ grades via the Internet… assuming I have a connection. Which I usually do.

One of the downsides to SaaS is that you no longer have a copy of the software that is yours to use. When McGraw Hill purchased Engrade for $50 million, there was a new sheriff in town… and the service was no longer free.

And maybe that’s okay. Maybe McGraw Hill deserves to see some return on their investment in this company. Enough of my colleagues at my school site used Engrade that our school decided to pony up for a site license, so I’m still using Engrade. And that’s mostly good news…

…until their site goes down.

engradepro-outage

So, yeah. Software as a Service. Advantages and disadvantages. Pick your poison. Just be aware of the benefits and pitfalls of your options.

Next weekend I’ll be on a cross-country flight, writing up grades and comments for my students to be turned in the following week. I won’t have Internet. I won’t have Engrade. I won’t have Microsoft 360. I won’t have Spotify.

I’ll just have my laptop, with iTunes playing my old CDs that I ripped, and I’ll be writing comments in a text editor while consulting student grades in a spreadsheet, the way you do.

Like a Boss.

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…

Legacy vs. Transition

LEGACY VS. TRANSITION

by Richard White

2014-04-18

Hello, and apologies for the long absence. You know how things can get busy…

Actually, I’ve got the best excuse of all for being away—I’ve been extra busy this year teaching the new AP Computer Science class this year. Organizing, developing materials for, and teaching that class has taken up just about every spare work moment I’ve had. I’m not unhappy about that at all—having the opportunity to work on any new course, and especially that one—is an exciting experience, and I’ve learned a lot of lessons this year, lessons that I’ll tell you about soon.

In the meantime, let’s talk briefly about Legacy vs. Transition.

Here, I’m referring to legacy in it’s modern digital sense: legacy software is software that is not the most current, but which is still supported to some extent, perhaps by virtue of the fact that it was very popular at one point, and its use is still widespread. (The adjective legacy may be extended to other uses as well, but the software context is a common one.)

Last year Microsoft announced the new version of its venerable Office suite, now called Office 365. Along with whatever features that new software includes, it also comes with a new licensing strategy. Under this new system, a one-time license to use the software is not purchased outright; rather, the user pays a monthly fee for the right to use the software. It’s a classic example of the software as a service model for software distribution, and it’s certainly within Microsoft’s rights to transition to such a model. Google has been doing it for years, and if Google doesn’t charge cash money for the service, I’ve certainly paid for their services in other ways (including my privacy every time I send or receive an email from someone with a GMail account).

After losing the ability to read ClarisWorks (and then AppleWorks) documents a number of years ago, I made the decision to transition to using Microsoft Office products, with the intention of avoiding the kind of data loss that comes from using products that have a shorter lifespan. I have gigabytes of Microsoft Office documents on my hard drive, from my own handouts, worksheets, tests, and letters of recommendation to documents that have been shared with me by practically every person with whom I have a professional relationship.

libreoffice_screenshot

Microsoft’s new licensing plan, however, was just the impetus I needed to start thinking about transitioning to a new system. I still have the Microsoft Office suite on my computer and occasionally still edit legacy documents using those applications. New documents, however, are being created using LibreOffice, which is a serious attempt at providing free software to support the creation of OpenDocument (.odt) files.

You can see a screenshot of the LibreOffice word processing interface above, and the similarities between it and Word are such that you shouldn’t find yourself too disoriented.

LibreOffice includes translation features to bring Word documents (.doc and .docx) over, and how well your files will be translated depends in part on how hard you’ve pushed Word’s feature-packed capabilities—I haven’t explored those capabilities much yet.

For the moment, I’m just enjoying adapting myself to the new system, and creating a new series of documents that, going forward, won’t require an ongoing investment with the powers that be at Micro$oft.

In the grand scheme of things, working about the long-term viability of your electronic documents might not be something that you want to think about… but it merits some consideration. I have songs made with music mixing software that I no longer have access to. (I have final mixes of the music, but the software itself no longer works; I am unable to create new mixes of the music.)

deck_bias_software

JPG graphics images, carefully edited and compressed fifteen years ago when dial-up connections were still a thing, look terrible on the high-resolution Retina Display of an iPad. (At least the colors of those images haven’t faded with time, which is more than I can say for the paper-based photos in an old photo album of mine.)

Hardware legacy is something to consider too. I have FireWire hard drives but my laptop doesn’t have a FireWire port. I have Zip disks from the 90s, too, and no Zip drive to put them into. Fortunately, I copied everything from those drives onto a USB external hard drive a few years ago when I did have access to those machines. I was either smart or lucky to have anticipated the transitions that would have to be made happen down the road.

I don’t think there’s a one-size-fits-all to the challenges posed by aging software and hardware. Some people spend enormous time and energy making sure that they always have copies of everything digital—I tend to lean towards that end of the spectrum, as you might imagine—and others don’t want or need to keep anything of their digital life.

I don’t know any of those people, though, so I can’t really speak to that.

:)

The Ed Tech Battle

The Ed Tech Battle

by Richard White

2013-10-06

There’s been a lot going on lately in the world of educational technology.

I mean, okay–there always is–but this past week or so, there have been some really interesting items that have caught my attention. The general theme is simply this:

What we’re trying to do is really difficult.

Getting the hardware / software / lessons / workflow right is surprisingly tricky, and some of our best and brightest are struggling (and often unsuccessfully) to get it right.

My take away is that if these people are having trouble, it’s okay if I’m finding it a little frustrating, too.

In the news:

Kevin Marks talks about trying to manage Amazon textbooks on This Week in Google episode 217, (September 25, 2013)

At 34:20, Kevin starts talking about the challenges of dealing with Amazon.com / Amazon.uk licensing differences for electronic textbooks, with corresponding separate Google accounts to manage those accounts. Even once he gets this solved, he’s still concerned that notes taken in the textbook for one country are stuck in one Amazon cloud, and inaccessible from another.

Summer Adventures of a Droid Tablet

A math/computer science teacher outlines in gruesome detail his efforts to get a new “recording his class lessons” workflow going after the untimely death of his laptop. Sample entry:

I would love to drop the USB Mic too if I could figure out how to use the Droid’s Mic with this configuration. I would then be truly wireless! This new incarnation of the Kindle has an 8.9″ HD screen, dual WiFi, dual speakers, dual cores as well as a webcam and mic. I think there’s a version of Teamviewer, called Teamviewer for Meetings, that uses VOIP so I wouldn’t need a separate Mic. IDK if it’s free or cheap. I suppose I could go back to using a wireless lapel mic? Maybe I could use a BlueTooth Headset Mic? You see, my lapel mic disappeared after Hurricane Sandy destroyed the Math Building at my High School….

I am also experimenting with other Remote Desktop Protocol (RDP) apps such as SplashTop. I’m using Splashtop2 for Droid and SplashtopStreamer for Windows.

I’m focusing on Teamviewer and Splashtop as these Desktop streamers are available for both Windows and Linux and the client app is available for Droid. I usually have to use Windows whenever I’m on the road, say at a conference. However, I usually use Linux all day every day at the High School. Further, all my tablets are now Droids!

How iPython notebook and Github have changed the way I teach Python

This article, referred to me by my friend Cindee, relates how one teacher, reflecting on frustrations encountered while teaching Python, eventually developed a technology-based workflow that allows him to give student better access to the materials covered in class. (More relevant to computer science classes than traditional subjects.)

Students in LAUSD “hack” their iPads

It’s a kerfuffle all the way ’round, and everybody’s got something critical to say about the situation, from the large scale of the roll-out to the money involved, from the choice of device to the sloppy execution. Everybody except perhaps Audrey Watter’s, who says this is what we should be teaching kids to do anyway.

And for me: Google Saves the Day?

My own frustrations are perhaps minor compared with some of these, and I’d like to think they won’t cost 1 billion dollars to solve (the projected cost of LAUSD’s iPad program). One of my recent discoveries: Google Docs and Presentations, used by many teachers and students, don’t have a notifications option that will inform a document’s shared users when that file is edited. Google Spreadsheets offers this option, but Docs and Presentations don’t.

Huh?

So my genius plan for conducting an ongoing conversation with colleagues via one of those documents hit a bit of a snag, and while there is a workaround–we wouldn’t be education technologists without our workarounds, would we?!–it shows again that trying to find a solution to some of these things is sometimes / often / usually harder than we’d like it to be.

The reality is that I’m grateful for Google’s shared documents, which are increasingly a cornerstone of many teachers’ workflows. It’s good enough that I almost don’t mind them mining my data so that they can more efficiently sell me ads.

Almost.

Hang in there, people. We’ll get this figured out one of these days soon… :)

Video Production

The last couple of weeks I’ve been spending some time putting together informational videos—screencasts—to be used as part of my school’s Bring Your Own Device program which begins this Fall for ninth graders.

As teachers we all spend a certain amount of time preparing content for the courses we teach, and this is a little like that… only more so. I’m conservatively estimating that I put in ~2 hours of work per minute of video, based on writing the content (script and PowerPoint), creating and assembling resources (logos, other screen captures, etc.), recording the basic presentation, post-production editing (layering in the additional resources, removing out-takes), and uploading of video to YouTube.

I don’t envision that this is going to become a permanent part of my job, but I’ve enjoyed trying to become more proficient at the process.

Here’s the current line-up.

I’ve toyed with the idea of making a How to Make a Screencast video, but… how do you record yourself record something? How do screencapture yourself doing a screencapture? This is all very meta-….

Dynamic Response vs. Lesson Planning

DYNAMIC RESPONSE VS. LESSON PLANNING
Richard White
2013-04-27

“We plan now so we can improvise later.”

Tuesday had been a decent day with the students in my Computer Science class. After having taken a few days to work through the concept of a flat-file database, and writing a small AddressBook.py program that would manage their contacts, I’d taken Tuesday to introduce the concept of a relational database. The transition from “rows and columns” in a text file to “records and fields” in a database was easy enough, and after a quick look at a typical page on Reddit–essentially a large discussion board where people can write a follow threaded messages–we’d designed our own tables that would do the same thing. We were all set for Thursday when students would actually start writing a Python program to implement the idea.

We were poised to work on this activity, just as my students had done for the last couple of years… but late Wednesday evening, as I anticipated the next day’s teaching, I decided to change it.

It was one of those realizations that comes later, only after you’ve planned something and maybe even tried it out a few times, a realization that reveals in shocking and funny ways how hard it can be to anticipate everything. I realized that one potential stumbling block for students in the past couple of years had been the fact that using databases requires the introduction of a new language–Structured Query Language, or SQL–which I probably (certainly) hadn’t prepared them for. In the rush to get them working on the Python code, I’d glossed over some of the key concepts that they’d need to understand if this assignment was going to be useful in building their understanding.

This was partly by design. At the end of the school year, there was little time to devote to a large unit like this, so I’d opted to try to squeeze it all into a week, and the students were faring about as well as you’d expect they would: they were getting confused and frustrated by trying to do too much too quickly.

So Wednesday night, from 11pm to 12am, I sat down and bashed out a new discussion/demonstration for the next day. It would be laptops-closed for twenty minutes or so as we developed GradeKeeper, a database that I could use to track their scores on assignments. We would develop the tables in class–studentTable, assignmentTable, scoreTable–emphasizing the concept of primary keys and foreign keys–and then I would show them a working model of the database in class. I “quickly” jotted down the development process that I wanted to take them through in class, and threw together (in SQLite) the database itself that I would show them, with 3 sample students, 6 assignments, and 18 recorded scores.

gradeKeeper-keys

It was an hour later before I finally crawled into bed, but that new lesson, presented the next morning, turned out to be just the “Ohhhhh… I get it!” step that had been missing in my students’ understanding in previous years.They still weren’t ready to run out and develop the DicussionBoard program completely on their own just yet, but they had a much better idea of the method behind the madness when their programs executed an otherwise arcane-looking SQL query.

Now you probably don’t teach Computer Science and those five or six paragraphs above may be a bit arcaane themselves, but the point is this: planning what we do in the classroom is, for me, a vital step in improving my effectiveness as a teacher. Without planning I can certainly walk into the classroom and speak extemporaneously, and if I’m lucky and the material isn’t too technical, my brighter kids will be able to pick up most of what I’m talking about.

But to be most effective, we need to carefully consider the logical steps that will help our students build their understanding of a topic. That kind of careful consideration comes with planning, and (in the example above) comes with reflecting on plans that have been delivered in the past.

Lesson planning is a good first step, but it needs to be followed by reflection on the effectiveness of the lesson as well, and with a willingness to improvise as required. Lesson planning doesn’t mean that we are required to strictly adhere to those plans, lock-step and with no awareness or consideration of how students are responding to the experience.

But it’s a good first step to delivering great instruction, and will provide a jumping off point for furter development and exploration of your teaching strategies.

Whether it’s notes on paper, a text file on the computer, or a PowerPoint presentation, planning instruction will make you a better teacher.

Give it a try!

Responsive Design in the Hybrid Classroom

Responsive Design in the Hybrid Classroom
2013-04-23
by Richard White

What is Responsive Design?

There’s a recent development in website design called “responsive design,” which refers to the design of a site so that it can easily be viewed on just about any device, from a giant monitor to a laptop, and on down to a tablet (iPad or otherwise) and a smartphone (iPhone or otherwise).

Early strategies for developing for these different types of devices consisted of designing two or more completely different versions of a website, with development and maintenance costs doubled or tripled as a result. More recently, a more reasonable approach has arrived: create a single site, but use Cascading Style Sheets (CSS) to customize display formatting depending on the device. So the site design “responds” to the device it’s being viewed on, and adjusts itself accordingly. Responsive design in web development is still a bit more complicated than it was in the good old days when all anyone used was 800×600 pixel monitors, but the payoff is this: people who visit a site using a mobile device–and these devices account for an increasing share of a site’s traffic–are going to have a much better experience.

So what?

But you’re not a web designer. Why are we talking about responsive design?

Just as mobile phones and tablets have caused designers to re-think their coding practices, it’s clear that changes in our students and the ways they learn is an opportunity to reconsider how we design our courses.

This is on my mind a lot as I tackle the development and organization of a course that I haven’t taught before, AP Computer Science. The teacher of any course is typically responsible for creating at least some of the content delivered in a course, or at the very least curating content and designing instruction and assessment strategies around that content.

A small sampling of some issues we consider when assembling a course:

  • What content will be delivered?
    • Is content available in a textbook?
    • Do I need to create my own content?
  • How will content be delivered?
    • Auditory lectures?
    • Whiteboard
    • PowerPoint
    • website
    • screencasts
    • PDFs
  • What activities support learning?
    • Homework
    • In-class activities
    • Worksheets
    • Laboratory experience
    • In-class activity
    • On-line activity
    • Field trip
    • Movie
    • Outside reading
    • Review sessions
  • How is feedback given?
    • During in-class discussions
    • Written feedback on assignments
    • Email
    • Peer review
  • How is learning assessed?
    • Projects
    • Quizzes
    • Tests
    • Cumulative Exams
    • Presentations

If you’re an experienced teacher than you almost certainly have already attempted to use most or all of these at one point or another in your teaching, and you’ve probably got your go-to list of favorite strategies that you use. But it never hurts to reflect a little on our practice, and re-examine what we do, particularly when a new course, or a new grade being taught, or even the arrival of a new academic year gives us a bit of breathing room.

Two Examples

From my own experiences in the last year, here are two quick examples of how I’ve reconsidered my teaching.

In both my Computer Science course and my AP Physics course I’ve become more committed than ever to making complete solutions of problem sets available to students online. It’s true that there will be some students who take advantage of this to copy work, but it’s my belief that there are a greater number of students who use the solutions as intended, i.e. as a resource to assist when stuck on a problem. Online solutions provide students with the support they need to make progress when I’m not immediately available, and I’m not comfortable with the idea of withholding those tools from some students based on a fear that some others will misuse the tool.

A second example from the Computer Science course is an assignment format inspired by a handout from a Michigan State University course (CSE 231) that I happened to stumble onto at some point. I’d been struggling to find a way to clearly state my expectations on assignments, as well as provide sufficient structure for the assignment so that students would better understand the solution strategies available to them.

On the one hand, I hadn’t wanted to give away too much information in the assignment sheets I handed out to students. On the other hand, I didn’t want things to be so vague that they had absolutely no idea of where to begin. The format of the CSE 231 assignment handout was shocking in it’s clarity, and inspired this new version of my project handouts. It features:

  • an Overview of the assignments, with a clear indication of the point value and due date
  • a Background section including general information about the context of the assignment
  • Program Specifications with a more specific detail of what must be included in the final program
  • a Deliverables description, with information on how and where the assignment is to be turned in
  • Assignment Notes that offer hints or specific strategies that students can use to better understand what they should be doing
  • a Getting Started section that describes some of the basic steps that students can use to begin their project
  • a section entitled “Questions for you to consider (Not Hand In),” which gives students a few questions to consider if they’d like to extend their thinking regarding this project
  • a Sample Interactions section which shows actual output from a working version of the program, so that they have a better idea of at least one version of a solution to the problem posed

There are seven projects I assign over the course of the semester that get one of these sheets, and it has greatly improved my students ability to complete assignments. Students who need more support find that the sheet gives them solid start-up strategies, while students who want to explore some of the more creative aspects of an assignment are sooner able to get to the point where they can do that.

Before I began distributing these Project Descriptions, I had it in my head that giving students a “Sample Output” listing would somehow be “giving it away.” The reality turned out to be that without a clear indication of my expectations, students didn’t find the project “intriguing” or even “challenging.” It was just “confusing and frustrating.”

Lessons Learned

It’s clear that we all need to revisit our practice from time to time. Conversations with other departments, investigating new technologies, and working with new teachers or even student teachers can all provide insights into what we do, and can provide a jumping off point for conversation that openly consider changing what we do as circumstances warrant.

By incorporating a Responsive Design attitude towards our own teaching–adapting what we do according to new contexts–we become more dynamic and more effective teachers.