Archive for the ‘Uncategorized’ Category

A Profile of Montana’s High-Tech Industries: a report

March 20, 2019

For me as a teacher this report is very interesting.  I always have the question in the back of my mind, “Am I going in the right direction with my tech/programming classes?”  For Missoula and Montana it looks like I am OK.

Last week I visited one of the businesses that is a member of this group and which is expanding rapidly.  One of my school’s parents is one of the original stakeholders in the business. I asked him and a number of his employees what skills high schools were missing that would help them the most.  Two things came up. Being a tech company that does not focus on programming I was surprised by the number that said a basic coding class would have been a big help. By far the biggest comment was a shortage of classes teaching “soft skills”.  I did not know what “soft skills” were so I had them clarify for me. They were referring to how to give presentations, how to build resumes, how to do simple things like shake hands and so on. Everyone I talked to said a business and communications class should be a graduation requirement.  

This particular company helps businesses improve their use of technology to increase their profits so a lot of their business is interacting with clients. Of course the employees were focused on communications skills.  They had to be able to talk tech and make sense to non-tech clients at the same time. For this particular business good communication skills was their bread and butter.

I looked at our graduation requirements and it is very easy to graduate without any business course or any course that requires communication skills.  We offer courses that teach both of these skills but they are electives and not super popular electives. I think that is a problem.


Head butting and CS certification

March 15, 2019

Next Wednesday I have a meeting with a local public school principal about bringing a CS/programming program into her high school.  I figured I better brush up on the topic of CS certification in Montana. I know there had been some changes. I contacted the Montana Office of Public Instruction to find out the latest and greatest.  I learned a lot, nothing good. There are two new Class 4 (career and technical) certifications that are relevant. One is Computer Coding. It seems to be vaporware at the moment. The second is Computer Information Services.  Here is a run down of the CIS certification.

An instructor endorsed in Computer Information Systems will demonstrate a basic knowledge including all and exhibit expertise in a majority of the following topics:

  • Network architecture, system configuration, administration, and support.
  • Computer organization, architecture, and operating systems.
  • Computer and network security including cryptography, operating system security, and intrusion detection and prevention.
  • Programming skills—knowledge of one or more computer languages (i.e. C++, JAVA, Visual Basic).
  • Database concepts, management structures, analysis; database management.
  • Software management systems and data communications.
  • Website design methodology and applications appropriate for secondary level, including HTML/XHTML.
  • Technical writing and documentation skills necessary for information systems.

If you have at least 10,000 hours (5 years or more) of experience including all or most of the skills listed above please complete the Class 4 application.

Now if I could do all of that I would not be in education.

I contacted OPI about a CS certification.  Here is the reply.

Computer Science has changed some and the more current term is Industrial Trades & Technology or Industrial Technology Education.  In order to add this endorsement to your license, you need to complete a teaching minor in this area. MSU-Bozeman does offer a teaching minor in Industrial Trades & Technology, so this would be a good place to start.

I went to the MSU site and found the Industrial Technology Education minor mentioned.  It is pure industrial arts, no CS involved at all. There appears to be no Class 1 or 2 (the usual teacher certification) certification for CS.  Something that requires at least programming. CS in Montana is now in the “trades”. Not to knock the trades but I feel there is a difference between welding and programming.  Maybe I am being elitist.

My research has lead me to an interesting conclusion.  It is possible to get a high school CS certification in Montana.   The real interesting thing is none of those routes include CS as part of the certification requirement.  Fascinating.

Sometimes I feel like just butting my head against a wall for an hour or so.  Maybe I can lower my IQ to the level of the people who dream this stuff up.  Probably not.


Unicorns and CS teachers

March 6, 2019

A friend who teaches industrial arts at one of the local public high schools called me last night.  His principal called him in to her office and asked him where does she find a qualified CS teacher if she wants to start a CS program?  (She asked him because he does teach a little programming for his robotics class.) Apparently she is considering introducing CS in the high school curriculum.  (A school of 1000+ with no CS classes. Montana is a little behind.) So he calls me to ask the question because he know I dabble in that sort of thing. I tell him “You don’t.  There aren’t any.” We chat for a while on the subject and I suggest he tell her to call me so I can explain her options. So after the call I sit and think, what are the options for a school looking for a CS teacher and to start a CS program?  Here are the options as I see them.

Option 1 is to advertise for an experienced CS teacher and hope to get lucky.  The odds of this happening are somewhere between zero and zip. Might as well wish for a pet unicorn.

Option 2 is to advertise for an CS qualified teacher, experienced or not.  Last week on 60 Minutes someone stated that there were 75 CS teaching degrees handed out in the whole US last year.  Pet unicorn again.

Option 3 is to point at an unsuspecting business teacher and say “Your it”.  (Business teachers are automatically certified for CS in Montana. Even if they have never taken a CS course in their life.  It seems Excel is CS.) In Montana this is the trend. and other canned curriculum start to rule. I guess it is better than nothing.

Option 4 is to ask if anyone is interested in teaching CS and have the school take the hit for not having a certified teacher teaching the class.  This is sort of how I got into the field. When I started teaching CS in the early ‘80s there was no CS certification. I was interviewing for my first teaching job and was getting the school tour by the principal.  The principal pointed to two TRS-80s still in the box and asked if I knew how to run them. Having just graduated from college with a Science/Math degree and with a little experience on Apple IIes and wanting the job I of course lied and said “Sure, no problem.”  Poof! A CS teacher is born. I eventually got a degree in CS Ed. (In Montana I am a unicorn.)

Option 5 is to find a CS person who is interested in coming over to the dark side and teach CS.  This is not as uncommon as it seems. I know of a number of CS teachers who started in industry and later came into education with CS experience.  Considering the demand by industry for qualified CS people I think these people are going to be in unicorns status in Montana. There is no nifty shortcut for teacher certification in Montana that I know of so this might be another unicorn.

If this principal has another option I cannot think of it.  The possibilities of getting a CS program started and having a trained CS teacher to implement it is a bit depressing.  This should not be difficult. CS is one of the highest demanded job fields out there yet finding teachers to teach it is near impossible.  Weird.

Snow day tomorrow

February 26, 2019

We are in the middle of a blizzard right now.  All the area schools are closed tomorrow. Wimps.  I can go to school and try to catch up on stuff I had not caught up on.  Can I get to school? I have a Toyota Tundra 4X4 truck and even better, a Subaru Outback. The Outback is the most boring car I have ever owned.  No excitement in the snow. It just gets you there. No sliding, no drifting, no getting sideways or 360s in the parking lot. Boring. I wish I had the battery in the 4-wheeler.  Now that is fun in the snow. It loves swapping ends and going crazy on the street. If I was not sitting here getting a cold or the flu I would see if I could get that boring car to a ski slope for some boarding in all the fresh powder.  I went up snowboarding Sunday for a full day of 4 inches plus of powder. Probably why I am getting sick now. 15 degrees with a fresh breeze and beating myself up in the trees. If I were 10 years younger I would say nuts on it and head on up.  I am not 10 years younger and I know better. With age comes wisdom? No, with age comes lots of sore muscles and aching joints if I decided to go with only one day’s rest. I think I also gave myself a minor concussion Sunday so I better be smart.  OK, maybe I will compromise and go cross country skiing. That is sort of safe depending where I go. Decisions, decisions. Of course if it keeps blowing 30 mph I am going to huddle down in the house and do laundry.

Coding with Minecraft Curriculum: Trials and tribulations

February 25, 2019

I am excited about testing this curriculum with a class of 5th graders starting in a couple of weeks.  Maybe I am too excited considering I am handing it off to the middle school tech teacher to implement. She is willing and interested also so I do not feel bad.  I have been working through the teacher setup document “My Minecraft Journey”. Be forewarned, the version available on the internet is pretty buggy. There is a more recent version available directly from the Minecraft education folks.   I have not even gotten to the curriculum other than a cursory look.

As the school IT guy I have the job of setting up the required Office 365 accounts.  We are a Google school so this is my introduction to Office 365 management. After this experience I am very, very glad we are a Google school.  Our 5th graders do not have school email accounts and we do not want them to have any yet so I figured to build some generic accounts for the Minecraft login.  First I have to build 24 gmail accounts so the school email addresses exist. I find the “how to” on building bulk accounts for gmail. Build a spreadsheet with first, last, email address, password, convert to csv, import into manager and, poof, I am done in 10 minutes with gmail.  I find the “how to” on bulk Office 365 accounts. Build spreadsheet with username and email address, convert to csv and import. Wait, what about the password? Send an email to the new user so they can change their password. There are no users in this case. So I end up having to go into every account through the manger and enter the password.  PITA. If there were 50 kids I would have to seriously reconsider the MInecraft curriculum. 500 kids? No way. This seems to be a major glitch with the deployment of this curriculum. Maybe there is a better way to build Office 365 accounts with a password but I could not find it.

In Montana many schools do not have an IT department.  They are like us, a teacher that can figure things out so he/she is the part-time IT guy/gal.  A classroom teacher would be the person building user accounts in Office 365. Usually a teacher who is not a computer geek but was teaching business or typing last year.  So something that is not related to the actual curriculum could make the curriculum a dead pigeon.

It is interesting how many times I encounter things like this.  Great tools for teaching that require massive setup requirement or setup that is just a pain and therefore not worth the trouble.  If I did not have 30+ years of dealing with computers, networks and whatever there are several instances where I would have abandoned the curriculum path I wanted to go down.  It seems that some of the folks that design this “stuff” do not consider who may be trying to get their great idea to work. A 50+ year old typing teacher trying to redirect her career  and is offered the programming class because in Montana business teachers are the only teachers automatically certified to teach CS. (True story.)

I am still on with this Coding with Minecraft curriculum but even before starting to look at the curriculum there are major issues that will kill it in some schools.  The solution? A detailed document on how to build generic Office 365 accounts that a non-computer teacher can understand. Most teachers have no problem learning a new curriculum, it is in their skill set.  Building Office 365 accounts probably is not.

No school today but lots to do.

February 18, 2019

No school today for Presidents Day and it is a whopping 16 degrees out.  Now what to do. I have the usual domestic tasks I should do, laundry, vacuum, shovel more snow, etc.  I also have school related tasks (sort of) I should do.

  1. Code up the assignments I gave my Java class last week.  The book I am using does have coding solutions but he uses a custom class built specifically for this textbooks for inputs.  I am not crazy about that so I have to code the assignments up using the Scanner class. I am also extremely rusty with Java so this is good practice.  It allows me to see what is going to be difficult for the kids and what gaps the textbook leaves.
  2. Work on transcribing some Unity videos.  This is very time consuming and is turning into more of a long term objective.  I pick at it a little at a time.
  3. Preview the next series of YouTube videos I want the kids to work through.  We have the VR up and working but all the VR videos focus on just that, getting it up and working.  I want the kids to actually build a game which requires merging Unity 5 game making (non-VR) videos with Unity 2018 VR videos.  Luckily I have a couple of students that are brighter than I am and can throw the integration project at them. They will get the process ironed out for me.
  4. Work on the Coding with Minecraft curriculum.  I contacted Microsoft about the initial errors I was seeing in their curriculum and they actually got back to me.  I am now talking to CS curriculum coordinator for Microsoft. Like an idiot I offered to help with a pilot study of the curriculum.  Now I have to find some 6-8 grade kids interested in Coding with Minecraft, learn Minecraft myself, edit the MS curriculum and get a club or class organized to use the curriculum.  This is all Alfred’s fault. If he had not made this post I would not have gotten interested in the possibilities the curriculum offers the middle school kids.  Bad, bad Alfred. Minecraft is not free but I have some grant money given to the school by a local tech business (Advanced Technology Group) that is only for programming education.  Score.
  5. Prep for my Stats class.  We are starting the most difficult, in my mind, chapter in the book, hypothesis testing.  Every year I look at this chapter and think on how I can make it make more sense. Still working on that.
  6. Edit a new Java book for an author of several of the texts I use for Unity.  Since I know Java so poorly this is more of a typo check and test run for the new book.  I went through chapter one last night. Some typos and one major coding error. He asked for a two week return on the errors.  I will get as far as I get.

I also have to take time away from the computer.  Too much and I start to lose focus and stop enjoying the work.  The eyes also start doing weird things.

I have to decide if I am going to run tonight.  I have a circuit training class from 5:30 to 6:30 tonight.  The fitness center has a nice indoor track so I do not have to freeze in order to run.  I have taken a couple of weeks off of the running due to shin splints so I need to test the running again.  I used to run mega miles with no shin splints but as I get older things are falling apart, especially if I push like I used to.  I do need to keep in shape through the winter so I can be stupid in the summer. I have a 25-mile mountain bike race in Butte scheduled and a week long mountain biking trip in Oregon.  I am the second oldest person signed up for the Butte race and I want to make sure the old guy (two years older) does not beat me. It is not the 25 miles that is bad, it is the altitude in Butte.  The race starts at 6300 feet and goes up from there. Missoula is at about 3500 feet and the difference in oxygen is significant. (I mountain biked in Park City Utah years ago. I thought I was getting the flu or something during the ride.  I got back to the bike shop I was parked at and was chatting with the shop owner. He said the shop was at 7000 feet and I had rode above 10,000 feet. Ugh.) I ride Butte regularly because the trails are so sweet but it is a major suck fest getting air.  I better run tonight.

The Microsoft Minecraft curriculum: too bad

February 15, 2019

Alfred Thompsom’s last post  referenced the new Microsoft Minecraft curriculum.  Since it is free I have to take a look. I have a tendency to dump on Microsoft curriculum.  They obviously spend a lot of time building these things but they obviously do not beta test them with teachers.  I am looking through the Required Educator Preparation and the first bullet says “Watch the educator preparation video”.  Said video is not to be found by the normal human being. I think I would have made this bullet a link to the video but that is just me thinking outside the box.  Or at least name a video “The Educator Preparation Video”. Bullet 2 says “Read the course overview” and “download Code Connection”. Again links would have made things a tiny bit simpler.  Am I just too picky and want it just too simple? I can just picture that 7th grade Language Arts teacher who has been asked to use this curriculum to get a CS thread started in the school. They are lost at bullet 1.  Not good.

Every Microsoft curriculum I have looked at through the years has been this way.  Really cool stuff really poorly tested. What, they cannot find teachers willing to give them a hand testing this stuff before they throw it out there?  I would be glad to help. I am a professional when it comes to being confused easily by poor directions. I have spent years perfecting being confused. It is such a wasted talent.

I have no real interest in this curriculum for myself but since it is free I have to do a bit of a preview for the middle school.  The $5 per license per user per year is not unaffordable so if it is a quality usable product I would have have the middle school CS teacher take a look at it.  It has taken me 2 minutes to decide the middle school CS teacher would not have time to de-bug this curriculum.

Where does Microsoft go wrong on this kind of stuff?  I think their curriculum writers are too smart and too experienced with what they intend to do.  Too many type “A” personalities working for them. They need more people working for them who have experience teaching 7 preps a day and understand the meaning of “no time to figure this out”.  Find 50+ year old business teachers who spent the last 30 years teaching typing and now have to build a CS curriculum in a small school where resources are very limited. Find the teachers that go to Barnes and Noble Book Sellers and seriously considers buying “Java for Idiots” as a text book.  (I didn’t but I sure thought about it.) That is the perfect curriculum reviewer for this kind of thing. Those are the teachers this curriculum should be designed for and written by. I went to a multi-day Microsoft TouchDevelop seminar a number of years ago. Maybe 150 attendees. I would say 80% of the attendees fit in this category.  Microsoft has to stop assuming the curriculum users know what they are doing and assume the users are absolute novices (or Idiots). If the curriculum references a video or document it has to have a link so the teacher can locate it quickly. An experienced teacher that knows Minecraft does not need any of the intro chapters. The beginner needs perfect and well thought out intro chapters.  Microsoft just does not seem to be very good at thinking or writing at this level.

Unity VR teaching/learning

February 13, 2019

The Unity VR teaching/learning experience is progressing.  Now I am not a Unity guru. I am a Unity novice who is learning and teaching via YouTube.  Admittedly not the best method but it is all I have. I regularly ask myself why I am teaching Unity when I know so little about it and have to learn it days before I have the kids work on it.  I could just not offer the game course and save myself a huge amount of time and headaches. I could say that about all my programming courses. I knew nothing about Python until I decided to teach it.  Back to Unity. I teach Unity because it interests the kids and me. No, it does not involve a lot of programming, most of the time it is cut and paste, but it requires large amount of problem solving and attention to detail when listening to the videos.  That sounds like a rather trivial learning objective but how many of us have had jobs where you have to learn on the fly by paying attention to precise directions. If you can follow directions carefully you can learn pretty much anything. Following directions is not a natural skill high school students are gifted with.

The trick with teaching with YouTube is finding good, up to date videos.  Last year Unity made some major updates as to how the VR works. VR videos from Unity 5 just do not work any more.  For the non-VR videos most seem to be fine. So I have to dig for patches. There are not enough Unity 2018 videos available so I have to take the old and combine with the new.  

Teaching/learning with YouTube can be a challenging experience.  Finding up to date videos that a worth a bean can be a challenge.  Finding the time to work through the video before giving it to the kids is another big issue.  I have given the kids videos that I have not worked completely through before. Bad, very bad. I do not do that anymore.   

I prefer tutorials in print form.  I can go back and forth easier, make notes, and edit the document.  Transcribing videos is a great way to learn the tutorial but it sure takes time.  Back and forth, back and forth. But once you have it transcribed you sure have it down.

Below is a partial list of my favorite VR YouTube tutorials.  It is possible through these to get all the basic tools necessary to build a pretty decent VR game.  My next objective is to transcribe these into text and pictures. That way if there is a change I can edit the document and not worry about the video.  I want to build a library of Unity task documents that target simple tasks.

“Creating a Google Cardboard VR app in Unity 2017 [RNDBITS-031]” by Rabidgremlin.  Unity 2017 and 2018 are pretty much the same as far as basic VR. Rabidgremlin has some great tutorials.  This video did have a major glitch. The ClickPointer (put the pointer on the object, click the left mouse button and have something happen) did not work.  In order to get the ClickPointer to work it is necessary to go to the GvrBasePointer Script and remove the ! in front of UNITY_EDITOR in line 227.  Took a little Googling to figure this out. This is the perfect example of testing the video before giving it to the kids.  I wrote the solution down so I will not forget it.

“Unity VR Tutorial 2018 – How to create your first VR app in 11 minutes for Google Cardboard” by Xlaugts.  Almost identical to the Rabidgremlin video above. It had the same ClickPointer issue. I did these back to back to see if the ClickPointer issue was me or Unity.  For once it was not me.

Getting Started with Google Cardboard in Unity 2018” by Tinkerbrains Learn.  The video is short, simple and to the point. I noticed that the video was posted semi-recently so I posted a “thank you, great video” comment.  The author replied. Very nice.

“How To Virtual Reality App in UNDER 15 MINUTES!! with Google VR and Unity for Android or IOS” by MatthewHallberg.  Meant for Unity 5 so it is dated but has some good instruction for building a maze. One of the commenters gives instructions to make the video work with Unity 2018.

Making a VR Game Day 1: Unity, Android SDK, Drivers, JDK, GoogleVR!” by NurFACEGAMES.  Again dated but still useful for learning Unity techniques. NurFACEGAMES makes a series for VR.

Coding is not always the hard part

January 29, 2019

This semester we are going to dabble in VR with Unity.  Make some simple Google Cardboard games just to get a feel for the possibilities.  I have done VR before with Unity 5. Guess what, there are big differences between Unity 5 and Unity 2018 and VR.  Big enough that all the old YouTube tutorials I used to use do not work so well any more. Big enough where what I did in 5 minutes took me about an hour to figure out.  Once figured out it is not big deal, in fact it is easier than Unity 5.

In situations like this coding is always the easy part.  Doing a new setup, figuring out the latest support downloads (android SDK, correct version of Java, best IDE and so on) are what can make teaching a course like Unity that is software based so difficult.  The quadratic formula has not changed in a couple hundred years, Unity had an update late week. Things like do we go with Python 2 or Python 3? Java or Javascript? Old Unity or new Unity? These are the decisions and directions that can drive a CS teacher batty.

I had better get back to work.  There is a free AR with Unity application I want to look at.  I am never happy with teaching what I used to teach. There is always something new to look at.  Cool.

The Road to Unity

January 17, 2019

I teach a game programming class using Unity.  I do not know Unity very well but we have lots of fun exploring and trying to make simple games.  Unity uses C#. I do not know C# very well either, especially the special functions of Unity, but I am getting the hang of it.  So when I have a success I celebrate. There is a simple strategy game on the internet called Red Remover. The premise is very simple.  There is a construction made of some bricks, some red squares, some green squares and some blue squares. Click on the bricks to make the red squares fall off the screen and yet keep the green squares from falling off the screen.  The blue squares are neutral. Have the kids play it, it requires thinking. Mechanically it looks simple. I am thinking “I can build this.” Click on a brick to make it disappear, let gravity do the rest. “Click on a brick to make it disappear”.  That is all. In my ignorance I thought I should be able to find somewhere on the internet directions on how to click on an object and make it disappear. Nope.

Now I am a very patient and stubborn person.  The patience comes from the military. I can lie in a hide for days if needed. The stubbornness is genetic.  So about 4 days and at least 14 hours of searching and experimenting later it works. Click on an object and make it disappear would seem to be a trivial and common task for a Unity project.  Yes, I found descriptions on doing just that but they all had issues or simply did not work. I put a cry for help on the Unity forum. The replies were not helpful. I had to figure out how Unity “sees” objects before I found the solution on my own.  The C# script is trivial, IF you know how Unity sees objects. If you do not understand how Unity sees objects and implements scripts on those objects then you are toast.

It is the simple things in life that are often the most pleasing. A sunset, snow on the mountains, a good IPA and so on.  “Click on a brick to make it disappear” is a simple thing.  I am extremely pleased I got that “simple” thing working. Now I just have to catch up on all the not so simple things I did not do during those 14 frustrating hours.