Reboot . . .

Almost a month since my last post–whoa!  Over the last few days, I considered closing up shop.  I barely have time to read blogs anymore much less write in one.  But, like Janet, I do find writing here when I can useful.  I have a ton of things to reflect on and talk about.  Here are just some bullets of stuff going on in my life right now:

  • Running two robotics clubs, one of which meets every day after school–lots to say about what I do/don’t like about these two very different clubs
  • Rethinking one of my courses, which is requiring new prep
  • Promoting computer science, which is well-supported by the administrators and my colleagues here, though not always understood.  I’m still fighting the perception that CS = learning Word and Excel or that CS is unneccessary because either a) these kids all know how to use their computers and so don’t need CS or b) all the jobs in CS are being outsourced.  a) drives me more crazy than b).
  • Struggling to find time to learn new skills.
  • Getting frustrated by the CS education blogs I’ve been reading that make some odd assumptions about how K-12 works.
  • Loving, loving my job.  My colleagues are just awesome.  The students are great, and despite working really, really hard–and a lot!–I love coming to work every day.  I’m still getting used to the fact that people support my work and me.  I’m used to something very different.  I’m loving feeling like I’m in the right place.

Print (“Hello World!”)

A graph of enrollment of Computer Science by g...
Image via Wikipedia

I spend a lot of time these days doing two things–learning to program and thinking about the best way to teach computer science.  In case you didn’t know, not only is there a decline in the number of women in computer science, which interests me greatly, but there’s a general decline in people of any gender interested in computer science.  The reasons for the decline are complex.  Some of it is undoubtedly, the dot com bust of the late 90s when there was a kind of glut of CS majors and/or CS enthusiasts.  That left a lot of unemployed programmers around.  That, in turn, lead to a cooling of interest at the college level and CS at the high school level has either evolved into teaching applications or disappeared entirely.

At the high school level, I feel like there are a number of issues that keep CS from becoming a more popular subject.  One, there aren’t a lot of qualified teachers around.  In this, I feel like part of the problem rather than part of the solution, but more on that later.  There aren’t a lot of CS majors who choose to go teach CS at the high school level.  I know several students who thought about it, but then a lucrative opportunity presents itself and they leap at the chance.  And I don’t blame them.  Two, CS has to compete with a lot of other things: math, science, biology, English, art, music, etc.  To get CS into a curriculum, something has to give, either for an individual student or for a school as a whole.  Those are hard decisions to make.

I just spent the day participating in a conference for K-12 CS teachers.  Mostly, it was meant to inspire us and help us get more girls interested in CS.  Since I teach all girls, it’s not about the proportion of girls in CS, but numbers.  I got a lot of good ideas for helping sell the idea of taking a CS course to young women.

And then when I got home, I finally got around to reading this article about the importance of CS to a non-CS person.  Carey makes a good point about getting kids to understand the logic behind programming, to understand how things work.  That’s something I’m really focused on teaching at the middle school level.  I find students don’t know very basic ideas about computers and networks.  And in this way, I think, I’m not entirely so far off because I’m not a “programmer.”  In many ways, I have always been influence by CS even when I wasn’t doing what most people would call programming.  I’ve understood the inner workings of a computer since I was in junior high.  By college, I really knew how they worked, tried out another CS course, wasn’t interested and moved on to writing poetry.  But, as I was telling a young woman today, back in the good old days, you had to have some knowledge about the inner workings of computers and networks just to log onto a computer.  There was no double-clicking an icon to connect to something or as it is now, just being always on the network.  I had to know not just a login name and password but a network address for where I was logging into.  So long before I saw my first URL, I understood the blah.blah.blah structure.  Sending e-mail required similar knowledge.  I worked on a variety of machines even then.  I readily switched from a Mac to a PC to a Linux machine to a SPARC to a NEXT (remember those?).  And while having that capability does not make me a computer scientist by any means, it gives me an understanding of computers that many students today lack. And I think it’s worth having that skill today.

A stat I heard today that surprised me and that had I heard it back when I was in high school might have sent me in a different direction was that only about 5% of the population is equally skilled in math/science and verbal ability.  And that those skills are especially useful in digital media work.  Being able to translate between the computer geeks and the business people and vice versa is huge.  I do that.  I’m doing that now.  It’s what teaching is, really.  Had I known how valuable that was to a technical career early on, I might be in a different place.  I might not be coding in my off hours to keep ahead of my students.  But I really wouldn’t have it any other way.  I love my job, and part of what I love about it is that it’s about translating something complex (and sometimes intimidating) to people.  I need to remember to give those good messages to my students.  That’s what I missed when I was in high school.  I got put in a particular box, even when my actual skill set showed that there were other possible boxes for me.  Or better yet, a life outside the box, which, in a way, is where I am at the moment.

Enhanced by Zemanta

Reflecting on the first third

Next week I’ll have my last classes of the first trimester.  It’s been quite a ride so far.  I would say that it’s been mostly successful; however, there are things I definitely want to change for the new trimester.

6th grade web design.  In this class, I had stepped through the process of creating the content from word processor to using Weebly for creating simple web sites.  We added everything to the word processing document and then moved it to the web.  Two snags really created problems for us.  One was that creating the charts and graphs proved more difficult than I thought.  Not only was making the chart/graph difficult, but converting it to a picture was hard, too.  In some cases, we actually took screenshots.  We made it through that part, though, and I want to keep it, just with some modifications.  The second big snag was the wiki.  I then wanted to put everything on a wiki, allowing everyone to edit each other’s work.  First, the kids got confused when their pictures didn’t copy over.  The pictures had to be reinserted, which caused everyone great consternation.  Second, no one really got around to editing each other’s work, so the whole point of the wiki was lost.  And then, when we moved to Weebly, we had to go through the whole process again, and so more consternation.   On the plus side, they love, love working with their websites.

Things I’m going to change:

  • Starting with the web, not word processing.  We’re actually going to start with html and css, so they know what’s behind their web sites.  I’m also going to review some basic concepts like url’s, searching, local vs. remote storage, etc.
  • No wikis, but I will do a website review (which I’m doing today in class) using a Google form.
  • More work with images.  I thought we’d get to more of this, but we didn’t, so I’m going to add in creating a header for their page and some other basic image editing techniques.

7th grade digital storytelling.  This class had both conceptual and technical issues.  While digitial storytelling is a great idea, I needed to put more parameters on what they used for their stories.  I have a lot of Glee remakes.  The technical issues are what really put a damper on this class. I decided to use Windows Live Movie Maker because I had easy access to it.  The tool was easy to use and I didn’t have to do a whole lot of instruction on it, but it doesn’t work if your footage is stored on a network drive, which is where the students needed to store their footage.  We ended up copying it over to the hard drive and working from there and then exporting the movie at the end of each day, but many students lost work or lost video because they weren’t careful about where they were saving things.  I have students who have no project as a result. 

Changes I’m making:

  • Having them draw on their English curriculum for stories.  I’m also giving them one or two other options.  They need a framework.
  • Using Jaycut for our video editing tool.  It’s online.  Students can access their work from anywhere, and hopefully, they won’t lose their work this way.
  • Not having a video shoot day.  I had handed out flip video cameras for the students to use and gave them a day to shoot video.  A) They didn’t shoot good video or enough video leading to b) another video shoot day, which result in a) again.  The cameras are available for check out from the library.  If they want to shoot video, they are responsible for doing it outside of class.

In 8th grade Scratch programming, I’m just rearranging the order of some things to take advantage of a game design contest for middle schoolers.  Otherwise the class has gone really well.

In all my classes, I need to have more discrete assignments that can be assessed at the end of every class.  8th grade has more of that than the other two.  I need to have a “By the end of class, you need to complete . . .” objectives.  The classes are pass/fail, so I intentionally made them more project-based, but I need to have the steps more clearly defined for the kids.  They are for me, but I think the kids lose track pretty easily.

I’ve developed my CS curriculum and will present it later this month for official approval.  I’m also looking for grant money to get the program off the ground with the right equipment and facilities.  That keeps me pretty busy outside of my classes.  And I’m also running two robotics clubs, which also keeps me busy.

I’m generally happy with what the students are getting in their technology/CS classes. I wish I had more time with them, but I try to pack in a lot in the time I do have.  I hope that will pay off for them in the long run.  I’m also doing a fair amount of work with teachers getting them to incorporate a variety of technology into their classes.  I feel like a student here will have a pretty good foundation in a variety of applications and computing concepts by the time they’ve completed 9th or 10th grade. I hope to keep building on that.

Challenges, Opportunities, and Teaching Computer Science

A selection of programming language textbooks ...
Image via Wikipedia

I really like my job so far.  Even after the longest week ever.  This week was our first full week, really, and this week, we also had Academic Evening for all levels, where we met the parents of our kids.  I had to be present for two of the three evenings.  Mr. Geeky and I both attended the Middle School evening, he as a parent, I as both.  We were both there until almost 10.  And then, I went to the Upper School evening, and was able to duck out at 9 after my class met.  It was really nice meeting the parents.  Not only did I get to meet the parents of the kids I teach, but on the Middle School night, since the schedule they were following did not include my classes, I got to hang out with the refreshments and meet a random assortment of parents, all of whom were very interested in what I was doing.  They seem not just supportive of their students learning more about technology and computing, but many expressed a real urgency that their kids have more than a passing knowledge of Facebook.  They really believe that to succeed in this world, they are going to need technology skills.   And that is very cool.

Roughly half of my time is spent dealing with my current teaching responsibilities, either in class or planning for class.  I’m taking it one day at a time.  Even though I have laid out a plan for each class for the duration of the time that it meets, the daily plan I’m creating only one day ahead.  So far, I’m finding this works best for me.  The ideas are fresh in my mind, so I can move forward efficiently, and the kids can get the most out of their time in class.  In middle school, I only have 40 minutes for each class, and my plans are quite ambitious.  I have to be very certain of where I’m going.  It’s too easy for the kids to get sidetracked.

The other half of my time, I’m doing two things.  One, I’m working with teachers on using technology.  So far, I’ve helped a handful of teachers, and I’ve talked to many more about ideas and issues.  I am making a plan for increasing my involvement and presence for them.  The other half of my time, I’m doing mid- and long-term planning on two fronts.  One is in the faculty support area.  The other is in developing a Computer Science curriculum.  I have a partner in developing my faculty support plan, which is fabulous, and we hope that we will be able to create a committee of people who will participate in planning for the integration of technology into the curriculum.  As far as we’re concerned, the more voices we have participating, the better.  We need everyone’s ideas, not just one or two people’s.  We’re also hoping to involve the students, which will serve the dual purpose of giving the students the opportunity to learn more, and providing more support for faculty and other students.

The computer science curriculum development is a project all my own.  But it is, in some ways a continuum from the more applications-based technology curriculum I use with my middle schoolers.  In fact, there are certain things students need to grasp in the earlier classes that will help them should they choose to take a computer science course: parts of computer, the concepts of input and output, how the Internet works, the difference between local and remote storage, etc.  So I’ve been poring over the CSTA curriculum recommendations and our own curriculum and seeing if there are any gaps.  So far, we’re doing awesome.  Almost all the basics, including the things I just mentioned, get taught by 5th grade.  And I’m teaching programming concepts and problem solving using computers in 8th grade.  By 9th grade, they should be ready to explore these issues in depth.  Right now, I’m focused on creating an introduction to computing class, and figuring out what to do with our existing computer graphics/computer animation class.

Thinking about those two things raises the main tension that exists for me, and for a lot of people in my position.  Right now, the computer graphics class is focused on teaching kids to use a particular application to create graphics.  That is a common approach at the high school level.  At the college level, a course titled “Computer Graphics” is more likely to be about how computers create graphics through programming.  I’m going to include a little of that this semester and some next semester.  But herein lies the tension.  Should computer/technology courses teach applications or programming?  And, of course, there’s often an assumption that goes with that, that if you are a “computer science” teacher who teaches applications at a lower level that you can teach “any” application.  It is common in many small schools like mine to have the computer science teacher also be a more general technology teacher and/or a technology support person for the faculty.  There aren’t enough CS courses in most schools to have a full time CS teacher, and so the remainder of the time is filled with other duties.  I’m fine with that, as are most of the people I know who are in these same positions.  But it can lead to confusion.  And, though most of the parents I talked to the other day understand the continuum from creating web pages in 6th grade to programming in 8th grade and in Upper School, quite a few thought that I was doing system administration and desktop support for the school as a whole.  Even a few teachers haven’t understood or known that I actually teach courses.  As I move forward with the curriculum, I think this confusion will be resolved.

It’s interesting because I think if more people had a good foundation in computer science, they would understand that yes, most people in the CS industry (whether as an educator or not) are facile around computers and computer applications, but just because you’re a programmer or a CS teacher does not mean that you’re an expert in [insert application here].  And the reverse is almost always patently not true.  The person who does the day-long or week-long session on Excel, or Word, or even Windows 7 will likely not be able to program.  The person troubleshooting your desktop machine will likely not be able to program an application that runs on it or design a web site.  As in many fields, people have specialized skill sets.  I’m glad there are people who know the inner workings of a desktop computer, and I have benefited from their knowledge on more than one occasion, but I want people to be clear about the distinction.  I’m not going to come to your house and fix your computer, even though I probably could.  But it might take me longer and I might miss something important.  In my mind, I am first and foremost a teacher and teaching kids to use technology and the basics of computer science is full of complexity that even some programmers won’t get.  You can’t just put a programming book in front of kids and hope for the best.  You have to teach them all kinds of soft skills, like problem-solving, critical thinking, the ability to break a problem into smaller parts, and the fortitude to stick with a problem even when it gets hard.  Some “computer people” have those skills but have no idea how to get them across to others.  Teaching computer science, then, is more than just knowing a programming language or two, or knowing your way around a computer.  It’s a skill in an of itself and that’s very different from the skills someone who can troubleshoot a network problem might have.

Enhanced by Zemanta

Update 9: Creative Computing

The mascot for the Scratch programming languag...
Image via Wikipedia

For the last 3 days, I’ve been at MIT at a Creative Computing workshop.  I applied for this a while back in hopes of getting some ideas for using Scratch in my classes.  I got a lot more than that.  You know how you go to a workshop on using technology a, and you end up going through a step by step walk-through of how to do things?  And you spend the whole time with your face staring at a computer screen?  Well this wasn’t like that at all.  The focus of this workshop was clearly on pedagogy and learning, thinking about how kids/people learn and then how the technology fits into that paradigm. When I use technology in my teaching, that’s how I approach it.  And I’ve always tried to do that when I teach others how to use technology, to a greater or lesser level of success.

The first a-ha moment I had was during the introduction and Mitch Resnick showed a chart that illustrated the decline in computer science majors.  Industry and others have bemoaned this fact.  As he talked about this decline, he noted that while it was real, it probably wasn’t the whole story, that perhaps people who study other topics go on into careers related to computer science.  He then connected computing to writing, suggesting that when we teach a writing class, we don’t expect those students to go on an become professional writers, but we do expect them to use writing in their schoolwork and jobs, and to have a reasonable understanding of the principles of writing.  The same should be true of computing.  We should expect that while a few students may go on to become computer scientists, everyone should have developed skills in computational thinking through a computing class.

There’s always been a real tension between those who espouse a “hard core” approach to teaching computing, and focus on students learning a particular programming language and those who are more interested in having students grasp computational principles.  The former approach tends to turn people off to computing, especially those in underrepresented groups, while the latter is interested in spreading computational thinking concepts more broadly as well as potentially attracting different kinds of people to the field of computer science.

A second a-ha moment came during a storytelling talk by Kevin Brooks.  As he talked about telling a story to audiences that spoke different languages, I started thinking about the way that technology and computing are a foreign language to many people.  So there’s sometimes a disconnect between what we are talking about and what our audience (kids or teachers) hear.  We have to use different tactics to make the connection.  And we also have to be sympathetic to the learning curve.  No one learns Japanese in a day.

My final a-ha moment came when Eric Klopfer started talking about games.  As someone who is a gamer and reads the literature on gaming and education, I had heard a lot of the ideas he was talking about.  To most people in the room, though, it was all new.  These ideas have been around for a long time, but they’re just barely out there and they’re certainly not filtering very well into our education system.  It struck me that it takes a very long time for ideas that come from research to get put into practice.  And sometimes that lag is seriously detrimental.  The kids are mostly already there, but they’re only there outside of school.  If we can apply these ideas in school and sooner, we might be able to better meet the kids where they are.

Notice that none of my a-ha moments had anything to do with figuring out some specific aspect of Scratch, though I did figure some of those out, too.  And I got some great ideas for how to use it in my classes.  But mostly, I learned that my thinking about education and learning applies to computing as well as it does to writing and that gives me a really strong foundation to work from.

Enhanced by Zemanta