Archive for October, 2011

Computer Science in the Real World.

October 28, 2011

What a week.  The school had a power outage last Friday that killed three computers, one was the principal’s and another was a teacher’s so those had to be replaced pronto.  The school has decided to do on-line testing which required student access to a file on the server.  Of course there are permission issues to be solved.  Still have not chased all the bugs out of that one.  My advanced programming kids are starting Greenfoot so there have been setup bugs and documentation to get straightened out there.  I also have not touched Greenfoot in a year so I am a little rusty.  I have been working with Google App Inventor to see how well it might work for a programming class so that eats time.  My Sophomore Math II/Geometry class is going to start work with Geometer’s Sketchpad next week so that had to be installed and I have not touched Sketchpad in about 5 years.  My Senior Stats class has smart kids that actually ask intelligent questions so I have to be up to speed and actually know how to work some of the more difficult problems in the book.  Guess what I am doing this weekend.  I have also been trying to watch on line some of the videos from the CSTA Conference.  And of course there are the hundred little things that come up when you are the school’s computer tech.  Did you know that when running XP in a virtual environment on a Mac that the XP will not use the dual monitors?  Do you know how long it takes to find that out?  Oh, yes, I forgot a biggie.  I got a call from my ISP telling me the school had been blacklisted because we had a computer sending out viruses.  I got lucky there, one of the teachers called complaining their computer was doing funny things.  Time for a reformat.
To anybody considering getting a degree in CS and getting a job working in a smallish high school be prepared to know how to replace power supplies, locate the cheapest prices for RAM, teach something besides CS, and explain to a teacher why their projector is not going to get mounted to the ceiling because it is the only one not mounted to the ceiling and the school needs a mobile projector which means they do not always have it when they want it.  In the real world Computer Science does not mean programming.  It means you know everything to do with computers, from programming to fixing them to how to make PowerPoint play videos to pulling Cat-5 through a crawl space full of interesting life forms.  The job is never boring and it beats the heck out of driving down a road in Iraq.

A 1-1 school and what to buy.

October 22, 2011

The school is looking at the feasibility of a 1-1 computer-student program.  Being the Technology Coordinator means I have to look at the issues behind the scenes.  I started by looking at the platforms and OSs that would be the optimal for a classroom environment.  A Windows laptop would be the best option software wise.  Everything the kids need to use is available.  The problem is space in a classroom desktop.  A big issue with laptops is breakage, hinges and keyboards are vulnerable and our repair staff is me.  I also have a feeling that the laptop is going to become a curiosity soon; the tablet will be the primary portable computing device.  So I look at tablets.  iPads sure are pretty but they do not run Small Basic, Kodu, Geometer’s Sketch Pad or a whole bunch of other software that the school has licenses for.  The same can be said for Android devices.  I do have some new little Dell laptop to tablet convertibles with Windows 7 on them.  They are small, very portable and have good battery life but Windows 7 is not a good option for touch screens; icons are too small for fat fingers and it really is not designed for a touch environment.  They are also $650 each, a bit too steep for what we want.  Windows 8 seems to be the obvious solution but that is two years down the road and its capabilities are a major unknown.  Except for the programming language issue, which can be solved by using a computer lab, I am willing to bet there is a work-around for the needed software.  Some other major issues are the ability of the device to project through the present school projectors and to print to school printers.
I think the only logical answer is going to be cheesy little non-touch screen laptops with a VGA port and Windows 7.  I say cheesy for cost and replacement reasons.  The kids spend 90% of their computing time with a word processor which does not take a great computer, all of the programming languages will work and most of the software they use is not touch friendly anyway.
What I really would like to do is stick Window 8 on one of my little convertibles.  That might be the best of both worlds.  It would still have a keyboard and mouse pad for accuracy and a touch screen for tablet mode.  Might prove interesting.

Kodu and how to mess up a good thing

October 14, 2011

I finally started working through the built in Kodu tutorials to get an idea of how well they would work in a middle school independent study environment.  The obvious place to find the tutorial lessons would be under the “Lessons” button at the top.  I have looked at a lot of programming tutorial systems over the years and some were very useful.  They were well written with the level of the user in mind, the progression was well thought out, the goals for each step were clear and there was no confusion as to what the particular step was trying to do.  Not so with the Kodu tutorials in the “Lessons”.  The first five are progressive; an intro, programming the Kodu, adding and painting terrain, scores, walls, fairly simple how-tos.  Then I hit Kodu & the Golden Apple.  It took me a while to realize the lessons were not in order!  The first Golden Apple is actually number 4 of 5.  Confusion reigned.  Once I looked a little closer at the name of the lesson and got that sorted out I started on Apple I.  The task for Apple lesson 1 appears in a balloon and is very simple.  But once inside Apple I code there is a whole bunch of stuff (hard to call tiles code) already there.  Where am I supposed to do what the lesson is targeting and what are all these strange tiles doing here?  Back to confusion.  So I start digging around and look in the “All” button.  Here are more tutorials!  But numbered weird:  “Tutorial 01 v03”, “Tutorial 01 v06”.  “Houston, we have a problem.”  Time to hit the internet.  Googling “Kodu tutorials” is much more successful.  Crackedrabbitgaming.com has some good stuff (http://crackedrabbitgaming.com/2009/08/19/kodu-game-lab-full-game-video-tutorial-with-narration-generic-wars/).  Channel 9 has some good introductory on how to run the IDE also.  (http://channel9.msdn.com/Blogs/LarryLarsen/Kodu-Tutorials-Available)
It really bothers me when a product like Kodu is put out for kids and is too difficult for an adult to figure out the built in tutorials.  It just shows a lack of attention to detail.  It would be much better to remove the built-in tutorials, which are pretty much there to frustrate beginners, and refer to well organized material on the internet or else rebuild the tutorials into “Lessons” in a progressive, designed for kids (or their teachers) manner.  The people that are going to use Kodu are going to be beginners.  Get a beginner frustrated and most of the time they are gone for good with a lasting impression of the product and programming.  Kodu has been out there for a while, long enough to write a simple update to fix this glitch.  Kodu is free and we often get what we pay for but still, do not put it out there unless it is done right.

What we need for CS Education to happen

October 13, 2011

There are certain blogs I read daily; Alfred Thompson’s Teaching CS (http://blogs.msdn.com/b/alfredth/), and Mark Guzdial  http://computinged.wordpress.com/) are two of my musts.  There is always something to provoke thought and discussion on these two.  Today Mark brings up how to prepare CS high school teachers.  Reading his paper on the topic is a bit interesting from my side of the fence as a high school CS teacher.  He states the US needs more high school computer science but then italicizes that we need more computing science researchers.   At this stage of the game we need more teachers and let the research catch up.  If we wait for more researchers and more research then our kids will have to learn Chinese in order to communicate with the world CS super power.  We need education programs that will get CS teachers in the schools.  We need to convince universities with teacher education programs to offer a CS teacher education program.  We need in-service programs and continuing education programs that will help those of us that learned  and are learning/teaching CS on the fly and in a vacuum how to teach CS better.  We need a way to fill the vacuum that is high school CS teaching techniques with ideas from experienced high school CS teachers.  We need high schools to realize the computers are not a fad, that there are good futures waiting for kids that understand CS and that losing a year of English or Math to fit in a year of introductory CS might a good thing.

I am still looking for a CS teacher education syllabus/curriculum that does not involve getting a 4 year CS degree.  As pointed out there is not a lot of demand for CS teachers so having only a 4 year CS degree and wanting to be a high school teacher is a short cut to being part of the McDonald’s crew.  What is needed is a CS Ed minor or certification that a prospective teacher can complete in a couple of semesters while getting a teaching degree in a field that does have good employment opportunities.  These programs might exist but they must be really scarce.  A high school CS teacher does not need to know how to build an OS or  program in C; they need to know how to teach freshmen Scratch or Small Basic.  They need to know how to teach some basics of an upper level language like Java, C# or VB, they do not need to be a professional level Java programmer.  High school teachers are not mathematicians or historians or authors of literary works or computer scientists by trade.  High school teachers are communicators who can impart the basics of this knowledge to a group of people who, on the average, are not overly interested in learning anything.