How computing helps during a crisis

While many of us lost power, leaving us without access to tv or Internet, there are so many ways that computing helped us weather this disaster. First, there’s the mass amount of computing power that went into predicting the path of the storm. Because our computing power is better than it was, the path can be predicted more accurately and earlier. This allows states and municipalities to prepare sooner, to tell people to evacuate, to set up shelters. Individuals have time to get supplies and prepare. That saves lives.

Once the storm is underway, communication is key. Thanks to computing, there are multiple avenues for communication. Cell phones, email, twitter, all keep people in touch with each other. I was on twitter most of the night, following local tweeters from the media and fire departments, letting us know where roads were dangerous, where power was out, and what places were open for dinner.

Computing may help us find a way to keep these things from happening again. Learning what patterns, environmental or other kinds, contributed to the storm, may help us reverse the larger damage that we’ve done and help us rebuild in ways that allow the planet to function better. Or it can help us think about putting electrical wires underground or other things that may keep damage to a minimum.

Not that humans don’t have a hand in solving these problems, but using models and data produced by computing can help humans make good decisions.

Things I’ve learned

In the last week or so, I’ve been working on a couple of projects where I didn’t know everything going in. I created a little mock election program in Python, which was easy enough. But I wanted to put it on the web, something I’ve never done before. I’ve done a lot of things on the web, which is how I started in this computing gig to begin with. But connecting the two was a challenge. I had to marry two paradigms. I’ll admit that I got frustrated more than once. I swear I could feel my brain getting hotter as I struggled. Maybe I created some more brain cells.

After I got everything to be functional, I made it pretty. I had more fun than is probably legal playing with CSS and HTML, which I haven’t done in a serious way for a long time. I learned a couple of new CSS tricks, which was fun. I forgot how much fun it is to see the results of your work so immediately. Change a color. Boom! Done! Change the background image. Boom! Instant gratification. So much fun.

I’m also teaching objects in my CS II class, something I haven’t done much of. I’m spending some quality time with objects, which is more fun than it should be. I have a nice little virtual pet program going that is giving me way too much joy.

I wish I had more time to do these kinds of things, but, of course, that’s why I teach and change what I do frequently. I can’t imagine doing the same thing over and over.

Programming for girls

The number of programs geared just for women or girls seems to be increasing rapidly. Almost every day, it seems, I read about a camp or a class just for the female gender. I have nothing against these programs. I teach in an all girls’ school. I think there’s value in single sex education. But I wonder if they are working. Will we see a huge influx of women in tech or programming jobs in 10 years? I’m honestly not sure.

I’m sort of inclined to think that these programs are separated from education in a way that may not be useful in the long term. There’s no continuity in these programs. They’re often one off attempts to teach technology x. After that, the student is on her own to figure out what to do next. Maybe it will inspire them to take a college course or advocate for CS to be taught in their high school or to enroll in the one class that exists but is always all boys. If so, that’s a good thing. I don’t know how some of these programs are measuring success, and if anyone is studying them in a sustained way.

I can’t help but think, also, that these programs may take away some of the incentive for schools to offer courses themselves or to recruit more girls to existing programs. I just feel a lack of connection between these programs and what I and many CS teachers are trying to do.


While traveling, I started participating in a MOOC n computer science. Everyone and their brother has been touting these as the game changer in higher education. Please stop. I honestly can’t imagine anyone getting a complete degree this way and doing well. While there are likely some people and subjects that are well suited to this format, I find it a frustrating way to learn something new. Yes, the videos are short, which is indeed a good thing,and it’s cool that there are questions you can actually answer. But there’s only one right answer and no one to ask why your answer isn’t right. Sometimes in the explanation, there’s a brief mention of other ways to solve the problem, but no explanation of what those solutions might be, and worse, why the actual answer is better than those other solutions.

After a while of trying to sort out answers for myself and getting them “wrong”, I gave up and just clicked on the answer. This can’t be a good way to learn. It’s also true that I’m under conditions not necessarily conducive to learning, but I suspect many people who choose to enroll in classes online are in similar kinds of situations. Full-time jobs, kids, no money to pay for other classes, low motivation, etc. I just don’t find the material compelling enough to dispel all those distractions.

I’m going to continue, though, and I may change my mind. But so far, it’s not living up to the hype.

Please send housecleaning robots, k thx bai

I hate housework. But I like a (mostly) clean house. Also housework takes away from more important and fun activities like programming and hanging with your family or friends. For most of my unpleasant tasks, I try to find technology that will help or motivate me. I have electronic to do lists and exercise trackers. I’m writing two programs, one as a friendly weight loss competition between me and my husband and one to store recipes and on hand ingredients to make cooking easier.

But for the most basic chores, technology has still not come up with better solutions. Washing dishes is about as good as it’s going to get, unless they come up with a way to put the dishes away automatically. There are robotic vacuums and mops. I have a vacuum, which works reasonably well for a quick clean, but for deeper cleaning, I have to use old school methods. And laundry is still a major chore. Why wash and dry in separate bins? Where’s my laundry folding robot? I know. It’s a really hard problem and expensive to solve. I could use something to poke the rest of my family, too. I’d love to send a robot into the kids rooms, wake them up, and assign them some chores, prodding them until they’re completed. Could be done with enough effort, I’m sure. Maybe one to poke Mr. Geeky, too, at least until the other robots are invented.

An organizing robot would be nice, too. Couldn’t there be a special sorting algorithm to determine the ideal placement for everything in your house? That would be awesome. If anyone wants to invent these things, go right ahead. I won’t even ask for a cut, as long as I am saved from housework.


I’ve made some significant progress on the goals I set for myself.  I’ve outlined the CS II class through about winter break.  I’ve got the first 3-4 weeks almost completely fleshed out, complete with lab directions and video explanations of key concepts.  I submitted my Google Academy application, so now it’s just a waiting game. My video is here, if you’re interested.  I’m almost done with rearranging/organizing my front room–will finish that up this morning.  And, of course, I actually did tweak the blog.

I still have the most work to do on the CS II class as I’m having to learn some of the very concepts I’m teaching. I’m doing pretty well on that front, but I think I’m going to dip my toe into a Udacity class I signed up for to solidify what I know.  I just need the practice.

I’ll be adding to that list soon–I’ve already thought of a few other things I need to get done before the school year begins.  Yikes!

Production and consumption and more about the iPad

As I’m easing back into the real swing of things, I’ve been thinking more about technology, teaching, etc. A while back, I wrote about some of the limitations of the iPad. Those still stand and then some. I’m writing this on the iPad right now. It’s still more cumbersome than doing it on my laptop. I took the iPad to India with me in order to maintain a blog. To do so, I needed an attachment in order to upload photos from my camera. Yes, you can take photos with the iPad but no one is going to carry an iPad around while touring, and even under the best circumstances, it’s awkward to take photos with it. To upload my photos to Flickr, I had to download another app. It took me a while to find the right one (Flickr stacker, ftw), and I paid for it. With a laptop, I wouldn’t need an extra attachment or an extra app. I already pay for Flickr pro, so it’s not necessary to pay for anything else. Adding pictures to my posts was somewhat painful, and to align them, I had to edit HTML, on the iPad. Ouch. On my laptop, I get the alignment options as I upload or I can change them through a GUI interface. And forget adding or removing widgets on the blog via an iPad. No drag and drop.

Producing anything on the iPad is a challenge. I have yet to use an app that makes creating anything, even just a document, as simple as it is on a computer. Feel free to correct me.

Consuming on the iPad is cake, and I actually prefer it to my laptop, though I know I could add an extension or two and probably be just as happy with consuming on it. I read twitter, google reader, google plus, and various news sources all on the iPad, all in one place. I also read books through different ebook apps. While they’re not perfect (I wish I could share more easily with multiple steams, for example), they work well enough.

Many, many schools are adopting iPads, including my own. There are some cool things one can do on the iPad, and I’m sure more cool things will be developed, but I don’t want us to fall into the trap of thinking that they will solve all of our problems or that they’re “better” than other computing devices. I’ve seen calls of late on the blogs to use the “maker” mentality in education, even the “hacker” mentality. Well, then don’t use an iPad. There’s nothing there to hack. There’s nothing to make on it in the same way one can with some components and a computer. I think we’re contradicting ourselves by saying we want to create producers not consumers and then we hand them an iPad. You can, indeed, produce on the iPad, but you’re going to hit a limit pretty quickly. Personally, I don’t want to put limits on what I can teach kids to create.

Women in Tech, Best Buy, and Media Messages

Last night I tweeted about the following Best Buy ad, which first aired during the Super Bowl:

Watched it? Okay, good.  The ad features a series of inventors, mostly of things related to smart phones, and they’re all men.  I tweeted the following:





Mostly people retweeted without comment, but at least two people said, they’re just aiming at their target market: men.  Okay.  I get that.  I also get that it is actually hard to find a slew of women directly responsible for something smart-phone related that everyone’s heard of.  Though there is a list of some things here. But here’s the thing, the commercial is a) airing during a show I am watching, so clearly men can’t be their only target audience; and b) a commercial isn’t just a commercial.  So, about a).  I have written about a couple of hilariously bad experiences at Best Buy before.  I go into Best Buy all the time and usually walk out empty handed.  The only thing I’ll say is their stores = their commercial, all guys all the time.  Demographics are working against them.  More than 50% of the population are women and many of them make more money than their spouses and/or have no spouses.  And they like their technology.  Just sayin’.  It would be good business sense to at least try to appeal to women.

About b).  Here’s where my having my Ph.D. in Rhetoric and Composition pays off, though I think a good couple of classes would be equally useful.  Lesson one in Rhetoric is that everything sends a message.  That Best Buy commercial isn’t just trying to sell me a smart phone.  It’s also telling me that men do the inventing, men like tech, and men buy tech.  Women, shown at the end, sell the tech.  Honestly, it’s one step above booth babes. Is it sexist? Not blatantly, no.  And Best Buy certainly has no obligation to attract women into the tech industry.  But they’re certainly not helping.  And by not helping, they may also be hurting their own bottom line.

First Year HS Computer Science: A Reflection

I haven’t completed the grading and comments yet, but my year is essentially done.  And I’ve been thinking about what worked and what didn’t.  Mostly things worked.  There are things I would tweak.   Here’s my basic syllabus.  I start by covering the basics.  For each concept I teach, I do a lab. So, we learn loops, they write a program with loops.  I don’t actually say, “Write a program with loops.” I say, “Draw a square.”  To do it efficiently, they need to use a loop.  I kind of lumped some concepts together, which I think didn’t work so well.  I talked about functions and inputs and outputs, but I didn’t do a whole lot with it.  I should have either a) explained it more or b) done a lab just for functions.

After we get past the main concepts, which is basically functions, variables, loops, and boolean logic, we do projects.  The rest of the class is project based, and we keep using the same concepts in different contexts.  We do a mid-sized project involving Scribbler robots for CS Ed Week, which conveniently falls just before the end of the semester.  I do give an exam after that.  I then do a graphics project, sound project, and a game project.  I also did a text-based game project just before our exam, so that we could learn some more about strings.  That was also a platform to learn some data structures like lists and dictionaries.  And then, they do a final project of their choosing.

The game project was a huge success, and we spent more time on that than I originally intended.  But I would definitely keep it, perhaps even making *that* the final project.  What I would change about the second semester is just a few things.  I would keep the string/game project, but come up with a lab to demonstrate some things before launching into the project.  That was something they spent more time on than intended, but I think it was time well spent.  We actually do two graphics projects, one involving photos, and one involving graphics that they create.  They sort of get mushed a bit, so I need to separate those a bit more.  For example the first graphics project, they can choose to work with photos or drawn graphics (computer created).  Most chose photos because we hadn’t done much with drawn graphics.  So I think I need to separate the two.

The sound project ends up being a little short.  What I actually want to do is bring is the music teacher and have her talk a little about music theory.  And then maybe a math or physics teacher (I did this myself this year) to talk about the math/science behind music.  The programming of the sound stuff isn’t that challenging, so I’m thinking that I could have them do a little more critical thinking about how what they’re doing really works.

As I said before, the game project was a big success, and many chose to do games as their final projects.  Most did not include much in the way of sound, and not all had graphics.  So I think I will require those next time.  I also think I will add in another test to solidify the main concepts again, especially the work with data structures and strings, things they all used in their projects but had to be reminded of how to use rather frequently.

I may also try some Khan Academy style videos to reinforce concepts as we go over them.  I had all my students do their work in class, with no work at home.  I like this, especially for the kids who don’t have laptops, but I think they relied on me a little too much–and I was happy to help, but I’d like to see a little more autonomy.  I think that contributed to fuzziness on some of the harder concepts.  And more group work.  I did one group project.  I think I could manage more and/or find a way for students to work together more.

Five of my seven students are moving on to the next level, so that’s a great thing.  I’m also gaining two students who took CS on their own.  So I’m at seven.  I think, though, that I’m only going to have 2 in CS 1 next year.  No idea if that’ll run.  I need to do better recruiting or something.  I do have plans for some new courses aimed at juniors and seniors, with and without CS experience, so maybe once I have a full suite of courses to offer, I’ll see more students.  I’m looking forward to next year, having a better sense of what I’m doing in my teaching.  I’m pleased that things worked out as well as they did.