Spring break is on the way.

April 3, 2014

No computer science or programming in this blog today.

The week after next is our spring break.  This year we have a full week off (9 days) where usually we get a 5 day weekend.  I and a friend are heading to Moab, Utah to mountain bike for 3 days straight.  Mountain biking is what I do in the summer.  I used to be a dirt biker all summer but an excessive number of broken body parts made me switch to mountain bikes.  I still break body parts, but now it is just at a slower speed.

If you are not familiar with Moab it is a mountain biking Mecca.  Moab has miles and miles of incredible trails, almost all of which are very technical or very fast or very scenic and usually all three.  Mistakes can lead to more broken body parts or at least some very conversational scars.  I have been going to Moab since the early ‘90s when the place was just starting to get known as a cool place to ride.  Back then you could find camping right at the trail heads and not see more than 4 or 5 tents.  Now you had better have a reservation.  It is interesting to see the transition from a backwater unknown to a Mecca.  Not good or bad, just interesting.  Missoula has miles and miles of mountain biking trails but they are presently under 2 feet of snow.  Hence Moab.

The friend I am going with is about half my age and is an absolute physical wonder.  What I can do with experience he more than makes up for in athletic ability and power.  I am hoping I do not kill myself trying to keep up with him.  It does not look good.

This trip we are camping.  When I went down with 3 friends last year we rented a condo with all the amenities.  This trip is a budget run.  Camping does have certain advantages.  Of course as I sit here thinking of advantages to list I can only come up with one, it is cheap.  That works.  A nice thing is the camp ground is in the middle of town and the brewery is in walking range.  With two beers before bed I hopefully will not notice the aches and pains and the fact I am sleeping in a sleeping bag on a pad.  Maybe three beers.

The week we are going is also Jeep Safari week.  There will be a thousand Jeeps and Jeep-like vehicles running all over the back roads.  I have been to Moab on Safari week before.  It is a blast.  It is a bit crowded but there is just something about watching a $50,000 Hummer flip upside down on an ugly climb.  With the Jeeps all over the place the mountain bikers to not have to worry about running out of water, tools, air for flat tires or beer.  Those Jeepers know how to travel.  When we get tired we can just sit on a rock and watch the Jeeps try to climb something almost impossible.  Lots of fun.

Sharing code. How much is too much?

April 3, 2014

I think my Python students are sharing a little too much.  There are some students that are definitely doing unique work but out of 18 I would say 12 are relying on others to “lead the way” so to speak.  It is actually a little difficult to tell because the programs are fairly short and there are only so many ways to code them.  Usually the dead giveaway is the programs that have a list of numbers or words involved have identical lists.  It is hard to accuse some of cheating because I know there are students that collaborate on their programs so they are going to end up with identical code.  It is the students that wait for a finished program then just cut and paste that I have issue with.  The obvious solution is to give each student a unique problem to code.  Coming up with 18 unique coding problems that have the same learning objective is going to be a little difficult.  Earlier this year I gave each kid a different Taylor series (sin, cos, tan, etc) to program in Small Basic.  The only input was the number of terms to compute.  I think I will try that again for Python.  The code is simple, pretty much just for loops, but figuring the logic is the goal.  The real fun comes when I have to grade 18 different programs.

Giving more quizzes is one solution but I really do not have a good method for the kids to turn in quizzes done on the computer.  One of the many things I have to solve to get this programming class to work the way I want it.  Doing hand written quizzes is a solution but that is just not real.  How picky do I get in grading?  If a colon is missing does that count as points off?  If the kid were typing the code that missing colon would be something the IDE would pick up.  I know how I code; type in what I think is the solution then go back and fix all my typos the IDE has caught.  I have read a couple of articles on how beginning programming classes should not use IDEs; it allows hacking in code with the IDE making the corrections.  I kind of liken this to math without calculators; it can be done and has advantages but they are out weighted by the disadvantages.  An obvious solution for the quiz grading is to have the kids program in pseudo code.  That has its own syntax issues but easier to handle than the code.

This is one of the fun things about teaching programming.  There are just so many ways of doing it.  With math at the end of each chapter plan on a test.  Usually a nice traditional test that the students can study for, the right answer is pretty much the same for the whole class, and, if pressed for time, there are the canned tests in the book’s teachers’ manual to run through the copy machine.  With programming the book chapters (if using a book) are really not the end of a block of concepts, programming is extremely cumulative, studying is a bit difficult because memorization is not a major factor and there is no such thing as a canned programming test.  Oh, then there is the really smart kid that looks on-line and finds a different strategy for solving a problem that uses syntax the teacher has never seen before.  (I have on of those.  For almost every assignment he turns in I learn something new about Python.  I know his work is original.)

I figure in a couple more years of teaching Python I will have built up a collection of problems I can hand out that will help reduce the excessive sharing.  Right about when I decide to retire.

Ceiling Staring 101

March 21, 2014

There is a professor at the university teaching the same Python course I am teaching here at the high school.  If the kids sign up they can get dual credit.  I have met him a couple of times and he knows Python really well.  I on the other hand can spell Python.  He is not using any text book so it makes it a little difficult to synchronize the courses in any way.   As a result I like to see what he is teaching and what assignments he is giving his college students so I can use some of them in my course.  The courses need to be somewhat similar to rate the dual-credit classification.  I also want his assignments so I can try to do them.  So far all are well within my capabilities as a beginning Pythonner but I hit one of his that was much more than just interesting.  It is/was a pain in the rear.  I got part of it working and decided the other part was not worth the effort.  Here is the problem.

The goal of this exercise is to write a script that asks the user to enter an integer, and then displays the names of all of the positive integers up to that number.


Please enter an integer: 3




The challenge is to write a script that will work for “large” numbers. 

I got up to the two digit part working and that was ugly enough.  Figuring the logic to the problem took me quite a while, not because it was particularly difficult but more because there were several possible approaches.  The university prof sent me his solution, which was much simpler that mine, but there was a step in his logic that was simply not obvious and, if not seen, can make the code really ugly.  This sort of points out an important lesson in coding, getting the correct algorithm or logic is usually more important than being an expert in a language.  The code solution for this problem was well within me and my students’ capabilities but that little error in how to solve the problem led to a major can of worms.

Typically when I hit a code solution that is a can of worms (Isn’t “can of worms” an official programming term?  If it isn’t, it should be.) I suspect one of three things: 1. I screwed up and need to start over on the problem, or 2. the problem really is a can of worms or, 3. I do not know enough of a language to solve the program in a nice elegant manner.  At my present knowledge level of Python I usually suspect 3 but in this case it was a 1.

When I hit a can of worms problem I sits and I stares (usually at the ceiling) in an attempt to see another way to solve the problem.  In this case I had a solution; I knew the solution would work so I kind of got hooked into making that solution work.  I did not stare at the ceiling long enough.  It is a lesson I need to impart to my students, not necessarily the ceiling staring part but the think before you type part.  They all want to read the problem (usually incorrectly) and start hammering on the keyboard immediately.  I also need to point out if it is ugly, think more or read more.  It all goes back to problem solving which is by far the hardest thing to teach to a 17 year old.

Today we are going to rip apart one of their assigned problems: Count the number of even digits in an integer.  Since there are several ways of approaching this problem and considering my own “can of worms” issue it would be a good time to discuss programming away from the computer, or Ceiling Staring 101.

A subtle opinion of 1-1 computers in the classroom

March 13, 2014

One of the small schools in central Montana wrote a short request for information on the state techie listserve about how to implement a 1-1 program in their high school.  Oh boy, the cat is out of the bag now.  When it comes to 1-1 I am very opinionated.  It is sort of my pet project and pet peeve.  I feel EVERY high school should be 1-1 and every junior high should be preparing students for a 1-1 program.  1-1 to me means the device is the student’s.  They own it or it is on long term loan.  It should be treated as the device they are going to use in college or on the job.  It goes home with them, it lives in their backpack and if they screw it up they should be shown how to fix it.  The device should be like a textbook, it goes to class every day and if the teacher decides to use it the kid pulls it out.

If the student cannot afford a laptop I loan them one.  Our check out policy is simple.  I put the student’s name on a spreadsheet and from there on it is theirs to do with as they will.  I make the student an administrator on the laptop; they can install whatever they want on it.  When the student is in school the internet is filtered.  Outside the school it is the parents’ responsibility.  When I get it back in the summer I reformat the whole thing and start from scratch.  If it is damaged beyond repair or lost they buy me a new one.  Has not happened yet.  What is interesting is how few laptops I loan out.

It is interesting, and somewhat depressing, how schools lag behind developments in the world.  The military is always fighting the last war; schools are always seem to be teaching material and using methods from fifty years ago (math is like 2000 years ago).  I can still remember high school (hard to believe considering how long ago it was).  The only major difference I can see in the curriculum is the kids do not spend the first two weeks of chemistry learning how to use a slide rule.  Yes, there are now computers in the classroom and the kids turn in assignments typed on a computer.  And yes some teachers have developed methodology that is computer based and have accepted the changes that are required to bring kids into the 21st century.  But in general schools are still in the 1960s.  The computer is treated by many teachers as an inconvenience in their classrooms.  Many teachers can barely use the thing and they have absolutely no inclination to learn.  Their teaching methods have worked for the last umpteen years and they see no reason to change.  Student teachers are taught how to make Power Point presentations, how to use Excel and how to use a Smartboard.  They are not taught how to manage student computers in their classroom or how to take advantage of them.

Computers change the classroom in some interesting ways.  One of our math teachers is what I consider very progressive technology-wise.  He was one of the first in the area to use a Smartboard extensively.  He has since stopped using it.  His students use it.  He teaches from the back of the classroom with a tablet while his students take notes, work at the front of the room or use software at their desks.  He is still not satisfied with how he has integrated the possibilities that student laptops offer his teaching.  He is in a constant search for improvements.  Of course his move to the back of the room has solved another issue with student laptops; he can see what they are actually doing on their laptops.  There is no denying it, the laptops is a huge distracter for the student.  If the lecture is boring, hit YouTube.  Traditional front of the room teaching does not work when the kids have laptops.  The teacher should be able to move around the room freely, not just to help individuals, but to see what is actually on the computer screen.  Stuffing 25 kids in a small classroom makes this impractical.  Rows of desks are not conducive to teacher mobility.

To me teaching is all about looking for ways to improve or change your methodology to keep up with what is going on in the world.  This does not mean jumping on the latest band wagon, but looking at trends and actually seeing ways of integrating them into the classroom.  I do not see 1-1 as a trend for the future, it should have already have happened at least five years ago.  Walk on any college campus or into any office/job to see why.

Schools are starting realize the importance of 1-1 for the kids but I do not think they realize 1-1 is not just getting a device into a kids hands and turning them loose.  1-1 has huge issues: teacher training, student attitudes, classroom management, classroom layout, funding, and simple things like electrical outlets in older school buildings.  These are all trivial compared to designing a modern computer conscious curriculum.  If we get the device into the kids’ hands will the curriculum evolve?  Or is it necessary to build the curriculum first?  My opinion is if we do not get the devices into the kids hands there will be no motivation to evolve the curriculum.  The status quo is just so comfortable to too many.

1-1 should have happened in the past, we need to bring it into the present so the kids have it for the future.



How hard is programming?

March 9, 2014

In a comment to Alfred Thompson’s blog post on “Any monkey can code” I talked briefly about a simple coding problem “given a list of integers find the sum of the evens (or the odds or the integers divisible by 3 or whatever).  The Python book I am using has a lot of problems like this scattered through it.  How difficult are these problems?  Anyone with experience in programming will think the problem is pretty trivial.  Depending on the language it is 6 lines of code.  Here is my solution in Python.  (There may be a better solution but this is my solution so all you programming brain surgeons out there, lighten up.)

  1. ints = (1,2,3,4,5,6,7)
  2. n = 0
  3. for i in ints:
  4.     if i % 2 == 0:
  5.         n = n + i
  6. print(n)

I took me maybe 5 minutes to come up with this solution, mostly because I am a slow typist.  Now let’s look at what is involved in this little program and how a kid would have problems coming up with a solution.

There are a lot of simple concepts in this little program that all have to work together to get a result.  Starting at line 1 here I am making a single variable equal to a list with bunch of numbers in it.  Kids know what a variable is; they have been dealing with them in math for years.  That still does not mean they have a firm grasp of the idea, and this variable name is more than one character, not allowable in the math world they know.  Programming teachers keep saying use variables that make sense, but variables with more than one letter do not make sense in the math and math is their only close framework at the moment.  There is no previous framework for them to put this weird variable into.  This idea is not a big deal to most kids but in typical teaching fashion we show it one minute and tell them to use it the next.  There are also the little confusers like parentheses or square brackets and reserved words they may not know that they try to use for a variable name.  (Trying to use “sum” was in my learning curve).  So even line 1 is not as simple as it looks.

Now line 2.  “Why do we need to do that?”  “Because we need to define the variable before we use it.”   “How come we do not have to define the ‘i’?”  “Because it is the index variable in the ‘for’ loop and is self defining.”  “Yah, right, whatever you say.”  I can convince the kids of this one fairly easy.

Line 3 is part of the standard programming curriculum.  A nice simple “for” loop with two variables, one of which is a list of numbers and not a number at all, and the other keeps changing.  All with a colon on the end that does some magic.  Simple syntax memorization.  Now I just have to convince the kids this is the right programming doohickey to use.  My students are in at least their second semester of programming so they know the syntax but they still have issues with strategy.  Most can see the need to use a “for” loop.  Since this is the first time they have used lists in “for” loops (Python thing) it does require learning a new capability of the “for“ loop.

Lines 4 and 5 are the money lines.  These are the logic lines that seem to stump most of the kids.  The “if” part is well understood.  From there things can get a little fuzzy for them.  Determining if an integer is even or odd or divisible by something by looking at the remainder seems totally foreign to the kids.  Now that I think about it math curriculum has done some evolving that has eliminated the remainder from the curriculum.  In pre-calculator years the remainder was used a lot.  Long division and fractional answers have sort of gone the way of the slide rule and with it the use of remainders.  Remainders were useful in finding factors and roots of polynomials but those techniques were replaced by the graphing calculator and algebraic computation software.  The kids are just not used to using them.  Now let’s throw in the new operator, mod (or modulus if you prefer), that the kids have no experience with.  They have to remember the % sign means something other than percent.  Then pile it on with a double equal Boolean operator which may also be a new symbol.  That simple “if” statement the kids thought they knew has become a monster.

Line 5 makes absolutely no sense, at least if you have been taking math for the last umpteen years.  There is no way that n can equal n plus some non-zero number.  “Wait, what do you mean that is not an equal sign!  Is too, just look at it!”  An equal sign is an equal sign and the kids know an equal sign.  That stupid equal sign is the bane of programming teachers.  Personally I think this is one of the really big mistakes in programming languages.  That equal sign is confusing and needs to be replaced by some kind of assignment symbol.  I know there are languages that use a <= symbol which is a bit better.

The kids can get line 6 on their own (usually).  They know there has to be an output somewhere.  With Python’s indent format they sometimes get confused what it should be lined up with but they will get it on the second try if necessary.

So how easy is this little program?  From the beginning programmers’ perspective it is anything but easy.  Unfamiliar math, contradictory math caused by ambiguous symbols, new symbols and logic that is vague due to lack of background.  No wonder the kids struggle and some people think programming is more difficult than brain surgery.

Teaching programming is not getting easier.

March 6, 2014

Teaching programming is not getting easier.  When I offered the Python course I had a book in mind.  I figured that would make the course much easier to teach.  Two weeks into the course I switched books for something a bit better written and a bit more comprehensive.  This is actually the first time I have followed a book closely when teaching programming.  I am using the book simply because my Python experience is nil.  I like the book, it does want I think a book should do, gives enough information to learn from but not so much that it holds your hand and does the problem solving for you.  So I like the book.  That solves absolutely nothing.  The kids won’t read it.  If I give the kids an easy (to me at least) problem like “find the sum of the odd integers in this list” I still get the look from at least half the class that I might as well of asked them to build an anti-gravity engine for a flying car.  Teaching syntax is easy.  The kids write the syntax down in their notes or save a code snippet and they have the idea what it does.  Getting from the given exercise to the point where they type relevant code is a whole different story.  I cannot find a programming book that teaches that skill.

Experience has taught me that the average person does not want to think, be it a high school kid or college kid or soldier or your average adult.  Thinking is work and can easily result in failure and embarrassment.  Thinking is hard work.  That step between the given problem and writing relevant code requires thinking, and sometimes lots of it.  This is the point where teachers get the inevitable “but this is too hard” whine thirty seconds after assigning the problem and well before the kid has really tried the problem.

I used to be a math teacher and math has somewhat the same thinking requirements and the same issues.  The big difference is the kids would have 10 home work problems a night, 8 of which were very easy to do so they would do those and ignore the hard ones.  The result would be an 80%.  With math there are a lot of problems with incremental steps of difficulty for almost any new concept.  Those students that can do the 70 or 80% in math survive just fine.  In math I usually have several different teaching strategies for a concept.  I have multiple “gimmicks” for devolving problems to make them easier to solve.  I have other math teachers to ask for new approaches and a whole lot of cool stuff on the internet to use as resources.   Programming on the other hand has diddly.

In programming there are 4 homework problems over the period of a week, none of which are “easy”, and all require some problem solving and thinking.  There is somewhat of an incremental progression to the problems but that step from written problem to code is always a big one.  It is somewhat similar to solving word problems in math, every student’s favorite task.  For programming there are no colleagues available that have as much or more experience to pull teaching ideas from, if there are any other programming teachers at all.  There are no pedagogical resources anywhere online for teaching strategies.  After watching a number (3) of programming teachers teach it seems the teaching strategy is pretty consistent; show and tell and hope.

A kid can do pretty well in high school just with an average memory.  In math memorization of techniques can go a long way.  In programming memorization is a trivial part of the skill set needed to succeed.   The primary skills needed are problem solving, strategizing, devolving problems into sub-tasks, interpreting, and general full bore head scratching.  Those are an absolute bugger to teach, especially to kids that are not all that interested in learning those difficult skills.  I will go out on a limb here and claim the difference from the good students (top 10%) and the rest is the willingness and desire to improve on that list of skills.  I will go way out there and claim that the difference between a great teacher and a good teacher is a great teacher can get a good part of that lower 90% to want to improve that thinking related skill set.  I strive to be a great teacher but I have one little character flaw holding me back – I like programming for the challenge.  This does not equate for about 90% of my students.  So I am back to teaching programming is not getting easier.

Snow days

March 3, 2014

Friday was a snow day.  Monday is going to be a snow day.  In Montana it takes a lot of snow to make one snow day, much less two.  It seems the city has spent the overtime street cleaning budget for the year already so the plows are only working in the daytime.  We are supposed to get 4 to 8 more inches tonight.  The main streets are drivable but the residential streets are getting a bit impassable.  Two-wheel drive cars are restricted to main streets only, if they can get there.

I have caught up with my grading, I have reviewed my lecture notes, I have canceled my University test Friday and then Monday (the course is mostly on-line so no biggie there), so I may have to go snowboarding tomorrow.  That is if I can get there.  Four-wheel drive with studded snow tires, I am good unless it gets real ugly.  It was real ugly this weekend, ten below and windy on the hill.  Not my cup of tea.  I do fresh power and trees, not stupid cold.  It is supposed to be warmer tomorrow, in the 20’s.  Heat wave.  It is supposed to be rain/snow mix starting Wednesday.  Now that is going to make the city real interesting.

I know a number of teachers will be in full panic mode.  They seem to have every day scheduled exactly and if they lose one they have no flexibility in their schedule.  I am at least one week ahead in my really fuzzy schedule so I am golden.  I have never been good at building a daily schedule for classes.  I like to keep things flexible so I can pick up on tangents that interest the students.  This worked great when I was teaching math.  If they were interested in anything we were off on that trail.  In the programming class it is not needed so much.  I leave lots of room in that class.  Some days are just pure work days.  Our classes are an hour and a half long and I cannot lecture that long if I wanted to.  Anybody that lectures that long needs a sock stuffed in their mouth after an hour or so.  Nobody is that good, especially with high school kids (although we have some teachers that try).  The fact I have never taught this class sort of restricts the ability to make a concrete schedule any way.

The news says it is raining on the highway to the ski area.  That means really bad ice.  The ski area is 100 miles away and is usually less than a two hour drive.  Maybe I won’t be snowboarding tomorrow.

School tech, my opinions of what does and what does not work

February 24, 2014

In my contemplation of the Tech Plan I considered from my experience what works and what does not.  Here is a quick look from one school’s experience with popular school tech toys.  Remember, these are the opinions shaped by a TIGHT (squeak, squeak) budget.

  1. iPads.  The elementary teachers that have them like them.  Those that do not have them want them.  The high school teacher that used them thought they were a bit of a pain and they could only be forced to do what she wanted.  From the management side (my side) they are a headache.  The single account thing is a deal killer at the higher grades.  Kids are able to enter their own iTunes accounts and download to a school iPad.  Apple Configurator has a tendency to crash, a lot.  The Mobile Device Managers out there are useful but the kids can delete or beat the proxy method easily.  Apple likes to make iPad for schools sound like the greatest thing since the invention of chalk.  It isn’t.  With a lot of training and a lot of prep our lower grade teachers are getting good results.  The apps are the key.  If there are particular apps that are the only thing that will do what the teacher wants, the iPad is the way to go.  The little kids are not at the stage where they want to jail-break the thing.  The boundary seems to be about the sixth grade.  Below – good, above – not so good.  For the middle school and the high school a laptop is a much better bang for the buck.
  2. Laptops.  By far the best bang for the buck when placed in a students’ hands, be it PC or Mac.  A laptop beats an iPad in every case where an Apple app is not the focus.  Maybe I should say this is where output from students is required.  For little kids where all they are doing is using the device and not producing anything (papers or what not) the iPad is nice due to simplicity and size.  For producing the iPad is not in the same ball park as a laptop.  But then it was never intended to be.  Even the kids are learning this.  At the middle and high school the kids with iPads are borrowing laptops for school work and leaving the iPad for games.
  3. Smartboards or Smart projectors.  Training, it seems to be all in the training.  Those teachers with good training (or lots of after school hours to commit to self training) really like the boards.  Those with a shortage of training use the boards to a less extent if at all.  We have both Smartboards and Smart projectors.  The projectors are the way to go.  No special surface, does not reduce wall space, can project as large as you want or as large as you can find a surface, much cheaper than a large Smartboard and the ultra-short throw projector keeps the teacher from going blind.  There are other interactive board devices out there that work pretty well but for the combination of projector and software I think Smart has them beat.
  4. Ebeam Edge interactive device.  If the projector is already hanging for the ceiling and you just need a device the Ebeam is pretty hard to beat.  Simple to use, just stick on a white board with sticky putty, orient it and you are ready.
  5. Boxlight OutWrite2 1.4 interactive device.  If the projector is already hanging for the ceiling and you just need a device the OutWrite is pretty slick.  I have only done a 2 week demo so I do not know what it is like long term.  The pens that come with it are aluminum, not plastic.  Great for clumsy teachers.  The drawback is the teacher’s body can get in the way of the camera which sees the pen.  Not a big problem but still something to think about.
  6. Clicker response devices.  We have a set that does not get used a lot.  I think this is a device that would appeal to some teachers’ style and they would wear a set out.  Other teachers would not even see the need.  There are free web based apps that will do basically the same task if needed.
  7. Boxes to hold iPads (or laptops).  $1000 for a plastic box with a $20 USB hub and a $5 lock.  If the school has a wood shop…  We have two of these boxes.  It was grant money with a very restricted purpose so we had no choice.  What a waste of money.  If something with wheels is needed get a shopping basket.  If they need to be locked up, use a closet.  Schools seem to think they need these wheeled mega-buck systems for some reason.  Yes, they are convenient but that is one expensive convenience.  For the price of these conveniences two or three more devices can be placed in student’s hands.  Hope I was not to subtle in my opinion on these.
  8. Standard projectors.  Every room should have some kind of projection device.  Preferably short throw.
  9. Android tablets.  Better than an iPad if the apps needed are in the store.  Cheaper, multiple logins (at least on the Google Nexus).  We should have gone this way for the little kids.  Live and learn.
  10. A $400 convertible with Windows 8 Pro that can survive a student’s backpack.  My dream device.  We do not have any because they do not exist but I can hope can’t I?  I can get fairly nice laptops for that price but the convertible feature always takes the price out of my range.  One of my teachers pointed out an excellent reason for convertibles which I had never considered.  She wanted the device to sit flat on the desk so she could see that the class was on task and see faces.  Laptops with the screen up sort of separates people and hides what the kids are actually doing.  Oh, a minor addition would be software to run a virtual iPad so I have access to all the cool apps.  Wouldn’t Apple love that one!

In all the cases above the opinions are formed by my experience at this one school.  I have talked to other school techs that are having better experience with the iPads but many have the same issues I do.  The schools that are having good luck with the iPads seem to be schools that have a person whose job is supervising iPads.  I did not mention Chromebooks because I do not have any.  The requirement for internet seems to reduce their versatility and I can buy a laptop PC for about the same price.  Schools that I know that are using them are in love with them.  The manageability is apparently a big plus for the techs.

Tomorrow some company is going to come out with the next must have gadget for schools.  It is always interesting that these much have gadgets never seem to be accompanied with educational research that says anything conclusive.  Maybe it is because by the time the research could be done there is a new gadget to sell to schools?  Whatever, I still love them.

Planning for the future is a pain

February 23, 2014

As the school’s Technology Coordinator I am sort of in charge of the school’s Technology Strategy Plan.  This is the document that the State requires that outlines the school’s technology plan for the future and how we plan to implement it.  Typically the plan is a three year forecast of what we want to do in the way of technology.  Once a year we supposedly go through this and update it.  Over the last few years we have been getting an annual grant that has made the Plan way out of date.  The Plan had us getting 1 or 2 Smartboards a year.  This year we got 7.  Same with laptops and iPads.  The Plan is defunct.  When we had little in the way of technology the plan was fairly easy to build.  So many Smartboards per year, so many iPads or laptops for classrooms per year and so on.  Now we are pretty much saturated.  Now what do we plan for?  Replacements for stuff that is going to wear out?  I am hoping the laptops are going to last five years.  Replacement Smartboards?  Those seem to last about ten years.  Plan for technology that we do not know exists yet?  That one is a bit tricky.  Last night I was sitting on my couch thinking of where we want the kids and the teachers to be tech-wise in 3 years that they are not at now.  I hit a wall.

Most of the kids in the high school have a laptop or iPad.  If they do not I have loaners.  We are close to 1-1 and are presently looking at making it a policy that a kid has to have a device available if a teacher wants them to use it in class.  Pretty much like bringing their book to class, they may not open it but they do have to have it available.  The high school wireless system is up to the projected capacity.  Can’t do much planning there.

As far as classroom tech we are reaching saturation.  Teachers that want or can use Smartboards have them.  All teachers have computers although some need to be replaced due to age.  I do need a replacement plan so there is something that can go in the tech plan.

Those teachers that want a classroom set of devices (iPads and laptops) will have them after this year.

The biggest thing I can see that needs help is curriculum.  That is not something that goes on the Plan but is the most influential and the most influenced by the influx of technology in a classroom.  Thank the powers to be that is not my can of worms.

Can I (or should I) plan for Google Glass?  Might be fun but probably not educationally or economically feasible.  What else is out there I should be planning for?

Planning for technology is always an interesting puzzle.  What works and what does not work to actually improve teaching and learning?  My school is a very low budget private school.  We try to keep our tuition low enough so the average family can afford to send their kids to our school.  As a result I have to be very confident that the technology we buy will generate a big bang for the buck and also have good longevity.  As the school tech expert I feel I should be able to help make these decisions.  I am just stuck in the middle of the puzzle.

Java, here I come

February 21, 2014

I have a tendency to get excited about opportunities for kids.  This year we were offered the opportunity to offer a dual-credit programming course to the kids.  It is worth 3 General Ed college credits.  The course is using Python.  No big deal other than I have to learn Python faster than the kids can learn Python.  Again, no big deal.  So, in my infinite wisdom I started thinking (always a dangerous thing), what would it take to offer a course that will get the kids CS college credits?  After a little email work to the people I know at the University all it would take is to offer a higher level Java course (CSCI 135) using the University syllabus and textbook.  There is the little detail I have not worked with Java in 20 years and that experience gave me a very bad taste for it.  Not the language’s fault, the guy teaching the course was probably a good programmer but he was a terrible teacher.  So this year I am learning Python.  For next year, if this course flies, I have to learn Java and I have to learn to spell nifty words like “polymorphism”.  (I just have to keep in my mind “it is for the kids, it is for the kids”.)  Luckily there is a diamond in the mud.  The guy that is presently teaching the University’s CSCI 135 is a friend who is will to guide me through the trial and tribulations of Java and through understanding all the wiz bang words involved with a college level CS programming course.  Another big plus is I can get the previous edition of the textbook for about $3 a pop.

Running in the background of this whole thing is the desire to modernize the programming part of our CS curriculum.  If this course can be set up it will give me four solid semester long programming courses.  Our present Programming 1 of Scratch and Small Basic, Prog II a dual credit Python course, Prog III a dual credit Java course and Prog IV an app/game writing course using Corona.  I have taught the Corona course as a Prog II/III before and it was difficult.  The knowledge to write a decent app, even a simple game, requires more than knowing a language.  The kids that wanted to dedicate the time could do something with it but the average kid struggled.

As a private school we are in direct competition with the public school for students.  Offering two dual-credit programming courses is a big arrow in our quiver.  I doubt if students will be lining up at the door to get in because of these but if we attract one or two new kids it is worth it.

This is going to be a real busy summer.


Get every new post delivered to your Inbox.