Archive for May, 2012

Summer fun

May 30, 2012

I have to start planning my summer.  I am on an eleven month contract in order to have time to fix all the stuff I ignored during the school year because I did not have time to fix it.  Being the school techie means you get to do a whole lot of interesting and varied things, none of which you have training for or initially know much about.

Here is my list.

  1. Get a new wireless system up and running in the two schools.  The present system was inexpensive and works that way.
  2. Update 200+ computers from XP to Win 7.  I have no nifty way of doing this.  Lots of CDs, lots of time.
  3. Convert a Xen virtual server to HyperV.  Xen is a pain in the posterior.
  4. Reinstall Moodle on said server.
  5. Update Powerschool again.  They do not seem to believe in automatic updates and all of their updates require 47 poorly explained steps.
  6. Get WSUS working again.  It sort of worked at one time.
  7. Google-ize the school.  Get Google Apps for Education understood.  Maybe convert from Exchange to Google.  Same with Moodle.
  8. Inventory 200+ computers.  Where did I move that computer to?
  9. Learn C# to a level where I can teach it to Programming III kids to write some Kinect stuff.  Since I have not touched C# in two years and even then was a bit weak this should be interesting.
  10. Tinker with Processing.  I may not teach it but I really need to look at popular teaching languages just to be sure I am not missing something that would benefit the kids.
  11. Play with the Arduino board.  I think this thing has a big future as a teaching tool.  Write a program to make lights blink and motors turn?  Cool.
  12. The iPads are coming, the iPads are coming!  The elementary school is getting 52 of the things.  Being the school techie means I have to know how to run the things and be able to give advice.  Which means I have to be semi proficient in the whole Apple i world.
  13. Move my file server from a standard desktop computer with Server 2003 to a real server box.  Should be simple, it won’t be.
  14. Retire a sick domain controller and build a new one.  Should be a real pain, and it will be.  I do not do this often enough.  In fact I do it never.
  15. I have about 30 new computers coming in sometime this summer.  Setting those up in the new lab might take a few minutes.
  16. I have a classroom set of laptops coming in this summer.  Oh goodie.  Lots of setup.
  17. I have to figure out a cart to buy for the laptops.
  18. Collaborate in building a two day techie conference at the local university.  Not my idea but I agreed to help.  I am an idiot.
  19. Collaborate in writing a Corona for Beginners text book.  I think Corona is a great teaching language but there is nothing for the Programming I and II level so I am try to help write something.  I am still an idiot.

Add to this the 17 days of National Guard Annual Training in July, a road trip to Yosemite with the wife and daughter, and, hopefully, a motorcycle trip to British Colombia.  Oh, I almost forgot, I am supposedly training for a marathon in July.  Last time I did a marathon (2008) I had a heart attack at mile 20.  I finished but my time was greater than I wanted and my wife was really pissed at me.  She has said if I do the heart attack thing again she will not let me go out and play with the big kids any more.

I might be slightly over loaded for the summer but at least I will not get too bored.

 

End of year review

May 12, 2012

The year is winding down so it is time for a critical review of how and what I did in my programming classes.  I had more kids in Programming this year than ever before.  Nineteen is a pretty good number in a school of 180 kids.  Most of those kids are mainstream students, not computer nerds.  Four were girls, one of which is considering a CS career and plans on taking Programming III next fall.  This semester’s Programming II course had 1 freshman, 10 sophomores, 3 juniors and 5 seniors.  The 1 freshman IS a computer nerd of the highest order.  Of the nineteen at least 5 plan on taking Programming III next fall.  Which brings up the question – what am I going to do for a Programming III course?  Probably C# with XNA and Kinect which means I have to learn it this summer.  Thank the Gods Alfred Thompson posts C# curriculum info regularly on his blog.

What did the kids get to see this year?  Scratch and Small Basic in Programming I.  I have to rate this class as a total success.  They got a chance to see what programming is about, have some fun and make a somewhat educated decision on their future with programming.  The Programming II had some mixed results.  There were definitely some kids in over their heads.  Not in ability but in willingness to think at the required level.  I would say 3/4 of the kids worked while 1/4 were just along for the ride and did a lot of copying.  Still not bad over all.  The Programming II kids got to see GameMaker, Corona and Visual Basic, with Corona being the primary language.

GameMaker was a bust.  The tutorials were so bad that I simply had to abandon the language at the second tutorial.  I did not have time to do a rewrite.  GameMaker does have great possibilities if someone has time to write their own material.  Although a purist may not call GameMaker a “programming language” all the skills needed to be a programmer are required.  The possibilities to make programming “fun” are really high.

Visual Basic was worthwhile but had some issues with turning in assignments to a network drive.  More my lack of experience that VB’s fault.  I will continue to throw VB into the curriculum simply because it is nice for the kids to see a high quality IDE.  To get VB to be “fun” took some contriving.  After doing Corona for a month the kids though the debugger in VB was almost like cheating.  Some asked why we did not do VB first since it was so easy.  It was so easy because they pulled their hair out with Corona first.  Learn how to learn then all sorts of things are easy.

Corona is the money maker.  I can teach any particular feature of a traditional language while making some cool graphic thing.  We’ve got noise, color, action, shapes, animation, physics and lots of other cool stuff I have not had a chance to learn all rolled up in one.  Of course debugging is total crap and documentation is a major challenge but all the elements needed to get a kid excited are there in a fairly simple language.  Corona does have some near deal breaking issues as far as lab/school environment is concerned but with a little work they can be overcome.  With the influence of the iPad and Droid coming on so strong teaching something that looks at these platforms is a no-brainer.

Next year I want to throw MIT App Inventor into the Programming I course.  It appears fairly simple as languages go and the kids can have some fun.

It may seem that my primary goal in the programming classes I teach is for the kids to have fun.  That is correct.  Programming is an elective course.  I cannot attract many students to the course with “tedious” and “boring” as a theme.   If programming is not fun, why do it?  (I do it because it is fun but then I think solving problems from the Project Euler website is fun and most of the kids think I am stark raving crazy to call that “fun”.)

Well my servers are updated (why else would I be in my office on a Saturday?), it is 75 degrees outside and I have a marathon to run in July.  I had better go have “fun” running eight or nine miles today.

CS in the real world

May 3, 2012

We had a brief power outage Monday afternoon at about 2.  By brief I mean maybe a second.  This is Montana, it happens.  It is truly amazing what can happen in a second, especially to an Oracle database that is the core of the school grade software.  Four hours of my time, four hours of my $75 an hour consultant’s time and about four hours of the level 2 tech from PowerSchool and we are up and running.  Might be time to reconsider buying that UPS we cannot afford.  I do have two perfectly good UPSs sitting in my storage.  They were donated a couple of weeks ago.  They look really trick.  One minor problem, they are 220 v, 50 amp.  Try and hook that up in a building built in 1922!  The building maintenance guy just kind of giggled when I asked him if it were possible.  Oh well, back to the perpetual motion machine idea.  Maybe car batteries with a battery charger.  Hmmmmm.

How does this relate to CS education?  Get a job in Montana as a CS teacher and you will find out!

Some day, when I have time, I will learn what I should know.

May 2, 2012

I admit it, I am not a high level programmer.  Every bit of programming knowledge I have was learned sitting with a book or a help tutorial or trial and error (lots of error).  I do not count the one semester of Java at my local university, the instructor could not teach a duck to swim.  When I give my students a new programming assignment I am typically a day or two ahead in learning how to do the assignment.  (Every now and then I get burned pretty bad this way but everything is a learning experience.  Damn smart kids.)  Every now and then I bite off more than I can chew.  And every now and then I get bit in the ass, hard.  Early in the year in Programming I the kids drew a house using the Small Basic turtle.  I typically carry this assignment over to Programming II only they do the house in Visual Basic by importing the Small Basic turtle library.  The kids have no problem learning Visual Basic to the extent needed to do the assignment.   It is in turning the assignment in where the problems lie.  For 80% of the kids there is no problem.  But 20% of the kids have some weird saving issue with VS.  This is the problem with learning to program on the fly and in a vacuum.  An experienced VS programmer would look at the saving issue and say “Oh, yah, here is what is happening and here is how you fix it.”  Me, I tinker for an hour trying to figure out why kid A can save a project file in the network homework folder so I can load and run it and why kid B gets weird things in their project folder.  I have had this experience before with VB but though it was a network folder issue.  Just one of the time consuming problems I do not have time to deal with but I sure wish I had time to deal with because I am totally curious as to what is happening to cause this issue but I am too busy right now to satisfy my curiosity so I had better quit writing and get to work.  It has been one of those weeks and it is only Wednesday.