“Guess what great idea we have come up with!”

April 10, 2019

Monday I am over at the elementary school checking their internet.  It seemed to be having a case of the slows so I was checking if the access points were acting up.  (They were, reboot and problem fixed. Everyone thinks I am a genius.) Anyway I stopped in to talk to the principal to let her know that another lab computer had gone to the big dead computer warehouse in the sky.  She says she is not to worried, next year there will be no computer lab. The lab will be on a cart with laptops and the teacher will be mobile. Surprise!

I would really be happy if these things were not a surprise.  There are only about twenty issues that need to addressed before this mobile lab thing becomes practical.  Foremost of which is where we are getting the money to buy 70 laptops? (Two floors, no elevator so need two mobile labs plus some spares.)  We are getting things sorted out one issue at a time and the powers do have hope of raising the money (private school, no tax funded education) for laptops, carts, extra access points, wireless printers and some yet to be determined things I have yet to think of.  (Surprise!) Luckily all I have to do is find vendors and bids for “stuff”. I can let someone else figure where the money is coming from.

Events like this keep me from getting bored with this job.


Course Building 101 or How to Teach Something You Know Nothing About.

April 5, 2019

More tinkering and reading.  A couple readers suggested I look at W3Schools.com.  The dabrook.org link I posted sends you to the w3schools.com site.  Weird. Anyway I have started looking at the three tutorials. The UW course is very different from the other two.  The UW course is built for students and teachers with a teacher version and a student version.  This course is not just a coding in HTML course. It does quite a bit about how to build good web pages, discussing color, fonts, page design and so on.  (This sent me off on a bit of a Google tangent. I Googled “bad websites”. There are numerous articles about what is good and bad in website design. I want the kids to learn more than just how to code websites.  Part of this website business is knowing how to build good websites.) I am starting to like this UW course a lot.

I have been playing with two editors, Notepad++ and Visual Studio Code.  Notepad++ is very basic and is recommended by several sites as the best way to go for introducing HTML code.  It is solid as a brick, no whistles and bells. VSC on the other hand is big on whistles and bells. Auto-complete and WYSIWYG extensions.  Make a change in the HTML code and it automatically reflected in a window in the editor. It is a bit quirky but once figured out it is pretty slick.  After working in both editors through the same lesson there are arguments for both. Being lazy I like VSC. Being a teacher interested in retention I like Notepad++.  The teacher is going to win. Actually I do want to use both eventually. Start out with Notepad++ then maybe half way through the semester switch over to VSC. Of course the plan is subject to change.  (A great Marine Corps saying is “we don’t plan, we improvise”. I do that a lot.)

I also talked to my former student who is does commercial websites now.  His suggestion was to dabble a little in HTML, CSS and JavaScript then when we get serious go to WordPress.  He said the organizational requirements for websites can be massive if not using a tool like WordPress. Since I looking to get the course approved for dual-credit through the University of Montana (UM) I do not think the WordPress route is a possibility for fall semester.  Maybe if I get some students who want to go big time into website development I will offer a second semester using WordPress and get him in to help with the course.

My friend/guru from UM is coming over today and we will chat about the course.  He teaches the WDD courses at UM and is the one that has to approve my course for dual-credit.  UM is extremely flexible in regards to syllabus and teaching resources but if I do not have to reinvent the wheel for this course I will not.  The usual trouble with following the UM syllabus exactly is UM likes expensive textbooks and they also assume that the students have infinite hours outside of class to work on projects.  College students are take three to four courses. High school students are taking seven to eight and usually involved in some kind of extracurricular activity. Many high school students have extremely limited time outside class to work on projects so the lecture during class time and work on assignments out of class scheme is not always feasible.  So far I have never followed the UM syllabus for any of the dual credit courses I teach. They simply do not work for us.

This weekend I need to continue looking for resources.  The UW course looks good but something better may be out there.  I will also wander down to Barnes and Noble to look at what is on the shelves.  Since any book I buy is funded from my wallet I rarely buy anything but there have been exceptions.

One of the really fun things about teaching CS is if you ever get bored or feel in a rut you can grab something else in the field and build a course that is relevant for the students.  Learn something new and try to teach it to students with a higher IQ than yours. Oh joy.

Course Building 101 or Hoping I Get It Right

April 3, 2019

As I mentioned in my last post I want to offer a Web Design and Development (WDD) course next fall.  I know absolutely nothing about this topic. It is not something I have really been interested in over the years.  I have had a student dive into it a few years ago and actually ended up getting paid to build websites while he was going to school here.  I sort of looked over his shoulder but that was about it. The kid was smarter that i was so I just left him alone in this area. He was the stereo typical uber-geek.  But now it is time to bring this into my skill set. Most, if not all, of my blog readers are teachers. We understand the difference between just learning a new topic and learning it and being able to teach it.  It can be a bit of a tightrope walk at times. Personally I like to be good at something before I teach it but since I started teaching CS thirty some years ago that has not always been an option. Now that I think about it, that has never been an option.  So I am going to dive in to Web Design with no experience and no resources from a previous teacher. In the next series of posts I am going to try to explain the process I am going to go through to build a WDD course.

Here is my plan:

Step 1 – Google.

Step 2 – more Google.

Step 3 – contact a friend at the university that teaches WDD.

I have started Step 1, 2 and 3.  I Googled “web design curriculum” and just started hitting links.  One of my major requirements is my resources have to be free. All my courses have a $0 budget but I have had this budget constraint for the last 18 years so it does not bother me.  A nice thing about a $0 budget is I have never wasted money on something that I later thought was junk. I have found lots of junk but free junk can be trashed without feeling bad. So far I have found these three resources.  The UW course was updated on 2012 so it should still be good. The second is a commercial product that is pretty direct with little except the coding aspect. The third is an interactive tutorial. I am not a great fan of interactives (threatens job security) but I will give it a look over.




I also have to find an editor.  Several articles suggest just using Notepad or some very basic text editor.  I have two reasons against this approach. First, I am lazy. Enough said. Second, I want to learn the tools that would actually be used by a semi-pro to build the HTML code.  For example in my Java class we are using Eclipse. So far we are having more trouble learning Eclipse than Java but I consider this part of the learning experience. That is why I have a guru friend at the university.  When we have an IDE or language issue he wanders over and lends a hand.

I just talked to my college guru.  He recommended Visual Studio Code. I have looked at VSC before and abandoned it because i could not get it working in minutes.  I have very little tolerance for IDEs I cannot figure out fairly quickly. (Small Basic spoiled me a few years ago.) I just spent a little more time with VSC and got it working with HTML.  I added a live HTML extension. Pretty slick. I will play with it some more.

Now I need to start working through the three resources I have found so far, look for some more, build a little knowledge and start thinking about how I am going to approach teaching WDD.  Piece of cake.

The Grass is Always Greener

March 29, 2019

It is spring break.  The weather is poor and I am financially inconvenienced so I figure I might as well evaluate and modifying my CS curriculum.   (What else do broke teachers do on spring break?)

Presently we offer Programming I (1 semester, Scratch, Small Basic), Programming II (1 semester, a mix of about 5 different languages or whatever interests us the teachers), Python (1 semester, college CS credit), Java (1 semester, college CS credit), Game Programming with Unity (1 or 2 semester) and Intro to Programming (1 semester, similar to Prog 2, college general credit).  After some head scratching and conversations with college instructors and people in the tech industry I want to make some modifications. I am going to bag the Game Programming for next year and bring in a Web Design and Development course and an App Development using Android Studio course. The Web Design would be based around HTML/CSS/JavaScript and would have no prerequisite.  Since I know zip about HTML, CSS or JavaScript it will have to be fairly basic this first time through. I know enough people in the industry that I can find some good help with the course. I want to attract some of the non-techie kids with this course. I hope I can get some of the kids that think computer stuff is not for them. Girls in particular. The school is at least 50% female and I only have one in my CS classes right now.  I need to find a solution to get them and the non-programmers involved in the tech classes. I have to show them that this stuff is not rocket science. (OK, it is, but if I want to attract non-techie students I have to convince them it isn’t.) I have found a couple of courses about Web Development, one of them through CodeHS. I would not use the CodeHS because it is not free. I still need to do some digging. Whatever I find has to teach both me and the kids.  I am old and the brain is getting fossilized so it has to be simple and good.

The App Dev with AS is to keep my programming geeks interested in new things and maybe attract some new blood.  Again I do not know AS but the amount of resources available is massive. I am not too worried about learning AS, after all it is just another IDE.  Since AS requires some programming skills I am thinking of having a programming prerequisite. The only CS teacher in the local public school is using AS in one of his classes so I will have a resource on the pedagogical aspect.  I have been hesitant in the past about introducing an AS course because AS looks pretty high level.

This year I sort of prepped some kids for the AS course by offering Java.  I started thinking about the AS course earlier this year but was not positive I was going to offer it.  Since I found another local teacher using it I will dive it. I hope those Java kids will hang with me. I think it is necessary to have my tech students work with phone apps.  Phone apps are the programs of now and the future. There will always be Windows, Mac, and Linux towers but I think the big money will be phone apps and software that interacts with phone apps.  I have no doubt that in 2 or 3 years the primary computer interface will be VR/AR glasses connected to a phone connected to a server on the internet. Connect that to some type of input device (mini joystick, Leap Motion hand tracker or like interface) and now you have something.  I want my kids to be able to come up with ideas for an environment like this, not just be users.

I am ignoring iPhone simply because I do not have Macs or money.  Android apps I can install directly from the computer to the phone.  Apple requires the Apple store as an in-between. Not convenient. Besides, I use an Android.  (App Inventor for iPhone is in beta at the moment.)

Now I just have to find some students, some teaching resources, learn HTML, CSS, JavaScript, Android Studio, build some lessons and try to guess what surprises are going to come along that I have not thought of.  I will save that for next weekend.

The Tale of the Smidgen.

March 22, 2019

I am creating a BreakOut game in Unity using this video tutorial.  I need to do this because I gave my students the same tutorial to work through.  (Usually I proof tutorials before I assign them but since this was from Unity I figured it would be good.  Always a risk.) I had the thing done and went to test it and my paddle and ball were self destructing at the start of the game.  I think immediately I made a typo in the one of the scripts. An hour later, nope. Maybe I attached the wrong script to an object.  Nope. Time to go home. My brain hurts. So this morning I dive into the code trying to actually figure out the logic of what could be the problem.  I am not real hot on Unity/C# specific coding but I can follow it enough to see what does what. I start blocking out code with comments and find what code is causing the paddle and ball to self destruct pretty quickly.  That code is supposed to be there and looks all correct. I can even figure the logic of the code and it has to be like it is. Now an ugly confuser here is the tutorial uses Unity 5 and I am using Unity 2018. Could this be a version issue?  I hope not because if it is I am toast. I ignore this and hope. So I have exhausted all the likely suspects and am sitting and staring and mumbling expletives. Back to figuring what the Unity is actually doing. The base of the BreakOut game is a trigger to destroy the ball and the paddle and reset the start point of both when the ball misses the paddle and hits the base.  When something hits an object that is a trigger something happens. That something is in the code. Something is triggering off the base to run the destruction code. I sits and stares some more. Then there is this brilliant flash. (Different from a flash of brilliance). The walls of my game are sitting on my base. The walls are triggering the destruct sequence. I drag the base down a smidgen and no more self destruction.  I am an idiot. I continue with the tutorial. In the next piece of the video he has the same problem and moves the base down a smidgen. I am convinced I am an idiot.

The good out of all this is I now understand the code and the logic of the whole game much better.  One of the big issues with tutorials is the habit of following them mindlessly. Type but with no understanding of what is being typed.  I am fairly good at pausing to understand before continuing but after an hour of a tutorial I get more mindless than my usual mindlessness.  

Video tutorials are great.  A huge percentage of my programming knowledge has come from video tutorials.  But sometimes they just make your brain hurt.

Getting a CS Program Started: Issues

March 21, 2019

I had the meeting with the public school principal yesterday who wants to get CS courses in her high school.  There was the principal, me, a CS teacher (Dan) from one of the other high schools in the district (the only CS teacher in a district of 3000+) and a businessman (Steve) from the community with extensive CS experience and former teacher.  I was not quite sure what to expect since I did not know anybody in the meeting. No worries, it was a very positive meeting and hopefully she can make some decisions from what she heard. Dan uses the Project Lead The Way (PLTW) CS curriculum with some personal tweaks.  Several years ago I looked at the PLTW CS curriculum for high school and it was appropriate for 7th grade. Dan agreed but said it is now legit for high school. He has a CS degree so he does have experience to base this on. Steve was a very interesting fellow. Never graduated from high school.  Has built and sold several tech companies. Has lots of money from those sales. Says he programs 16 hours a day on a project he is building. He looks like someone who would program 16 hours a day. At first I was very concerned about the perspective he would bring to the meeting. Nope. As a person who has hired a lot of CS people over the years his perspective was incredibly relevant.  

At the end of the meeting we decided it all boiled down to one issue, finding a teacher that wants to teach CS.  She has a business teacher teaching a very basic programming course who did not want to teach programming. He likes teaching business and would not want to teach a CS program.  With the difficulty of acquiring a CS certification in Montana her choices were limited, a business teacher willing to transition over to the dark side or find that unicorn, a CS teacher.

The curriculum was not an issue.  If they wanted to go the PLTW direction (expensive) Dan is a certified PLTW trainer so they would be golden.  Curriculum is rarely the problem. There a lot of good options out there if a teacher can be found that knows what they are doing or are willing to learn.

If she does not fill this position in-district and puts in out to the public I might be interested.   For one thing it would double my income. And it might be a fun challenge to build a CS program from scratch again.  This would be the third time for that. I am not too crazy about going back into the public school but I figure it would only be for three years or so and then retire.  If I can handle the Marine Corps for four years and getting shot at there, I can handle public school and maybe not getting shot at.

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. Code.org 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.