Category Archives: Uncategorized

My CS classes before distance teaching happened

I want to talk a little about CS distance-teaching, and I realize that this is kind of a niche topic given that teaching CS at all is a niche endeavor. I teach other classes–I’ve been a high school science teacher for much of my career–but teaching CS is what makes up most of my day now, so I suppose this is a good place to start.

I’ll talk about teaching Physics classes online in another post soon.

Conflated with the question of “what are some great ways of distance-teaching computer science?” is the deeper, darker question that haunts each of us: “Can you just help me identify some great ways of teaching CS under any circumstances, even those not involving a pandemic?” Because I don’t think we’ve really got that figured out yet, either.

There is some great research being done out there, and a lot of it gets presented at the annual SIGCSE convention each year. You need to go. There are other conventions as well, but SIGCSE is arguably the best, and you’ll get some great ideas, meet some great people, and have the chance to reflect more deeply on what we do–teaching CS–and how we might go about doing it better.

For today, I’ll just tell you what I’ve been doing for the past few years in teaching my own CS classes, and after that, we can talk about what changed when I had to start distance-teaching.

For context, after a long career teaching in public schools, I have taught at an independent school in southern California for the last 15 years. I have an incredibly supportive administration that has supported the growth of the school’s CS “program” (three classes) even when that sometimes results in class sizes that are quite small. Just as importantly, I work with an amazing IT director who has provided so much for our program, from hardware to servers to off-campus network access for students. Some key elements of our program wouldn’t be possible without support from higher-ups at my school, and without that, my teaching strategies, and even parts of the curriculum, would look very different.

Another important factor in all of this is the students’ access to technology. The Upper School in which I teach is a Bring Your Own Device (BYOD) school that requires students to have their own Apple or Windows laptop on campus with them every day. Having students work on their own machines, and then take them home where they can continue working, goes a long way toward facilitating the work we’re able to do. Without a BYOD program, I’d be working with a roomful of computers and having students either carry data back and forth on flash drives or interact with data directly on our server. We’d make it work, but it would change some of what we can do.

Some notes on infrastructure

As classroom teachers we know very well that the curriculum for a course is supported by all sort of infrastructure, what a textbook publisher would call ancillary materials.

For my courses, I post the vast majority of the materials I present to materials on a website that is available to them throughout the course. New material is presented in class using an LCD projector displayed on a whiteboard at the front of the room, supplemented with comments and lots of drawing with whiteboard markers. Live-coding demonstrations of syntax and coding strategies, or public decoding of students’ programs, likewise happens using the LCD projector.

Speaking of textbooks, after struggles with availability of a seemingly endless series of editions of Horstmann’s excellent Java Concepts: Early Objects, I chose to move to a free, open-source textbook that seemed to satisfy most of the needs for that course… and subsequently shifted to free, open-source textbooks for the other classes as well.

I include appropriate sections for reading in the course calendar, but most students seem to rely more heavily on the online materials I’ve prepared for presentations anyway.

Intro to Computer Science, AP Computer Science A

These courses are both taught at the introductory level, and both cover approximately the same curriculum. The year-long AP course uses Java, and introduces objects near the beginning of the course and covers object-oriented design principles and algorithms in much greater depth than the Intro class, and students are formally tested along the way. The single-semester Intro to CS class uses Python and blitzes along quite quickly, with an occasional quiz to help keep students honest.

For both courses, programming problems are assigned on a daily basis, and students use the Terminal on their own computers to upload assignments to a server maintained by me. I can run auto-graders on their assignments and/or look at their code as desired.

An important preface to each course is an introductory unit that includes lessons on computational thinking, the filesystem on their computers (mostly Apple, some Windows, an occasional Linux), the and Terminal. As more students come into the course with little experience using local files (music and movies are streamed! Google Docs are in the cloud!), it’s critical for me to give them experience thinking about files and directories for them to be able to manage these courses.

Here then, are the topics covered in both courses, approximately in chronological order.

  1. Introduction
    1. Computer Science vs. Computer Programming
    2. Intro to Computational Thinking
    3. Encapsulation, Binary numbers
    4. The filesystem, using GUI to navigate the system, organizing files in directories
    5. The Terminal
      1. Navigating the local (client) computer
      2. Logging on to a server
      3. Navigating the server
    6. Text editors
    7. Integrated Development Environments (AP course)
  2. Computer Programming Principles
    1. Output
    2. Input
    3. Data Types
    4. Math operations
    5. Implementing classes (AP course only)
    6. Functions (Static methods for AP course)
    7. Conditionals
    8. Loops
      1. while
      2. for
    9. Graphics (using Processing.org)
    10. Object-oriented design principles (AP course only)
    11. String functions
    12. Lists (Arrays, ArrayLists)
    13. Algorithms
      1. Recursion
      2. Sorting
      3. Searching
    14. Objects (for Python course)
    15. Graphical programs (Graphics-based game)

Advanced Topics in Computer Science

This course picks up where either of the other two leaves off. After (re-)acquainting students with Python and object-oriented programming, it covers:

  1. Algorithm analysis; Big-O notation
  2. Recursion
  3. Linear Data Structures
    1. Stacks
    2. Queues
    3. Deques
    4. Linked lists
  4. Algorithms
    1. Sorting
    2. Searching
    3. Hashes (Map or Dictionary)
  5. Trees
    1. Binary Trees
    2. Heaps
    3. Binary Search Trees
  6. Graphs (introduced)

A note on providing a course website

I consider the website for each of my courses to be the logistical hub for what I do–it’s not uncommon for me to begin class by calling up the course calendar from the site and asking out loud, “So, what are we going to be doing today?”

I’m no genius in website design, and at least one of my students will attest to that: in a classroom presentation, he used one of my course websites as an example of “an okay site that could be so much better.”

Thanks for that, Ikenna. :)

And you may not be a rockstar at writing HTML/CSS/JavaScript code, but there are ways of making a website happen.

A course website will have a profound effect on how easily you can transition to distance-teaching.

If you don’t currently have a website that you use as a focal point for your teaching, you might not feel like now is the time to take that on. That makes sense. And yet…

We’ll talk about this more in the next post.

Hardware for Distance-Teaching

This is perhaps the least sexy part of an extended conversation about distance teaching. Hardware is just stuff you can buy, so it doesn’t demand anything special from a teacher aside from money, either your school district’s or your own.

One of the great things about hardware is that you can almost always get by with less, as dictated by constraints. The barebones minimum that you need is simply that which you almost certainly already have: a laptop with wifi, webcam, and microphone.

Most of us benefit from having access to a bit more hardware. In order of subjective importance, then–most important first, niceties last–is my list of things that I’m currently using in my online teacher. (This list assumes that your base working computer is a laptop.)

  1. external backup drive
    There’s no way I’m going to do anything data related without a backup of my computer. A former colleague of mine, just yesterday, dumped coffee into her MacBook Air. Of course it was an accident; nobody does these things on purpose.
    Backups before all else.
  2. external monitor (and cable, dongle)
    One of the best things you can do to help manage your newfound digital teaching is to give yourself some extra screen-based real estate. It’s possible to simultaneously manage windows with your calendar, website, word-processor, email, and Zoom meeting all on your laptop’s screen, like an animal, but who would want to? If at all possible, finding a spot where you can set up an extra monitor will empower you to better juggle everything. A top priority.
  3. graphics tablet
    This isn’t something that would have been very high on my list before I started teaching from home, but it turns out to be pretty important now. From highlighting written documents during a Zoom session to actually writing out things, doing math, or drawing arrows to emphasize relationships, a small tablet has made a huge difference in what I can communicate on the computer.
  4. ear buds/headphones
    Most video-conferencing software–Skype, FaceTime,Meet, Zoom, etc–benefits from keeping the audio output from your speakers away from the audio input of your microphone. Most software does a remarkably good job of managing feedback loops so that you may not need ear buds or headphones, but it’s a nice thing to have access to, especially if you’re trying to be kind to a partner or worker within earshot of your teaching.
  5. mouse (blue-tooth)
    For most people, an external mouse makes everything better. Logitech makes some very nice ones.
  6. external keyboard and laptop stand
    The ergonomics of using a laptop are famously disastrous: if placed in your literal lap, the keyboard is in the right position but the screen is to low for proper posture, and if propped up at some height in line with your vision, you can reach the keyboard. Placed on a desk, both your neck and hands are forced into unhealthy positions.

    The best solution is to place the laptop at a height where you can easily see it–mine is currently propped up using books, and my partner’s is sitting atop a pile of shoeboxes–and use an external keyboard at an appropriate height lower down. A well-designed stand can dress up your workspace nicely.

    You didn’t get into teaching to spend hours each day at a computer, but this is where we are now. The least we can do is take care of ourselves.
  7. comfy chair and awesome desk
    These, too, can make your new life as a desk jockey much better and more healthy for you. Not all of us have the luxury of a dedicated work space, or that holy grail, a home office. Bu the more you’re able to carve out a literal or figurative “room of your own” in which to work, the better it will be.
  8. external microphone
    Your machine may have an adequate microphone, but an external microphone is almost always better. If you’re meeting with students or recording videos for them, improving your sound quality is a big bonus for them.

My partner needs less hardware than I do, so she’s got her “home office” piled onto a card-table in the living room. I’m fortunate to have a 5-foot wide desk from Ikea that I can spread everything out on. It’s a bit of a mess, but hey, we’re all suffering a little bit here. I’m consider myself lucky to be well-equipped, at least as far as my hardware situation is concerned.

Thank you, Apple, for the dongles.

A return, of sorts

This is my “professional” blog, and it has been just about a year since I’ve written. That’s not to say that my career has been on hold. Quite the opposite, and of course, that busy-ness is partly to blame for my lack of posting here.

There is slightly more room in my schedule now, thanks to a certain pandemic, so I expect there will be a bit more content here going forward. Likewise, some of the very fine computer science teachers I follow online have encouraged others of us to take up pen and paper keyboard and blog… et voila.

Here I am again!

What’s next? Over the course of the next few weeks I’ll be sharing lots of stuff, most of it having to do with some variation on “distance learning during a pandemic.” Teaching with technology has always been a thing I’ve done, and I feel fortunate at this point to have some background there.

Still, this is a challenging time for teachers and students everywhere. I’m looking forward to setting down here a little bit of what I’ve learned.

Stay tuned!

Homemade Capture-the-Flag, part 2

In the last post I was talking about the Homemade Capture-the-Flag competition that I’d created for my students as part of a culminating, end-of-semester activity. Students, working in teams, used their computers and technological/programming skills to solve a series of puzzles that I’d created for them.

As mentioned before, there are two main challenges in implementing the CTF: first, the creation of the problems themselves, discussed in the last post. The other challenge is programming the infrastructure that will manage the competition: the delivery of problems, solution submission, scoring, and leaderboard updating.

To do this, I leveraged some of my website, PHP, and MySQL skills to create the small website that students would use to log in, read problems, submit answers, and access the leaderboard.

The MySQL database consisted of three tables that teams of students would interact with. There is the users table which included their a user_id (a primary key), a team name (identified by the email field in the screenshot here), a hash of their password (pass, and the time/date of the team’s last login.

The second table was the problems table, with fields for the problem_id, the problem_num, the problem itself (statement, the correct answer, and the points awarded for successfully solving the problem.

Finally there was the successes table which identified for each problem successfully solved the success_id, the problem_id, the solver_id of the problem, and the time it was solved.

Manipulating these three tables with various queries allowed the site to display the Leaderboard with a running total for all teams: SELECT users.email, SUM(problems.points) from users, problems, successes WHERE successes.solver_id = users.user_id AND problems.problem_id = successes.problem_id GROUP BY users.user_id ORDER BY SUM(problems.points) DESC

For people who have worked with PHP, MySQL, and querying databases, putting together this kind of thing can range in difficulty from a trivial activity for an afternoon to a week-long exercise in PHP debugging hell. For myself, it was just enough of a challenge for me that I found the process to be entertaining and engaging.

If you are not a PHP/MySQL person and don’t have any experience with writing “normalized” databases, you may be wondering whether or not it would be possible to find some way to avoid this whole “build an entire database-driven website just so students can solve a few puzzles.” These are just puzzles, of course, each with a simple answer that a student could submit on paper or whisper in your ear. You’re still almost certainly going to have to deliver computer-based problems by computer, however—a 6MB text file for students to search through, for example, is not something that you can hand out on paper—and without the database, there’s no practical way to create a live leaderboard indicating who is in the lead at any point. For a do-it-yourself CTF, I’d strongly recommend finding a way to make the website experience happen.

If you don’t decide to conduct your own Capture the Flag event, however, there are a number of publicly available competitions for high school-aged students that will work for your students. A quick search online will yield results for CTF events and their corresponding schedules.

I encourage all Computer Science teachers to give these activities a try, and consider making them a part of your curriculum.

Update your Creative Process

In early 2001, in press releases and ads, Apple encouraged its customers to Rip. Mix. Burn. their music on an iMac.

It was an audacious advertising campaign given that the recording industry was in the midst of grappling with the rampaging growth of digitally copied media via Napster, LimeWire, and others. The Mac would soon leverage its position as a media hub with the release of the iPod later that same year. The process of assembling a “mix tape” of songs for a friend would never be the same again… although that process has since disappeared completely. Because everybody just streams now.

This post isn’t about that, though.

If taking prerecorded media and putting it together into a custom mix was the “old creativity,” it didn’t take much in the way of actual… you know, creativity. Assembling and ordering someone else’s music is fine, but… it’s a stretch to call it creative.

Welcome to the new creative. “Rip. Mix. Burn.” has evolved.

Fork. Commit. Push.

That’s right, I’m talking about using GitHub to fork a project, make changes that you commit to your fork, and then push those changes back to the master. If you know about GitHub, this all makes perfect sense, and is absolutely reflective of a creative process happening.

And if you don’t know about GitHub? Well… you need to get on it!

More to come…

Differentiated Instruction, Part 2

DIFFERENTIATION, part 2

2017-03-11

by Richard White

I was recently asked by our IT director John Yen how I handle differentiated instruction in the classroom: what strategies do I employ to try to ensure that students of widely varying abilities and skill levels are all appropriately challenged in my courses?

It’s a question that public school teachers face all the time, and independent school teachers arguably somewhat less. Technology teachers at both types of institutions have the biggest challenge here, because:

  1. there isn’t (yet?) a standardized curriculum path that has been developed and accepted around computational thinking and computer science, and
  2. there is a large, and perhaps growing, “digital divide” between those students who have nearly unlimited access to technology and training (even informal training via YouTube videos and the internet) and those who don’t.

My reply to John’s question took a little while to narrow down to a response to his questions, but here are my remarks, lightly edited for clarity.

=====Beginning of Email=====

  • That’s one of the million-dollar questions right now: How do I bring students with widely-varying experience into the curriculum?
  • The 2-million dollar question is: What CS curriculum do we want to offer/require? This varies depending on the school population, the goal of the curriculum (CS for managers? Coding for vocation?), the instructors available, the budgeting, salaries…
  • The 3-million dollar question is: Who is going to teach this curriculum? At this point, that is going to have an overwhelming influence on the other questions. CS people don’t do much with game design, and Game Designers don’t know a lot about Linux, and software engineers may or may not know about networking or control systems…

In Computer Science courses, I’ve found that I often have to provide up to five different kinds of differentiation, given at different times according to the idealized schedule given here.

Steps in Assigning/Conducting a Computer Science activity or project

  1. I prepare the assignment, preferably on paper or online so I can check that the idea and the process are fully articulated. NOTE: When looking through some online references a few years ago I stumbled upon an assignment format used by professors at Michigan State University, and I’ve adopted it for many of my CS courses. An example is attached here.
  2. During the preparation of the assignment, I try to prepare 1-3 Extension activities that are more complex or require application of the project to a new context. This is the first differentiation that I’ll use with some of my more advanced students who would otherwise complete the assignment too quickly. On the assignment I also often include a section called “Questions for you to consider (not hand in)” which ask the students to think about other aspects of the subject that may not be directly related to the assignment. These can be a nice jumping-off point for a conversation with more advanced students.
  3. Also for the assignment, I prepare a few “Notes on Getting Started” that are included with the instructions. These notes include suggested work strategies and/or questions that might help clarify the direction their problem-solving process should take. This is the second differentiation.
  4. Deliver the assignment (paper or online) in class, with whatever introductory remarks are appropriate. Students begin working.
  5. After students have been working on the assignment for some length of time, I’ll usually check in with them to see how things are proceeding so far. If there’s a stumbling block in the assignment that I’m aware of, I may bring it up at that time, and ask them what they think about it. I’ll usually write some amount of code on the board here, developing ideas with those students who have become stuck. This is the third differentiation strategy. ( Example: This video (narrated) of me working with students in class: https://www.youtube.com/watch?v=ZJ3z51n1Ndo )

    If I notice that a number of students are having difficulties with a concept or problem, I may prepare a small video for them going over the issue in more detail. I’ll post the video and send the link to them so they can take another crack at it. This is the fourth differentiation strategy. ( Example: This video, covering the topic of website permissions for some students’ websites: https://www.youtube.com/watch?v=sEES_N3ZQHk )

  6. Ultimately some students will need more individualized attention, sometimes down to the point of sitting down with them individually and picking through their code line by line. This is the most challenging and time-intensive differentiation strategy, and not something that I’m able to do with every student every time. Fortunately, if I’m doing my job well, I don’t need to do it very often.

=====End of Email=====

What strategies do you have for providing differentiated instruction for your students? What evidence do you have that those strategies are successful (or not?)

Is the Digital Divide something that needs to be addressed by CS teachers? If so, what steps do you take towards ameliorating that problem?

Networking, and Staying Social

Networking, and Staying Social

by Richard White

2016-03-01

I’m fortunate to work at a school where the faculty are very collegial. Even where there is occasional departmental or teacher-teacher friction, we tend, by and large, to get along. You might chalk it up to our “Welcome Back” and end-of-year dinner parties… or maybe it’s the post-faculty meeting margaritas that they serve us occasionally. Whatever the reason, I see a lot of personal and professional cross-pollination going on.

This kind of networking requires both time and an individual willingness to be open: to people, experiences, and possibilities. I often find myself locked up with lessons to create, labs and projects I want to design, and always, always, a pile of papers to grade. Finding the space for interactions with others necessarily means setting some of my work aside, at least for a little while.

This past August, for example, I should have been deep into prepping for the coming school year, but two of my English department colleagues had put together a weekend workshop on Transformative Teaching and Learning, to be offered at an open workspace in downtown Los Angeles. It was a great weekend with a diverse group of teachers, and if none of what we did was completely germane to my own subject area, I had the opportunity to reflect on other aspects of my teaching.

Oh, and did I mention the fact that I got to network with some of my colleagues in a stress-free environment? :)

One of my favorite things about networking—in addition to the inherent pleasure of socializing—is the fact that unexpected opportunities often arise as a result. A few months into the school year, one of the English teachers with whom I’d connected at the summer workshop approached me. “Hey, I’ve been asked by the school to write an article about language, and I wanted to talk to you about that.”

Insert confused looks here from the Physics/Computer Science teacher.

Language?” he said. “As in computer languages?” You’re a Computer Science guy, and I want to talk about language from a very global perspective!”

Huh. I’d never thought of that.

Next thing you know, I’m minding his infant daughter at a nearby pub while he grabs a couple of beers for us, and before long we’ve launched into a conversation on the role of language in various contexts.

And a month or two later, I found myself mentioned in his feature article in the school’s semi-annual publication:

Lighting up about language: Authoring across the curriculum

by Nathan Stogdill, in the Oak Tree Times, Fall-Winter, 2015

… Richard White sees a similar form of authorship in his AP Computer Science classes, where students create their own programs through syntax and conventions of coding languages. Like seventh-graders writing haiku or ninth grade math students telling the story of their solutions, his students have an outcome in mind and must work within the constraints of a specific language or instruction set to achieve that outcome. But there is creativity within those constraints, and the outcome is not assumed. Sometimes when the program is run, it does the unexpected. These surprises are exciting moments for White and his students: Like authors discovering new meanings through the process of writing, they find that they have created new things that they never intended, and they are able to learn from them.

Nathan makes me sound a lot smarter than I am, but I never turn down free publicity…!

Teachers tend to get pretty busy, and it’s easy to find one’s self spending a lot of time alone, frantically trying to keep up with our obligations. We take our jobs seriously, and we have high expectations, of our students and ourselves.

I believe that taking a little time off, however, benefits us in important and unexpected ways. Take a moment today or tomorrow to put your grading down, get out of your classroom or office, and stop in for a chat with someone. Go visit someone’s classroom for a few minutes. Check in with one of your admins.

You never know what might happen as a result!

140 Characters Is Not Enough

140 Characters Is Not Enough

2016-02-28

by Richard White

I’ll confess right here, I’ve only really ever been a lurker on Twitter. I’ve got a couple of accounts there, and I follow a few people, and appreciate the spontaneous ebb-and-flow of some conversations, memes, tropes, movements, and revolutions.

I’ve also watched in horror as a hashtag “blows up” while the Internet—bored, and starving for something, anything to frenzy-feed on—zeroes in on a statement taken out of context, an offhand comment that unknowingly became co-opted as a sound-bite for someone else’s rant or cause célèbre.

I love the Internet and its nearly perfect ability to act as a vehicle for a truly democratic and representative communication tool… and Twitter has come to embody the very best and worst of that communication.

At least part of the problem has to do with the simple fact that 140 characters, the limit on the length of a Tweet, is just enough to present a statement, and not nearly enough to provide context, support, or any significant development of that idea.

Taking things out of context isn’t a problem unique to Twitter, of course, but the 140-character limit of the medium practically demands it.

A quick, easy example: It’s not uncommon to hear a teacher at my school say of their students, “I love my students.” I have said, in chiding my students for a momentary lack of attention, said something along the lines of, “I love you guys, and I want good things for you. Let’s get back to work, shall we?” Is it a surprise to hear that teachers love their students? Of course not. Is that something that could be taken out of context on Twitter?

Ummmmm, yeah. Of course it can.

Another example of risk, as quoted by Audrey Watters in her op-ed piece Is Twitter the Best Online Source of Professional Development?:

Steven Salaita, for example, had his tenure-track position at the University of Illinois Urbana Champaign rescinded after the university disproved of his tweets in support of Palestinians.

As Bonnie Stewart argues, “The threat of being summarily acted upon by the academy as a consequence of tweets – always present, frankly, particularly for untenured and more vulnerable members of the academic community – now hangs visibly over all heads…even while the medium is still scorned as scholarship by many.” While there are efforts to encourage educators and students to participate in the public sphere, via tools like Twitter, it’s clear that there are also risks in doing so, particularly if what’s being said fails to conform to certain “community standards” or certain notions of “civility.”

I have actually used Twitter on occasion, including several sessions acting as a “Twitter correspondent,” and have had a couple of my tweets removed by the person who was responsible for making sure those messages were in keeping with the guidelines of the organization. It was an interesting experience, to see my work edited in such a fashion, and it was a great reminder (if one was needed) that others read tweets and interpret them as they will. (For the record, I didn’t find anything offensive in those tweets, but it wasn’t my account I was tweeting under, so I accept the edits.)

But my takeaway from that experience and the experiences of others (see How One Stupid Tweet Ruined Justine Sacco’s Life, and Too Many People Have Peed in the Pool for two examples), is simply to not use Twitter. I have a number of other communications tools that I am free to use with friends, family, and co-workers, and I have no need to recruit followers, nor to deliver pithy, entertaining, or even useful comments to the universe.

Some educators may find that tweeting is a rewarding experience, and I absolutely do enjoy reading the tweets of some of my colleagues. For myself, however, I find the personal / professional risk of tweeting to be unacceptably high.

One last warning, courtesy of Catherine Garcia, published on August 25, 2015 at TheWeek.com:

Former MLB pitcher and current ESPN baseball analyst Curt Schilling was reprimanded by the network after posting a questionable meme on Twitter.

On Tuesday morning, he tweeted a meme featuring an image of Adolf Hitler with the words: “It’s said only 5-10% of Muslims are extremists. In 1940, only 7% of Germans were Nazis. How’d that go?” Schilling added his own commentary, the Los Angeles Times reports, writing, “The math is staggering when you get to the true #s.” He deleted the tweet 10 minutes later.

Not long after, ESPN announced he would no longer be covering the Little League World Series. “Curt’s tweet was completely unacceptable, and in no way represents our company’s perspective,” the network said. “We made that point very strongly to Curt and have removed him from his current Little League assignment pending further consideration.” Schilling returned to Twitter to take responsibility, writing, “I understand and accept my suspension. 100% my fault. Bad choices have bad consequences and this was a bad decision in every way on my part.” The lesson here is simple: Don’t use Twitter.

Do you use Twitter? Do you use it in your capacity as an educator? In which direction does the Risk/Reward balance tip for you?

Welcome Back (to me!)

Hi, everybody.

You’re forgiven for not hanging around to see how things have been going here. I’ve been gone for far too long, but I’ll plead “Real Life Happens” and let it go at that. I’ve been extraordinarily busy, and happily so, with a long list of things that I’ll be sharing with you over the course of the next couple of months.

This includes:

  • Teaching an overload the first semester of the school year, during which half of my classes were Physics and half were Computer Science;
  • The development of a new Computer Science curriculum for my school, Advanced Topics in Computer Science.
  • The slow-but-steady consideration of what direction Technology and Computer Science programs will take over the course of the coming years (as far as I can tell, anyway).
  • A reconsideration of the primary topics of interest for this website/blog.
  • A consideration of the “Own Your Own Domain” movement.
  • A consideration of Content Management Systems / Static Site Generation
  • A discussion concerning Edward Snowden
  • Rumination on Twitter and email as communication media
  • A report from the field regarding a student field trip to a Linux conference in southern California.
  • And other topics too numerous to mention.

We’ve got lots to do, eh?

Let’s get started! :)

How to Flip Your Classroom

HOW TO FLIP YOUR CLASSROOM

2012-06-30

by Richard White

Flipping a classroom consists of off-loading (usually to the Internet) some of the non-interactive aspects of one’s classroom, in favor of using time in-class for activities that take advantage of the teacher’s immediate presence.

Perhaps the most obvious example might be this:

At school At home
Standard classroom Student listens to teacher introduce new math topic Student goes home and tries to do homework, often unsuccessfully and without the opportunity to get questions answered in a timely manner.
At home At school
Flipped classroom Student watches brief video explanation of new topic online, or reads new material to be discussed in class the next day. Student works on “homework” problems, with teacher answering questions or providing clarifying follow-up as necessary.

Pretty straightforward, right? It’s a good idea, and there’s lots to recommend it. In fact, you may already be implementing some aspects of the flipped model, even if nobody has ever referred to it by that name before. Some teachers give students time in class to read a chapter in novel, and then discuss it in the remaining class time. Others choose to assign the reading as homework, leaving more time in class for re-reading passages, interpreting what the author has written, or general discussion.

If you’ve done something like this, congratulations—you’re officially part of the most recent trend in education, and you should feel free to strut around saying things like, “‘Inverted learning?’ Honey, I’ve been flipping my class for years…

If you haven’t tried this yet, or you’re just looking for a few ideas on how to get started trying this out, let’s take a look at the stops involved in doing such a thing. And then read below for some specific bits of advice regarding the process of converting to a flipped classroom.

Things to think about:

Start with a single day, or a single week, or a single unit.

You don’t need to reorganize your entire semester to begin trying out a flipped model. A day or two will give you a chance to see what the benefits and challenges are, and give you some good ideas on how to go about designing a flipped model on a larger scale.

Be patient with the students.

It may take them a little time to adjust to this at first. Under the traditional model, it’s easy for a teacher to ascertain whether a student has turned in a homework assignment, and easy for students to recognize something tangible like the piece of paper with their writing on it. A flipped instruction model is going to ask them do something rather than make something—watch a video, read this section, interview their parents about something—and this is a little different from what they ordinarily do for homework.

What can you flip in your class?

We all teach different subjects, in different ways, so it’s a uniquely personal challenge, figuring out what you can try flipping in your own class.

Here are some ideas to get you started, following the same format listed above.

The French Revolution

At school At home
Standard classroom Teacher lectures on the the origins of the French Revolution Student goes home and does a worksheet or write answers to problems from a textbook.
At home At school
Flipped classroom Student at home watches a Khan Academy introduction to the French Revolution, and is asked to take notes on that presentation. Student comes in to class with notes prepared for a discussion. Students are asked to take additional notes as the discussion proceeds, and teacher collects notes at the end of class for evaluation.

Adding Fractions

At school At home
Standard classroom Teacher presents the idea of adding fractions with different denominators, and does an example. Student goes home and does homework problems from his or her textbook.
At home At school
Flipped classroom Student at home watches a YouTube video on adding fractions, and is asked to do attempt two different practice problems at home. Student comes in to class with practice problems completed (or not), and instructor gives an additional 15 problems of varying degrees of difficulty to reinforce the skill.

You get the idea.

Think about assessment.

When students walk into class the next morning, how are you going to know whether or not the students have done their flipped-style homework from the night before? A warm-up activity? A quiz? A discussion in which each student is monitored for participation? My own students tend to try to get away with doing less rather than more, so you’ll need to identify a means for checking that they’re doing their new homework.

Allow for varying access to technology.

If students don’t have some sort of comparable access to technology, you’ll need to develop strategies for managing those differences. If a video lesson is being watched online, a teacher might send home a DVD that the student can watch at home. At-school access to the video, in the library perhaps, can be arranged for during other times of the school day. These factors can complicate your efforts to flip the classroom, but it’s important that all students be accommodated in one way or another.

Create your own resources.

Ultimately, there will come a point at which you’ll find that what you need your students to see doesn’t yet exist, or maybe you’ll be inspired to develop something unique and personalized for them. Creating and uploading videos to YouTube is a relatively easy thing to do with the webcam that’s probably already included in your laptop computer. If you want a higher production value, or you want to capture your computer screen while showing a PowerPoint presentation, you’ll almost certainly have to buy some software that will allow you to experiment with that process. TechSmith’s Camtasia for both PC and Mac, and Telestream’s Screenflow for the Mac, are currently popular and powerful screen capture utilities. If you run Linux, you can do a $ sudo apt-get install xvidcap to install XVidCap, a live screen capture utility that’s very good, but lacks some of the high-end editing capabilities built into Camtasia and Screenflow.

Make your materials available on a website.

Google’s YouTube is a powerful means of delivering videos, but it can be a distracting place to send a student for flipped homework assignments. At some point you’ll almost certainly want to create a webpage or website that will give students a one-stop shop for finding materials used in your course. Your school may offer the means of putting up a course webpage, but if not, you can certainly create your own. The quickest, easiest, and certainly cheapest way to do this is to use Google’s Sites feature, available with any Google account. Once you’ve got your page set up, you can use it to easily deliver flipped assignments to your students.

When you look at all of that up there, it seems like it’s a lot of work, but you certainly don’t have to jump into this all at once. Begin at the beginning, and move forward as your time and teaching assignment allow.

For more resources on Flipped Classrooms, see: