Archive for June, 2013

Build it and they will come

June 30, 2013

I read with interest Gas Station without Pumps comments on AP CS:Principles.  I have to agree with everything he says. I also read with interest Mark Guzdial’s response.  There is so much to think about when considering the pros and cons of AP CS, be it A or Principles.  The very AP label scares away a lot of kids that should be taking a CS course.  The AP CS course possibly takes a time/teacher slot that a regular CS course designed for the average kid could occupy.  On the other hand that AP label looks real nice on a transcript for a kid looking at the math and sciences.  It would also be nice to offer a nationally recognized course.  Being a private school we have to look at the advertising aspects of offering AP courses.  The more we offer the better chance of attracting students.  We compete with the public schools for students and anything we can do to make the school competitive is important.

The only AP CS course I have seen taught was the AP CS:A.  It was narrow in material, as exciting as watching paint dry, 10 years out of date, and very elitist.  There was absolutely nothing in the course to attract a normal student to even think of taking the course.  The AP label is not a big enough attractor for a small school to build a viable sized course.  Getting one or two kids in a course is a guaranteed method of having a course cancelled.  It is just not a good use of limited resources.

AP CS:Principles is starting to sound promising.  If it is not language specific then it I would be able to wrap the learning objectives in something that would excite the kids like a gaming authoring language.  The average kid does not want to learn how to write a program that makes a Christmas tree with asterisks.

The problem with AP CS:Principles is the prerequisites.  Having not seen the syllabus I have to make some assumptions here.  AP CS:P cannot be an introductory level course, if it were there would not be an AP label.  Therefore there has to be a course or two as a prerequisite.  That prereq is what is going to convince a kid to stay with a CS program.  That prereq may be the only CS course a kid takes.  This makes the prereq more critical than any AP course.  Building these prereq introductory courses should be the focus of NSF money.  It is much more likely teachers capable of teaching these courses can be trained in a reasonable time and at a reasonable cost.  The requirements to teach something like Scratch and/or Small Basic does not require a four year CS degree (which does not prepare anybody to teach anything) or a geeky interest in computers.

This whole discussion is still pretty irrelevant simply due to the CS teacher shortage.  For small schools finding CS teachers is not going to happen.  Be it lower level prerequisite CS courses or AP the teachers needed to meet the projected need are just not there now or for the foreseeable future.  I would hate to see AP CS the exclusive domain of large schools who have the student population that allows low interest courses.

AP CS:P looks promising but I think it is the cart before the horse.  It is necessary to build curriculum from the bottom up, not top down.  I want more CS AP:A and AP CS:P courses in the high schools but we need to focus on getting a lot of kids in CS at the high school level, not a few in a course that requires well trained CS teachers.  A lot of kids at the bottom should ensure a larger number staying in the program to the higher levels.  I believe we cannot maintain a competitive edge in the world work force without a high level CS course at the high school level but we just cannot do it by building a high level course and hoping kids and teachers will show up for it.  “Build it and they will come” works only for a movie.

School Tech Glory

June 27, 2013

Today I used my computer science problem solving skills developed through my years of experience to their utmost.  This morning first thing I argued with an external usb drive and Windows backup.  I lost.  NovaBackup to the rescue.  Next it was a driver for a printer that should have worked and didn’t.  I go to the HP website and download a new driver.  Success!  Then it was a printer that supposedly did not work but did.  Throw in the time to get Google Apps to sync with Outlook and teach two accountants how to use Google Drive.  A whole new world of storage has been opened up for them.  I spent an hour changing computer names and IP address in one of my labs.  I then started working on a second lab.  I had to move the computers on the tables to the floor.  That required unplugging all the cables and plugging them back it.  Oh, I also had to crawl under all the tables to accomplish this.  It gets even better.  The twenty or so extra towers in the lab had to be moved out of the classroom into my storage area under the stairs.  Why are some towers much heavier than others?  I am still feeling the effects of that bit of exercise.

Having been both the tech and a CS teacher I do find that being a tech is significantly easier than teaching CS.  It is much easier to figure out why a computer is acting up compared to why a student is acting up.  I can usually find a computer or network problem solution on Google.  Kids are not quite so consistent.  The computers I cannot fix I save for the summer.  When school is out I take them to the roof and throw them off.  It does not fix the computer but it sure is satisfying.  If I did that with a kid or two someone would be bound to complain about the mess in the parking lot.  The kid would also probably make a lot of noise on the way down.

The summer of the iPad

June 24, 2013

It is summer time so it is time to fix all the stuff I ignored all school year.  It is time to sort of inventory stuff.  It is time to learn all the things I really should know to do my job.  On a table behind me is about 100 iPads.  I gathered all the school iPads up so I could count them, restore the profiles that I never stored when we got them mid-year and generally learn how to manage them.  So that means learning Apple Configurator.  It has taken me a few hours to find a decent video tutorial to get started and a few more hours to work through the strange idiosyncrasies.  It is interesting that two identical iPads do not behave identically.  I am not a Mac user and I am not an iPad user so there has been a bit of a learning curve here.  Just learning to find the stupid scroll bar on some windows is a bit of a challenge.  There have been some lessons learned.

  1. Than $1900 box to sync and charge the iPads was a waste of $1850.  Buy a cheap usb hub and some power strips.
  2. Pay attention to which cases you buy for the iPad.  Some are a real pain to open.
  3. Get a magnifying glass to read the serial numbers or find a kid to read them to you.
  4. If a kid has an Apple account he/she can have all sorts of fun downloading stuff.
  5. Resyncing every night does not work if there is only one Mac per school.
  6. Keeping track of the dang things is work.
  7. At least one serial number gets typed in wrong.
  8. Any CS Ed degree has to include iPad management, not just “here is a cool app for education”.
  9. Anyone that says learning how to manage iPads (or Droids or whatever) is not CS is an idealist, not a realist.
  10. Any school going 1:1 better have a good sized tech department and better realize Total Cost of Ownership is going to be about twice the cost of the individual device.  We don’t and they would not believe me.

I think I have Configurator figured out.  Now I have to attack the Mobile Device Management software.  If this job ever gets boring that just means I have forgotten to do something really big.

Teacher Education, not AP CS

June 21, 2013

Should every student be taught a CS/programming course?  I am going to approach this question from the Montana perspective and pure numbers.  That perspective should be relevant to many of the states in the US.  Most schools in Montana are small, 41% have fewer than 50 kids, 6% have more than 500 (2008-2009 stats).  Even though 31% of the kids are in schools with greater than 500 students there are a whole lot of small schools.  By the State’s numbers there are 829 schools in Montana, 779 with less than 500 students.  If every student is to be offered an opportunity to take a programming course that means Montana would need at least 829 CS teachers.  I should subtract the present CS teachers from this number so now we are down to 823.  Should every student be taught a CS/programming course?  It seems like a good idea.  Will it ever happen?  Nope.  The argument for or against APCS A/P is so irrelevant to most schools in the US simply because there are no teachers.  Unless there is some stimulus to state universities (the universities most people can afford to attend), and in particular CS departments, to offer a CS Ed program the situation simply will not change.

The NSF grant of $5.2 million for a new AP CS Principles course is absolutely ridiculous for most schools and most students in the US.  That $5.2 mil should be going to develop a freshman/sophomore level program that does not take a four year CS degree or 20 years of experience to teach.  At the present rate of CS teacher education there will never be a satisfactory number of college prepped CS teachers.   A program is needed that will get a non-CS educated teacher started with enough knowledge to do the basics of a CS course.  Some kind of summer program in CS Ed is needed that does not cost the teacher $800 to attend.  Incentives to the universities and scholarships to teachers to get them to attend are what is needed.  A CS Ed summer program that is free, and offers recertification credits would tempt a large number of teachers and might just start to fill the major shortage of CS teachers.

Finding teachers qualified to teach a CS Ed program is going to be another issue.  Now we get the chicken or the egg thing going.

Summer Fun

June 3, 2013

I have to get the summer project list started.  I work at the school all summer fixing broken computers that I ignored during the school year so I should have some time.  I plan on focusing on two primary objectives: get better at understanding Corona and try to find some high school level (not high school programming genius level) C#/Kinect material.  For the Corona I have found an online video tutorial that will help.  I am not a big video tutorial fan but it is the only solution available.  So far the C# material I have found for “high school” seems to assume the kids started programming at age 3.  I want the material that steps from Small Basic to C#.  I am not sure it is possible but I have to try.  After seeing the videos of the new Kinect I have got to figure this thing out.  It looks incredible.

This is going to be a busy summer.  I want to learn Corona better and learn, or at least find some decent material for C# with Kinect.  I also have a marathon and a 50 mile mountain bike race at 6000+ feet on the schedule.  The marathon and the bike race will be the easy part.