Archive for June, 2014

Block Code Languages Work

June 26, 2014

To block code, or to not block code, that is the question.  Whether ‘tis nobler of the mind to suffer the slings and arrows of outrageous block coding or to take arms against a sea of block coding languages and by opposing end them?

It kind of breaks down after that thank goodness.

In this on-line APCS-Principles class I am taking they are using Snap!, a version of Scratch.  This has stimulated some conversation in regards to the viability of block (or drag-and-drop) languages (Scratch, Alice, Snap!, Kodu, App Inventor, Mindstorms NXT-G, etc) as teaching languages.  Alfred Thompson has also written in his blog lately about the subject.  I have taught using block code languages pretty much for as long as they have been around.  They have a purpose and are great for that purpose.  Many purists poo-poo these languages because they have no real world uses; they are not what the commercial world uses.  This is education, not the commercial or real world.  There are a lot of things used for education that have no real world applications.  They are just stepping stones.

We as teachers do have to be very careful when using block languages.  They are a teaching tool.  If all we taught was a block code language and ended it there I believe this would be comparable to having drivers ed kids do nothing but the simulator and assume they therefore know how to drive.  There are block code languages that are for real world applications.  I understand some of the commercial robotics languages are block code so non-coders can program industrial robots.  We need to at least show kids a typical line code language before they escape high school.  In my Frosh/Soph Programming I we spend most of the semester in Scratch and Small Basic but the last few weeks we dabble in VB.  Build a form and make a button on the form do something.  Just enough to see what a grown-up IDE and language is all about.  (Part of this lesson is actually installing VB on the computer.  Installing software is one of those topics that seems to be overlooked in most school syllabi due to restrictions on student access to school computers.  That is what a temporary admin account is all about.)

For beginners block coding is fun and having fun is what teachers want in an introductory elective.  (No fun, no students.  No students, no elective.)  They do not have to remember some strange syntax, everything they can use is listed right there on the screen.  Dig around a little bit through the options on the left and maybe read (OMG!) a tiny bit of a help file and they are off building the next great computer game.  We are not building coders here, we are introducing a thinking style and some fundamental concepts – sequence, conditional and iteration.  Throw in some Boolean operations (and the word “Boolean”) for good measure and we have the start of a real programming class.

Block code languages are like an introductory drug, it may be enough to get some kids interested in hanging around for the “hard” stuff.  So what if that is all they want to learn?  It is the concepts behind programming that are the learning target here.  Most kids are only going to take that one semester of CS/programming and for most that is all they are going to need.  Teaching a block language gives time to teach a lot of non-programing CS content that a “professional” language course would not have time to cover.

Some block code languages I like (Scratch, Kodu), some not so much (Alice, NXT-G).  For the right teacher in the right class they all do the right job.

Beer and cheesecake win every time

June 23, 2014

Kids have been gone two weeks now and I am already starting to fall behind.  I have an eleven month contract because I work on the school computers in the summer.  All the things kids have managed to do to the computers during the school year I now have time to fix.  It is truly amazing what they can do to a computer that I have no idea how they did it.  We do long term loans of laptops to students.  When I get those back I have to reformat them completely.  If I was clever I would find some free imaging software that is actually understandable.  No luck so far.  No big deal.  I have 10 Win7 DVDs so I just get a bunch cranking at the same time.  It just takes time.

I have been working on a University of Alabama on-line APCS-Principals course.  The course is intended for teachers that want to see what it is all about.  Very interesting.  I really like the idea behind the course, less programming, more CS.  The course is really useful for me in that there is a large number of teachers on the course’s blog.  A good chance to talk to peers and get ideas.  There is quite a cross section of attendees.  All the way from people who do not really understand the binary number system and are intimidated by Scratch to people who have whole APCS courses built and have been teaching it for many years.

I got my first motorcycle trip for the year in.  Four days in the saddle to Oregon.  We were planning on about an 1800 mile trip but only did about 1400 miles.  Two days of rain slowed us down.  We even hit snow on one of the passes in Oregon.  Snow is a bad thing on a motorcycle.  We got as far as Bend and came home.  It was still a great trip.  Lots of little back roads with lots of sharp corners.  Found some excellent micro brews and good food.  No speeding tickets.  That is one of the advantages of riding with a friend who is on a Harley-Davidson.  I have to slow down and wait a lot.  He did get pulled over with only a warning.  Chuckle.  Someday I really have to sell the high speed sport-tourer I ride and get something more suitable to my age and hand-and-eye coordination.  But there is just something about 145 mph.

I did a mountain bike race last week.  I had not raced in years so I figured it was time for self-humiliation again.  Got second in my class.  Of course there were only 3 people in my class but whatever.  Most people my age know better and have switched to golf.  The guy that got first in my class was competitive with the young guys.  I passed him on the first downhill then he just disappeared on the climb.  The race was a series of loops.  The experts did two big loops, about 12 miles per loop.  The sports (me) did the big loop and then part of the big loop, about 17 miles total.  To give an idea of how fast the experts are the overall winner lapped me twice.  He was not sweating either time.  All the other experts only lapped me once.  I almost killed myself trying to not get lapped by the second place.  It is the little successes in life that count.  I can pretty much smoke everyone on the downhills (no brains) but the uphills are where races are won and I do not go up very well.  If I cut out beer and cheesecake I could go up faster.  I like beer and cheesecake better than racing.  It was a fun day.

How expensive are good teachers?

June 3, 2014

I got in a fun discussion with some of the school techs across the State today.  A tech job opened up at one of the big school districts (5000+ K-12).  The salary is $80,000.  I commented that seems excessive considering highest teacher salary for the district was $10,000 lower.  One of the smarter techs pointed out the 9 month versus 12 month detail.  OK, so $80,000 is in the neighborhood if a senior teacher was paid for 12 months.  I can let that go.  The argument that came up that did not make sense was that a tech for this position has to be highly qualified and that to attract personnel of this caliber requires a good salary.  With very little thought that implies teachers do not need to be highly qualified or high salaries are not needed to attract good teachers?   Something wrong there.

Could this be one of the issues with US education in that it is more important to attract good administration personnel than to attract good teachers?  In my mind it is important that both be good to ensure a good school.