Lions and tigers and bears, oh my. OK, just bears.

October 8, 2018

A friend and I went hiking Sunday.  I usually do a good sized hike on the weekend.  This was a 10 mike out and back to Illinois Peak in the northern Bitterroots.  We were in maybe two inches of snow near the top.  Weather was great, mid 30’s, maybe low 40’s, not too hot. not too cold.  Did not see any wildlife but lots of tracks.  The usual; grouse, mice, deer, coyote and this.  Probably a really big black bear.  Now I have seen a lot of bear prints where I hike and have had several face-to-face encounters with black bears and one with a grizzly.  No big deal, everybody just goes on their peaceful way.  This one kind of freaked me out.  When we came on the tracks they were fresh, like maybe minutes fresh, snow was still falling into the print fresh.  But no bear.  Ever get that feeling you are being watched?  It added a whole new dimension to that stretch of the trail.  My friend had bear spray, I did not.  I will ensure that does not happen again.


Python and Pygame and PyCharm, oh my!

September 30, 2018

I am teaching Python again this year.  Nothing different there. What is different I have 3 of 9 Python students with previous Python experience.  I cannot do my usual course with them so I thought I would get clever and throw Pygame at them. Now I have tried Pygame previously with mixed results.  It is not Pygame that I had issues with, it is getting Pygame to work at all. Since I am not the sharpest pencil in the box I figured I would try it again.  Opps. Two installs went along with no issues. Now this is on student owned laptops, not identical school lap computers. The third laptop has issues. Pygame runs in the console so it should run in the editor right?  Nope. We use PyCharm as the editor. I used to use PyScripter but it was not being updated and would not work with newer versions of Python. Running Pygame was giving a very ambiguous error that Google was no help with.  I uninstall and reinstall everything. Versions are correct, Pygame is installed and working, Python is working, PyCharm is working but mixing the three is not working. Hmmmm. The only variable I have to work with now is the editor.  I try PyScripter. Everything works. What the heck? What is it about the different computers that is different? Beyond me. That student is going to use PyScripter.

Now I know I could use IDLE and maybe bypass all these editor issues but what fun would that be?  Maybe it is time to have less fun but the trouble is I like the autofill and formatting features the editors give me.  Spoiled.

It is fun things like this that makes even a simple programming class a royal pain.  Time lost by the student, time lost by me troubleshooting the issue, added gray hair wondering what the heck, and of course the humph factor.  (The humpf factor is me being stubborn and not letting the issue go. I what to know why it is doing weird stuff. More time lost.) Handling issues like this does make me laugh a bit.  I think of that poor business teacher that has been informed by the administration they are teaching Python. They are not given a second prep period. Their experience is nil. Their PD is nil.  Their free time after school has just gone to nil. Ouch.

Reading blogs leads to more work

September 27, 2018

So I read Alfred Thompson’s blog on What makes a great high school CS program.  Then on to Mike Zamansky’s continuation of that blog, What CS should we teach in high school.  I have been through this thought process before so no great deal here.  OK, it is a great deal since the underlying questions are important but I have considered these questions before and years ago decided there is no correct answer.  I teach what I teach because of resources: my skill level, the hardware and software available and the students I get in the seats. Then I read Gas station without pumps’ blog on learning outcomes.  Now that I have never really defined.  It has always just been a warm and fuzzy mental list of goals.  Now I am thinking. (Bad, very bad. Not one of my strengths.) I am thinking the first two blog questions are extremely dependent on the decision on learning outcomes.  And if the learning outcomes are laid out nicely the “What” and “What” of the Alfred and Mike blog questions becomes much easier to figure out. I really like how Gas’ outcomes are observable skills and not some conceptual thing that fits in that “warm and fuzzy” category that I like so much.  Now I do have learning outcomes for my courses. Admittedly they are not written down or really well defined. They are things like “can problem solve”, “can locate documentation needed to learn a language” and so on. Not real specific and sometimes a bit broad.

I can tell I have been in the classroom teaching groove a bit too long.  I had not really thought about the idea of learning outcomes as a concrete list in a long time nor have I thought if I am achieving any of my learning outcome with the courses I am teaching or within the courses.  I need to nail down some solid learning outcomes then start looking at my curriculum. Am I actually achieving what I want to do with what I am doing? I am just not sure how far I want to drill down on the outcomes.  I could really care less if students know how to write a program to count all the “s” letters in a phrase from a file. I do want the student to be able to find the resources to learn how to write a program that will find all the “s” letters in that file.  (At one time I was big on finding those s’s. But then I got confused with the “what language” question.)

Now I need a strategy on how to build learning outcomes for my CS courses then my CS curriculum.  Something to do in my idle moments.

Office Space: I need a red stapler

September 5, 2018

I have never had an office in my home for school work.  I have never even had a dedicated desk or table location for grading or whatever.  I do most of that sitting on the couch.  I have a small laptop perched on the arm of the couch that I can do most of anything I need to do.  Anything serious I do at school during prep times.  This scheme has worked for many years.  It is not going to work this year.  Typically, I have three preps; Stats, Alg 2 and a programming class.  The rest of the time is spent with IT work which, if things are running correctly, leaves me lots of time for class prep while at school.  This year I have six preps.  In fact one of the preps, one of the Python classes, I had to split into two separate groups because I have three students in the class are familiar with Python so I have to dream up something other than the usual Intro to Python material.  Not a problem other than it takes time.  I now have to do some serious work at home.  I am redesigning the Stats course so I have to do some writing and planning there.  The Game Making with Unity class is going to be interesting because the text reference I have used for several years no longer matches the version of Unity I am using this year.  I have to work through the book and note the differences or the kids will get majorly lost.  For my regular Python class I typically have students that have some programming background.  This class I have three with no background out of six.  This is a dual-credit course so they may be over their head.  I have one student doing an intro to programming independent study the same time I am teaching the Stats class.  She is turning out to be needier than I was expecting.  I am hoping she will come in during lunch.  Even though it is independent study I do have a lot of planning to set up for her.  If I do not do at home what I used to use my prep periods for the IT side of the job is going to be ugly.  So home office it is.  The wife is not too tickled with the idea since I set up in the living room with a table, an office chair and a dual-monitor setup.  Not exactly living room furniture but it will have to do.

I think this is going to be one of the busiest years I have had in a long time.  I am looking forward to it, should be a challenge and fun.

Aristotle and computer labs

August 16, 2018

I happened to stumble on this website.  It was not the website itself I was interested in but the picture of the computer lab.  It looks like most high school labs. It also looks like a very expensive lab. Nice computers, large monitors, nice big interactive board and a good sized room with space to move.  Is it just me or is this a terrible lab layout? When the teacher is at the front of the room, which looks like the intended location considering that big interactive board, does the teacher have a clue what the kids are doing?  Not just if some kid has lost focus but how can the teacher tell who is struggling? The teacher needs to be in the back of the room or overlooking the monitors for a couple reasons.

  1. See what kids doing on their computers – good or bad.
  2. When the teacher needs to present on the board, the kids have to turn away from their screen and focus on the teacher.  (This is huge.)

Another thing is monitors on top of computers.  To see the teacher, either in the front or back of the room, the kids are going to be trying to find a lane to look down.  Also the teacher cannot see faces, a big thing for me. If I cannot see faces I have no idea who has a clue and who does not.

If this were my room I would try to turn everything by 90 degrees.  Half the lab would face left, half would face right, with an aisle between.  Now to see the front or back of the room the kids would only have to turn 90 degrees.  While the kids were working I could pace the aisle and see every computer screen. Give me a wireless keyboard and mouse and I would be set.

Of course there are some realities involved but seems many teachers are focused on the same seating plan that has been used since Aristotle.  Oh, that reminds me, I need to find a laser pointer. I want to be able to point at something on the board without being at the board. Hot dang!  Laser point in one hand, Gyration mouse in the other. I will be a techie geeky teaching god! Now if I can just find a mini-keyboard/touchpad combo with a laser pointer built in.  Ohhh, ahhh.

Did you notice the slide rule at the base of the right whiteboard?  There is another hanging from the ceiling in one of the other pictures.  Cool. (Geek!!)

The End of an Era (hopefully).

August 15, 2018

I am doing something new tech-wise in my senior Stats class, I am going to assume the kids have a laptop.  If they do not have one they are going to have to get one, even if it is a loaner from the school. I am also going to stop using the TI calculator as the primary device for the Stats class.  I am not going to teach with the TI or show the kids how to use it. “Why” you may ask? Because to the best of my knowledge the TI is not used by anyone actually using statistics. I am not a statistician and I do not know any but I have a suspicion that I am not making a giant deductive leap here.  So I am going with Google Sheets. Why not Microsoft Excel? Google Sheets is free and all the kids have access to it. Google Sheels has evolved a long way in the last few years. It actually better than Excel for doing charts.

I have used the TI-84 as the device of choice in this class for years. The book I use has the “how to” for the TI-84 and Excel.  The TI has all the functions are right there and output is simple to understand. There is no denying it, it is a great teaching tool.  But stats should be more than just a classroom event. If the students are going to be able to use and understand real world stats they have to use real world tools, i.e. spreadsheets.  I know there is software out there that is designed for managing data (the book uses MiniTab) but there is an availability and ease of use issue. Google Sheets is available and Google will have a lot on how to use it.  Since I am more used to Excel we are going to need that help.

This may get a bit tricky.  Most of the problems in the book give only the statistics, not the data.  If finding something like the confidence interval the TI works just fine with inputting the statistics.  The spreadsheet not so much. I may have to generate or find a bunch of simple data sets to use in class.  Something to ponder.

I think the most entertaining aspect of this change is going to be the student reaction.  For some strange reason high school students seem to hate spreadsheets. “I do not know how and do not want to learn how” is a regular thread.  Personally I am too lazy to not use spreadsheets. When I started teaching in ‘82 it took me almost no time to figure out having my grades in VisiCalc was much easier than a paper gradebook.  I love them. Heck, at one time I could actually build VBA programs for Excel. Now that was cool (and just a bit geeky).

I have been lock into using TIs since they first became available.  Greatest thing since the slide rule. Weaning me off of them is not going to be trivial.  I am comfortable with the TI, I know most of its quirks and I can make it do most of what I want to do.  But it is time to grow up and move on.

High-tech classrooms vs reallity

August 14, 2018

Last Thursday I did a presentation at a local tech conference.  I do a section called “CS on the Cheap”. I just do a show and tell on free hardware that is available in Montana and free software to build a multi-year curriculum.  The conference was in the brand new Missoula College building. The building was finished late last year and is supposed to be the greatest thing since sliced bread for tech in the classroom.  It was obvious a tech knowledgeable teacher was not involved in designing these rooms. A high dollar podium stuffed in the left front corner, drop down screen, a projector hanging from the ceiling, tables in rows facing the front of the room and the front wall painted in whiteboard paint.  I took a peak in the other rooms. All the same, lecture rooms, not teaching rooms. I was disappointed. Come on folks, we have wireless so why nail down the teacher or lecturer to the corner of the room or to the front of the room? It is not like it is expensive to design a system with a mobile device so the teacher can be anywhere they want in the room, especially in a room that has the space to wander.  This room had the same design as a room I taught in in the ‘90s and so much could have been done inexpensively to bring the room into the 21st century. Well, OK, the whiteboard paint was cool, at least until I looked up the price to paint a 10’X10’ area. We use white shower board at about $20 a 4’X8’ sheet.

Over the years my idea of the ideal classroom has been evolving.  At one time I wanted a room with whiteboard on three walls and windows on the fourth.  (OK, at the time it was blackboard.) Then it was lots of whiteboard with a projector projecting on the board.  Then I was on the Smartboard wagon. I wanted student desks that move easily, a lightweight tablet with a pen that connects to the projector.  I wanted a method so the kids can easily connect their laptops/computers to the projector (going to need a easily changed key for this) so the class can see their work.  (Here is a chuckle for the day. When the local university built a nifty new wing on the Education building they built a super fancy tech classroom with all the whistles and bells; projectors to all four walls, video conference cameras that could see the whole room and a very expensive podium.  The projectors could be linked to by any laptop. These projectors were cutting edge and this was one of the first for a classroom application. There was one minor technical issue, no password key on the projectors. People walking by outside the building could link into the projectors! You can imagine the entertainment value here.  The manufacturer quickly sent a firmware update.) Now I am back to just the whiteboard on three walls and projector again.

I have become very cool in regards to interactive boards.  It pins the teacher to one location in the room. I like to project on the whiteboard so if I want to I can draw on the projection but I am not stuck there if I want to wander.  I am also leaning strongly to large (65”) flat screens TVs for those teachers that want a lot of YouTube-like action. We bought three interactive TV devices for about $2800 each.  For the amount of time the teacher actually touches the screen a $700 TV makes much more sense and maybe something like a Gyration Air Mouse ($50-$100) for the interactive part.  The visual difference between a projector and a TV is significant.  The TV may be a smaller projection area but the resolution more than makes up for it.

Of course in the real world of classrooms there are some restrictions.  In my school the rooms are small and are filled with desks from wall to wall.  The ONLY place the teacher has to walk except very narrow aisles is the front of the room.  The room I taught Stats in last year was long and narrow with the narrow end being the whiteboard.  The other three walls are either windows or computers. With 22 students in the room getting from the front to the back usually involved moving kids out of the way so I can get by.  The room was wide enough for 4 desks very close together which puts the last row of kids somewhere beyond center field in the cheap seats. My desire to be mobile around the room was not feasible.  That was last year. This year I have more students and a smaller room. Cool. At least it is wide and shallow. I can actually see the back row. My fancy tech plans are still out the window. So I have a whiteboard, a projector that almost projects on the whiteboard and a computer.  I am reliving the ‘90s. I hate to admit it but considering the room limitations I am operating with it is the best I can do. It is amazing how room size can actually affect how I teach.

My Algebra 2 and programming classes are in a smaller room.  Picture the size of a large bedroom. Max occupancy is about 12 (no, seriously, 12) and they better be close friends.  A room this small has its own tech theme. I do not need to wander because everybody is right there, sometimes a bit too “right there”.  I have to use a 10 year old short throw projector in the room because the room is so small. I tried to use it to teach Python a few years ago.  Text was too fuzzy. No “sage on the stage” in this room. The kids are sitting on the stage with you. Except for the fact the room has no ventilation I really like this room.  The small close format allows more of a discussion format for classes. Nobody can hide in the back of the room.

Through the years that original desire for a fancy high tech room has mellowed.  To teach well I actually need less that I originally wanted. All I really need is a room large enough to walk around in (not happening but I can alway dream), a projector on a whiteboard (I still want to be able to mark on a projection) and a wireless keyboard/mouse.  It would be nice to have the students be able to project from their device but there are workarounds for that.

There is no two ways about it, other than budget (I am ignoring that for now) my biggest limitation for bring my classrooms into the 21st century tech-wise is space.  But when it really comes down to it all that is really needed is a teacher and some students. Everything else is gravy.

Let the madness begin.

August 7, 2018

I am looking over my classes for this coming year.  I have a load. I am hoping I have not bit off more than I can chew.  Due to the IT work my max load is usually 3 or 4 classes. Six is going to be interesting.  Six is a full load at my school. Hopefully there are no regular IT issues.

  1. Senior Stats.  I have taught it for years so I have the material and plan down pat.  No, wait. This year I am taking the one course I can do from the textbook and in my sleep and changing it.  Bummer. Most stats courses do a chapter on the mean, then another on standard deviation and so on, pulling up a data set to use to practice with.  I am going to try to go backwards. Here is a data set. Lots of numbers. What would be nice to know about these numbers to make all these numbers understandable?  No book, no concrete lesson sequence, just students coming up with ideas (hopefully). From there we start developing the statistics. I have never done this so it will be on the fly.  I will see what happens. Of course if it dies I have the original course to go back to. How boring.
  2. Intro to Game Programming.  Basically a Unity course with lots of odds and ends; Blender, GameMaker, animation, and whatever tickles our fancy.  I have done it before so no big deal. It is not really a game making course, it is more of a game software course.
  3. Computer Programming with Python.  Been there, done that. Just have fun with Python.  I use “How to Think Like a Computer Scientist: Learning with Python 3” by Wentworth, et. al.  I do teach more than syntax. The kids have to install and troubleshoot the install for both Python and an editor.  Not always a big deal but usually at least one student has something funky happen. Especially since the class is BYOD.  I stress time away from the computer to plan and scheme on how to build the program. The kids hate it until they start at the computer.  Then they go “Ah ha!” Planning actually helps. Amazing.
  4. Intro to Computer Science 100.  A survey course of several languages.  A dual-credit course. I have to do this one independent study since the student that wants to do the course only has time while I am teaching the Stats course.  I did this independent study last year. Did not work well. I was not select enough with the students I allowed to take the course. Five students took it last year.  I gave four “Cs” and a “B”. They were not willing to work on their own and blew most the course off then tried to catch up the last week. Nope. I was not going to do this independent study again but the counselor  convinced be the one student is self motivated. We shall see.
  5. Computer Programming 1.  I usually do not teach this as we have a Programming 1 teacher with the time to do the course.  I am the IT guy and too many courses leads to IT issues I do not have time to fix. But this is a special case.  This freshman is an uber-geek. The regular Programming 1 course would bore him stiff and the Programming 1 teacher does not have the background or time to challenge him.  So we are just going to wander where he wants to go. No real plan, just tinker. Fun.
  6. Math 2.  An Algebra and Geometry course.  Been there, done that. Mostly we just play with math.  Ninety percent of these students hate math and therefore suck at it.  My objective is not only to teach math, but to change their attitude towards mathematics.  If I can influence the attitude the math will come by itself.

The year will be real busy and I am looking forward to it.

Garth does not have enough to do so PD here he comes

July 10, 2018

“It would seem about time a PD designed around problem solving, program troubleshooting, pedagogy, project based programming, what languages are good for teaching what, tech issues and so on was offered.”  I am diving in.  Montana does two week long PDs for entry level teachers, one using Mobile CSP (App Inventor) and another using The Joy and Beauty of Computing (Python).  These are funded by an NSF grant.  I need to figure this out.  I also do not want to reinvent the wheel.  If something like this has been done I will not be shy, I will plagiarize the ever-loving heck out of it.  If anyone knows of something that is presently offered please let me know.

Several years ago I started to build a CS Methods course with the intent of proposing it to my local university.  From what I hear from friends I know that work at my local university in the CS and Education departments the university’s senior people’s philosophy towards teacher CS education is closely related to “magic occurs” and denial.  So I have this initial brainstorm of ideas I started to build.  I think with a little hand waving and organization I can start to make a five-day PD with this material.

Originally I was thinking of a semester long course so I may have to rethink the depth of my original approach.  Just a bit.

Course goal – introduce prospective and experienced CS/programming teachers to the fundamentals of teaching CS/programming.  Share ideas among attendees.  Start a cohort of teachers to spread the gospel of how to teach CS.  Get things moving so Montana students can do more than play Fortnite on a computer.

Concepts to cover in course:

Why teach programming or CS?

Capturing kids interest – Robots, Games, Turtle graphics, iPod/Droid apps, micro:bit

Programming language review – pros/cons/good/bad/ugly – just what is out there – Python, Java, Alice, VB. Mindstorms Lego Robotics – NXT, RobotC, EV3, GameMaker, Scratch, Small Basic, MakeCode, ???

Free resources

Textbooks and tutorials

Language types

Line code – Small Basic

Drag and drop line code – Alice, App Inventor, MakeCode

Icon – Kudo

Fundamentals of programming




Types of errors

Installing software

Commenting and documentation

Top down/bottom up design

Naming conventions

Algebra vs programming syntax – x=x+1

Grading rubrics

Assignment goals

Parson’s projects

Sub goal labeling

What I need now are suggestions.  I also need to start looking for sources/references that will give credence to these ideas so people know they are not just ideas I pull out of thin air.


A week of PD again: not what I want but the only show to be had

July 4, 2018

I spent last week in Butte MT at a Mobile CSP teacher training/PD.  MCSP uses App Inventor as the language.  I like and dislike App Inventor.  I really like the fact kids can easily get an Android app on their phone that actually works.  Super cool.  I am not so crazy about the drag-and-drop format of the language.  It is great initially for small programs but it hits a wall pretty quickly.  I really wish there was a line code mode like MakeCode.  I cannot squawk to much, the price is in my budget range.

My biggest gripe about the week long PD was that it was a how to program and how to use the MCSP curriculum, not a how to teach problem solving, nothing on program troubleshooting, no pedogical ideas, none of the real classroom teacher needs.  There were two groups in attendance, beginning CS teachers, mostly business teachers which are the largest group in the state of Montana that are certified to teach CS courses, and one out of the twenty who were experience CS teachers (me).  (For further reading on this gripe see and  I knew what I was attending, this is the same group I was with last summer for a week long Python PD.  I attended knowing ahead of time what the theme was going to be.  But I always hope.  The best thing I get out of these is the networking with other teachers.  Admittedly I am by far the most experienced in the classroom but that does not mean there are not some excellent teachers in the group and some excellent ideas in the room.

It would seem about time a PD designed around problem solving, program troubleshooting, pedagogy, project based programming, what languages are good for teaching what, tech issues and so on was offered.  Admittedly I do not know where the instructors or the money for this would come from but it is time to start working this out.  The course for the last two summers were funded by an NSF grant.  A pretty big grant because it paid the attendees $1000 for the week and paid for rooms and per diem.  I need to figure out this NSF grant thing.  I also need to research and write up a course (maybe just plagiarize the heck out of Doug Bergman’s “Computer Science K-12”.  It is way up in Montana, who would know?).  Since next school year I am teaching 6 preps and doing the IT thing this may take a while.

It was very interesting talking to the teachers and their relationship with their IT departments.  Two of us were from private schools.  No problems there, I am my school’s IT department and the other was a school even smaller than mine so the IT was very informal.  The public school CS teachers all seemed to be in a state of war with their IT departments.  Any requests are automatic “No”.  One teacher was not allowed to use Raspberry Pi (What is the plural of Pi?  Pis?  Pies?  Something new to ponder.) because the IT director did not know what they were.  Using YouTube is a major hassle.  I know of at least three ways to make select YouTube videos available to teachers.  It seems their IT departments could not be bothered to find a solution.  I do not understand this.  Public schools seem to be terrorized by the possibility little Johnny might use a school computer to do something bad that they have reached the point where little Johnny has trouble doing anything on a school computer.  I mentioned to one teacher how I get laptops donated from businesses and just give them to the kids to keep.  The idea seemed totally out there to them.  Public school is just getting weird.