Confusion reigns

October 31, 2018

Sometimes you just have one of those days.  I had my Python class compute some Taylor Series where the input was number of iterations and the x value.  One of the students was working on sin x and was getting really weird results.  We sat there together trying to figure out what was wrong with her algorithm.  We tore it apart and put it back together half a dozen times.  No luck.  Everything was correct except the solution.  The partial sums were not even close.  It was driving me batty.  It was not that hard an algorithm.  OK, maybe Python was computing powers weird so I switched from (-1)^n to pow(-1,n).  It worked.  Thirty seconds later I figured out the carrot (^) does not work in Python.  I knew that.  Yes I did.  But it is correct for the TI-84 calculator.  Too many platforms and I am getting them all mixed up.  I put something on the board the other day, stepped back and thought, “No, wait.  That is Small Basic”.  I am getting my colon and semi-colons mixed up.  Python is colons, C# (Unity) is semi-colons.  Small Basic does not use “Print” to print, “print” is lowercase in Python.  I have three different “For” syntaxs to remember.  I am so glad I am not teaching a Java class.  Must be the early onset of Alzheimer’s.  Well, maybe not so early.

Advertisements

Game Making 101: Keeping it simple

October 23, 2018

I am teaching a game making class this fall.  Nothing fancy, just letting the kids explore Unity and Blender.  Since I have never worked for a game making outfit I cannot really dive into the actual non-coding process that game making entails.  So we have some fun making some simple games following YouTube and printed resources I have. The course really is not about making a game, it is more on how to learn to use a game engine.  In that idea I usually have the kids look at GameMaker to see a different approach to making games. Being less than impressed with GameMaker I am always looking for a better second game engine to include in the course.  I have looked at Unreal Engine (a bit more than I want to bite off right now), Amazon Lumberyard (short on support material and poor ratings) and Cryengine (mediocre ratings). Yesterday I was just looking to see if there was anything else out there of interest when I found Godot Engine.  Good support material on the website, some good YouTube tutorials (this is critical), easy to install, good ratings as a beginner engine and similar enough interface to Unity that some of that knowledge with transfer over. It apparently will publish directly to an Android device which makes it more fun for the kids.  They get to play their game. I am going to give it a try.

This game making class is one of my hardest to grade.  I have students who really enjoy it and spend hours at home getting things to work and I have students that only work in class and even then they tend to wander.  The kids that are really into it obviously produce a better product but the kids that are just surviving do produce. I do not feel right giving the overachievers a better grade, after all, this is their hobby.  So I have to grade on effort which can be a bit tricky. How hard a kid is “trying” is really hard to measure. Part of that “trying” involves how long they can sit in front of a monitor without going buggy. I am good for about 15 minutes (unless I am really getting into it) before before I have to go wander around.  I have a couple of students that can sit there for an hour and a half and be happy as a clam. I have some that are only good for ten minutes before they have to wander mentally and physically. I simply cannot bring myself to grade a kid on how long they can listen to a YouTube tutorial or my lecture before they need to do something to clear their head.  Right now my grading is based on one of my favorite criteria, that ever useful, but a bit undefined, “warm and fuzzy”. Try and you get a decent grade. Do not try and the grade is not so hot. If there is a deadline then how close did you come and how hard did you try to make it? Luckily I have very small classes. I do not think this would work with more than ten students.  Right now my class sizes are five, eight, one and one. Warm and fuzzy works.

State Digital Guideline: Are they worth the electrons they are stored on?

October 17, 2018

This is one of those deals where reading a blog led to reading a document on CS adoption in the US which lead to another document on the Code.org Nine Policies and from there reading another document, the “Montana K-12 Digital Literacy and Computer Science Guidelines”.  It was a journey. One of the maps in the CS adoption article had Montana in the 2-3 Code.org policies adopted range.  Looking at the nine policies from Code.org I knew Montana had a state plan, although the last time I looked it was an antique.  What else we had is a mystery to me. I looked at our state plan and to my surprise it was dated 2018! Wow! Who knew? No CS teachers I know knew.  So how useful is a state plan that nobody that would use it knows about? Well, OK, maybe the few I talked to were just out of the loop. Possible but considering how few CS teachers there are in Montana you would think the Office of Public Instruction would get the word out.  Whatever. So I look at the advisory committee. Twenty-one people on the list. I know several people on the committee but they are not people I would expect to be on a K-12 guideline. They are university CS people, not high school CS people, not even CS Ed people. There is one high school CS teacher on the list and she is from one of the largest schools in the state.   Not really representative of CS in Montana but still a high school person.

Ok, maybe I am getting a bit nit-picky here.  I start looking through the document. It is the usual “Grades 6-8 should know” type thing.  I look through the Grades 9-12. You have got to be kidding me. I do not know half the stuff all high school students should know by graduation.  I would not even have a lot of this stuff on a “perfect world” list.

So how useful is this “Montana K-12 Digital Literacy and Computer Science Guidelines”?  If a school has a dedicated CS teacher with an extensive background in teaching CS and an excellent CS education themselves, if the school offers a multi-year program, if the school invests a lot of time and resources to aligning the curriculum to fit the guidelines then this document is pretty slick.  The trouble is none of those “ifs” fit more than a couple of schools in Montana.

I can imagine this document cost the state a pretty penny.  It checks a box; the state does have a plan. The fact no one that the plan affects really cares about it, that the plan is idealistic and undoable for almost all schools in the state and the people that wrote the plan may be experts in their field but their field is not K-12 CS ed kind of puts a kink in things.  So is “Montana K-12 Digital Literacy and Computer Science Guidelines”, as it is presently written, worth the electrons it is stored on?

Too bad they did not write something a school could actually use as a guide to design a realistic affordable curriculum.  Montana has a lot of schools that are just starting to introduce CS into their curriculum. There are just so many ways a plan like this could be written to make it a useful tool for schools.  Assets needed, professional development requirements, practical ideas or examples for each topic, things a beginning school or teacher can actually look at and go “Ah ha!”. As it is it is space junk.

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.