I need a nap!

September 10, 2014

As Lili von Shtupp said in Blazing Saddles “I’m tired”.  It is only week 2 and a half and I am beat.  I only have three courses to teach but all will require attention.  I also do all the IT work.  The beginning of the school year is always a mess IT-wise.  New teachers, new kids, and new hardware.  Is there some law of nature that ensures all the hardware ordered over the summer shows up the first week of school?

I did not teach the Senior Stats or Programming I last year and the Programming with Java is a first time offer.  The Stats has been up graded to an honors course so I have to redo the course plan I did have from previous years pretty much from scratch.

The Programming I is always work.  Keeping the geek kids happy is easy.  Keeping the kids that are in it because they could not find something else in the time slot happy is work.  They are all good kids but I have to do quite a bit of “dog and pony show” to keep some focused.  For example today we did the peanut butter and jelly exercise.  I bring in a jar of peanut butter, a jar of jelly and a loaf of bread and they have to write a “program” to build a peanut butter and jelly sandwich.  I then have a kid build the sandwich while I read what is written.  The builder can only do what the directions tell them to do.  The Mr. Literal kind of thing.  The results are very entertaining.  “But that is not what I meant” is the usual comment.  “Pick up peanut butter jar.  Remove lid. Pick up knife.  Scoop out some peanut butter. Smear peanut butter on bread.”  Really hard to do with the peanut butter jar and lid still in the hands.

The Programming with Java should be fine once we start actually programming.  It is all the setup that is work.  Heck, picking an IDE to use is turning into a pain.  The University uses Eclipse but I am finding that is not so hot for beginners.  Too much too soon.  I did manage to find a textbook.  Since this is a dual credit course the University wanted me to use the text they were using.  The $100+ price tag would have killed that plan.  Amazon sells an earlier edition for $6.99.  The difference seems to be cover art, font and rewording of some of the problems.

I am also helping coach girls soccer.  The new coach has never coached before so I figured she might need a hand.  That is good for a couple hours a day.  I have already pulled a ham string trying to run with them.  Mountain biking is not good sprint training.  I used to be able to sprint with anybody on the field.  I still can but for only 25 yards then I limp for the rest of the week.  My wife suggests I slow down because I am getting old.  Silly girl.

Next Wednesday I am heading to North Dakota for a 3 day mountain bike ride with three friends.  We are going to do the Maah-Da-Hey trail.  It is a 96 mile trail that is the longest continuous single track mountain biking trail in the US.  The un-fun part is the 12-13 hour drive to get there.  I am also not too crazy about the fact we are camping out.  We have a company hauling our gear from camp site to camp site which makes that part easy.  Thanks to the US Military I am just not a camping kind of person any more.  I did too much “camping” with them to make it something I do regularly on purpose.  Oh well, it will be a male bonding experience.  And three days of cool trails can fix all sorts of issues.

All things considered this job is still more fun than a box full of puppies.  I get to play with computers, I get to play games with kids, I get to show kids cool stuff, I get to let kids show me cool stuff and I get paid to do it.  What more could anyone ask for in life?

What is “Classroom Technology”?

August 22, 2014

In one of those on-line CS courses I am sort of participating in, one of the discussions was to talk about the classroom technologies the teachers were using.  Almost exclusively the conversation is Smart boards, computer labs and a teacher iPad.  Some discussed computer lab management software like LanSchool.  One teacher even said she used classroom technology every day because she entered her grades into grading software.  Is this stuff really classroom technology considering the year is 2014?  Here is my idea of classroom technology – the kid has it in his or her hand whenever it is needed.  The kid can project to and for the class when needed.  The kid has all the software needed, at hand, whenever needed.  This does not mean the class goes to a lab when needed.  It means the kids open their backpack and fish out their classroom technology.

Here is my present math and programming classroom.

  1. Every kid has a laptop. If they do not I have some loaners but I rarely have a kid needing one.  Parents seem to have added laptops to the school must have list of supplies.  (My programming kids need a Windows laptop.  Macs resulted in a pain in the rear.)  I do not use the laptops every day but when needed I expect them to have one available.
  2. I have a method of handing out and receiving digital homework. Right now it is either through a server that has no access outside the school network or email.  I will play with Google Classroom this fall to see if it will do the trick.  The main issue is having a one way folder for kids to turn assignments into.  There are solutions, I just have to find one that is easy.
  3. I have a projector that plugs into the network. Up to 4 kids can simultaneously connect to it wirelessly from their own laptops.  A kid in each quadrant if need be.  The projector (Dell S300wi) was $2000 3 years ago so I assume there are newer cheaper models out there now.
  4. I have a Smart board I rarely use. The projector reduced the need.  When I need to do Smart board type stuff I do it on my laptop anywhere in the room.
  5. I have a good old white board for the “sage on the stage” type stuff. I do not think teaching will ever be able to completely escape that presentation mode.  It works well.  There are some things that just work best on the big board.  Now if I can just learn to do legible handwriting.
  6. My furniture moves. I am not a kids in nice rows type.  There is an outfit that makes student desks on wheels.  My ideal desks.  But I can foresee bumper car issues and classroom management issues. Movable furniture allows physical collaboration.  Two kids side by side comparing projects is not always somebody just copying.  It sometimes means one kid is teaching another.  A teacher’s greatest teaching goal.

5 and 6 are not “tech” but they are necessary for my concept of a tech based classroom.

I have one last desire for classroom technology, a large touch screen tablet with an attachable keyboard.  A 17 inch would be dreamy.  I have 10 inch tablets but it is hard to hit the icons sometimes and I am also blinder than a bat.  I want the mobility the tablet offers yet the convenience of a full sized keyboard.  Removing the keyboard also makes the thing reasonably light.

My concept and goal for classroom technology minimizes the teacher held tech and maximizes the student held tech.  The teacher needs to get out of the way and let the kids learn.

Is real classroom technology economically feasible for all schools?  In my opinion student owned technology to be used in the classroom is not a thing of choice.  If the American education system is going to do any fundamental job market or “real world” preparation for our students it has to be to get them ready to actually use and manage their own technology, not watch the teacher teach with it.  “But our school cannot afford this” is what I hear a lot of.  I spend about $400 for a new Windows 7 laptop.  I can get refurbished Win 7 laptops with a lifetime parts warranty for $200.  The local public school system pays $800 a laptop to do the same job the $400 laptop is going to do.  A new Chromebook (which I am not a big fan of) is about $230.  They are correct, they cannot afford to purchase laptops for their students.  Most schools do not seem overly concerned.

Silly little programs

August 8, 2014

Yup, binary to decimal was easy.  Play with the algorithm, do a little pseudocode, poke at the code a little to figure out the Python syntax (reference manual!), debug a little and poof, it works.

  1. binary = input(“Enter a binary number.”)
  2. lenBinary = len(binary)
  3. dec = 0
  4. for i in range(lenBinary):                               #Go through the length of the binary number.
  5.     if binary[lenBinary-(i+1)] == “1”:           #Go from right to left checking if the value is a “1”.
  6.         dec = dec + 2**i                                         #If a “1” convert to base 10 and add it up.
  7. print(“The decimal equivalent of “, binary,” base 2 is “, dec, ” base 10.”)

Undoubtedly the Python whizzes out there can snipe the heck out of it with syntax short cuts but this is what the kids will build initially.  I do very few short cuts because they are often language specific. Of course now that I look at my code I think I can redo that range parameter to do some of what that if statement is doing…

There are some things in Python that really throw me off.  I guess the biggest is the range object in the for statement.  I keep forgetting the range is one less than the value.  Of course I take a few minutes to remember that little detail.  Like I said too many languages.

A comment to my last post by Bri Morrison suggested looking at Roman numeral conversions.  I hate it when people make project suggestions like that.  Especially good suggestions like that.  Now I am going to sit and stare at the ceiling and have to figure out how to do it.  As though I did not have enough things to stare at the ceiling about.  So now, Roman numerals have no place value and a smaller value to the left of a bigger value means subtract…hmmm.  What a strange way to have fun.  Thank God I like to mountain bike and snowboard because otherwise I would live in front of this stupid computer.

Always a new idea for a project

August 7, 2014

The Good Idea Fairy strikes again.  For my Java based advanced course this coming year I want to do a lot of non-coding topics.  One topic is understanding bases.  The binary and hex bases are kind of handy to understand in the field of computer science.  I introduced binary and hex last semester so in my infinite wisdom I thought I will have the kids write a program to do the conversions.  I like projects like this.  I could do the usual conversion worksheet but did that and they were bored with that.  For someone familiar with bases and base conversions it is a bit trivial.  The emphasis of this project is on algorithm development and not on typing code.  After a few minutes of doodling (that PLC training was a bit boring) I think it looks like the binary to decimal program is going to be simple to develop.  I think the kids can work that one up with very little coaxing.  Decimal to binary does not look so sweet.  It is going to take a bit more staring at the ceiling.  These are the projects I love to teach with; lots of thinking about the problem, understanding the algorithm, devolving the algorithm into some form of pseudo-code and then a little coding.  These projects play to my strength in CS, thinking and staring at the ceiling.  They also do not bring a lot of pressure on my CS weakness, coding.

I suck at coding.  For some reason I cannot remember syntax to save my life.  I think I have too many languages in my little brain.  If I do not have the language reference manual next to me while coding something I am doomed.  (One reason I love Small Basic.  Intellisense, I love you!)  This does not bother me too much.  When I worked for a software company many years ago the wiz bang programmer dude in the next cubical had a really thick VB reference book right by his hand.  He knew what he was doing and he still had to use it.  So thinking projects it is and a handy reference book.

When I teach a language the first thing I give the kids is the location of a readable language reference manual.  I expect them to use it.  I expect them to use it a lot.  I teach them how to read it.  I do not teach them a lot of syntax, at least not through lecture using my broad knowledge of syntax.  To facilitate this reading of manuals I have the kids hook up a second monitor to their laptops.  This is almost a necessity when using on-line references.  All my programming kids have a laptop, either their own or a school owned loaner so the second monitor is not a big issue.

For this bases conversion program I will initially have them do it in Python.  I foresee the program needing some string manipulating.  Reference book!  I know what I want is in there somewhere because I remember reading it but I cannot do it by memory if my life depended on it.  I even did the book exercises and I cannot remember what I used to do what I did.  I will then have them try it in Java.  Having done the project in Python they will have the algorithm figured out so all they will have to struggle with is the language.

I am not a great coder and I am not a great snowboarder but I have a blast doing both.  When I teach someone how to snowboard they can get down the mountain with a little style but they are definitely not ready for a freestyle contest.  The same with programming.  I am not training kids to be professional programmers, I am teaching kids to think and learn.  I think my plan is working.

I had better get to work on these conversion programs.  Sometime the Good Idea Fairy is not nice and bites me in the rear.


Are we doomed to be a 3rd world country tech-wise?

August 6, 2014

Connected to those on-line courses I am taking is a conversational network as part of the course.  One of the assignments was to talk briefly about ourselves and our reason for signing up for the course.  There were several teachers that wrote something similar to this.

“Our grade school and middle school has little to no computing. We have had difficulty getting keyboarding taught below high school level. This is a great concern to me since our students will need to take tests on the computer or a tablet starting next year. The younger students need to have the ability to type on a keyboard so that they can show what they really know.

 Our Kindergarten through third graders usually use the computer to reinforce math and reading using programs and games. Our third through eighth graders are supposed to have some keyboarding instruction each year. However, I teach all freshmen a required course of one semester of Keyboarding and one semester of Computer Concepts. Most of these students come into my class with little or no instruction in keyboarding. Unfortunately, that means I need to break bad keyboarding habits. This is very difficult to do. The Computer Concepts class includes basics of Word, Excel, PowerPoint, Publisher, and PhotoStory.  I am very glad to have the opportunity to teach all freshmen this required course. I know many schools do not have this as a required course.  It’s vitally important to give our students an opportunity to learn Microsoft programs that they will use throughout high school.

 I would like to offer computer programming as enrichment to my high school students. It is difficult to find the time to do this, though, with all the other requirements for each class. “

The scary part is I bet many public schools in the US are like this.  Do schools like this actually believe they are preparing their students for the future?  Why is it teachers like this have to fight uphill for change by building enrichment courses on their own time?  The administration should recognize their curriculum is 40 years out of date and be demanding teachers instigate computer education into the curriculum, K-12.

In this same direction one of the senior tech at one of the smaller local schools quit last week and found a new job immediately with a larger school.  He quit because the school board he worked for was convinced pencil and paper was as efficient as a computer.  Board members also would not bother to learn to use Drop Box for board business.  The board told the principal that he was “too enthusiastic about technology and no longer fit in with the goals of the school”.

Could these instances be exceptions?  From what I read and see around me I do not think it is.  It is stories like this that make me fear that the US is going to fall behind nations that have accepted technology and CS education.

Summer is winding down

August 4, 2014

The summer is drawing to a close.  In three weeks school starts up.  As usual I did not get all I needed done done.  I am used to it so no panic.  The IT stuff is done, the classrooms are ready for students and teachers, everything is working the way it should, laptops are ready to check-out to students if they need them and the network is up.  My new Java course is not doing so well.  My fault for prioritizing the IT stuff but more relies on that than the Java course.  I have a syllabus, a text and a plan, just not much practice with the IDE or the language.  I have a year to do a semester course so I am not bothered.  I want to do a lot more than programming in the course so I will have the time to get ahead of the kids.

I am back to teaching Stats this coming year.  The school did a little curriculum changing so the Stats course is now an honors course.  Previously it was designed for all seniors not interested in going the calculus direction.  We will now offer three courses for seniors, one standard track and two upper level courses that offer college credit.  The Stats course previously offered college credit but had such a mix of abilities that it had to be very tempered.  The new course will allow me to increase depth and breadth.

I signed up for three on-line courses this summer.  One presented by the U of Alabama was on the new APCS Principles course; the other two are a Java course and a hardware course by the U of West Virginia.  I took these for my own benefit and out of curiosity to see what a MOOC like.  I now know and will not do that again.  The APCSP course started interesting then did exactly what most CS courses turn into, a programming course.  Here is the language (Snap!) and basically how it works, now write a program in it.  Absolutely nothing on how to actually build a program (as opposed to typing code).  The course was supposed to be for all comers, teachers with little coding experience all the way to long time programming teachers.  I cannot see how a beginner would get the idea that designing the program is more important than typing code.  Sort of my pet peeve.   Snap! also had some issues.  Not a good thing for beginners.  The two by UWV were just confusing.  Not the material but the internet implementation.  This is not a good mode for education.  Better than nothing?  Yes, but barely.  I guess I am just an old time traditionalist.  I like to ask my instructors questions when the question comes to me.

Next week I am attending a two day Professional Learning Community at Work Institute.  The in-service starts at 6:30 in the morning.  Eek.  Done by 2 is the plus.  This PLC seems to be the latest catchy thing to add to a teacher’s load.  I have talked to a number of teachers that have been through the training, among them my wife, and they are not too impressed.  I have to keep a positive attitude or this could be a bad two days.  I do not do well at these “good idea” seminars as it is.  I have been doing a little internet research to find out what PLC is all about.  It looks like something the Chinese and Japanese have been doing for about 40 years or more.  Of course the Chinese and Japanese fund and support their education system a bit differently than we do in the US.

As usual I am looking forward to school starting.  It is the best job I have ever had.  I like kids, I like working with educated people, I like learning, and nobody is shooting at me or trying to blow me up.  All a plus.

Summer fun

July 13, 2014

It is July.  I am not supposed to work in July.  So far I have not been in school for 3 days in July.  (The wife and I took a short road trip in the convertible.)  New laptops to setup, servers to upgrade, strange network cables to track down and label, software to upgrade and so on.  Some of these cannot be done while school is in session or while the building is busy.  So I work in July.  That is actually OK with me.  If I took the month off I would blow money like nobody’s business.  Of course I do not work hard; after all I am not supposed to work in July.

Next week I have to move the school’s QuickBooks to a new server.  I know nothing about QB and if I make a booboo it would be bad.  Hopefully QB has English speaking support.  Should be fun.

It is interesting the breadth of knowledge a school IT guy should know for the job.  Networking, software of all types, server installation and maintenance, computer repair, wireless issues, domain controller and group policy stuff, purchasing of all the above, and so on.  Too bad I do not have that breadth of knowledge.  That is what I love about this job.  There is always something new to learn and figure out.

This job has changed my teaching style.  My students always complain that I do not show them how to do things; I make them learn it themselves, they have to read the book (OMG!), dig around on the internet and perhaps do some trial and error fiddling around.  In CS it seems it is more important to be able to learn quickly than it is to have a huge knowledge base.  The field is too big and changes too fast to not be able to learn quickly.  Teaching kids how to learn is a lot more work than lecture and regurgitate.   The average kid is not too crazy about it either; they will always take the easy way.

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.


Get every new post delivered to your Inbox.