CS certification In Montana: ain’t going to happen soon

April 30, 2016

Due to an insatiable desire to cause myself pain and discomfort I have gotten on the “let’s try and get a CS Ed program started at my local university” horse again.  I am simply trying to get a way that Montana teachers can get a CS certification without getting a BA in CS.  At the moment the only way to get qualified in Montana to teach CS is to get the CS degree and then get a degree in education or get a Business Ed degree which includes no CS, just business apps.  The Business degree does not come with the CS certification.  Since none of our colleges offered a CS Ed program I asked the Montana Office of Public Instruction (OPI) for what is required for a CS certification program.  They do have such a document.  The document was interesting to say the least.  There were some requirements that just seemed a little out of place for a K-12 certification.

(vi) demonstrating knowledge of and the ability to construct multi-threaded client-server applications

Uh, right.  I am not even sure what that is.  Here are some others.

(vii) demonstrating knowledge of and the ability to construct web sites that utilize complex data bases;

(viii) demonstrating knowledge of and the ability to construct artificial intelligence and robotic applications; and

(ix) demonstrating knowledge of the principles of usability and human computer interaction and be able to apply these principles to the design and implementation of human-computer interfaces;

I passed this on to my friend that teaches CS at the university.  He spends a semester teaching (vii) with his CS majors.  His comment on (viii) was “Wow”.  I kind of have an idea what (ix) is talking about but I am not sure I would want to do it at the high school level.  Some of the other requirements were to be knowledgeable with at least one of the following languages; C++, Java, C# or Ada.  Ada?  Who in the heck uses Ada as a teaching language?  How many people use Ada period?  You would think that somewhere in that list would be something appropriate for middle school kids.  A teacher knowledgeable in Scratch or Alice or Small Basic or half a dozen other possibilities would be so much more useful to a K-12 system than any of those in this list. The document goes on with needing be able to demonstrate familiarity with four high-level programming languages.  Seriously?  Four?  Somebody needs a reality check.  This is supposed to be for teaching CS K-12, not 13-16 and also not full time.  After reading these standards I really understand why the Montana colleges are so reluctant to offer the program.  There are just not enough CS teaching jobs to make building such a program worthwhile.  No pre-service teacher in their right mind would do the program and no teacher wanting to get a CS certification would have the time to commit to the number of courses this would require.

I looked through the requirement for a mathematics program.  It actually makes sense.  The math requirements list is shorter.  We are doomed by bureaucracy.  I will continue to fight the good fight but it is not looking good.  Must be a philosophical thing I have.  I want to teach kids CS, not make CS professionals.


Cell phones in school seem to be a bad idea

April 27, 2016


Articles like this get me wondering; is the problem the cell phone in the classroom or is it that the classroom has not caught up with the cell phone?  Being an old fart and used to the traditional pre-cell phone classroom I am going with the first option but I am just not sure if that is correct.  Education does not seem to handle changes in technology well.  Those of us that have been in the business a while can remember the big stink over the calculator.  There were all sorts of dire predictions if they were allowed into the classroom and I have to say many of them were and still are true.  Kids do not want to do mental math, they look for every answer in the calculator instead of looking at the problem first, and the list goes on and on.  On the other side of the fence more time can be spent on problem solving than on “trivial” arithmetic and computation.  Then TI came out with the TI-92 and we were all going to Hell.  Kids will never learn to think if they have one of those devices of Satan.  Now it is WolframAlpha.  I love WolframAlpha.  I can convert gallons to acre-feet in a second.  Admittedly I do not seem to need to do that too often but I can if I want to.  WolframAlpha can do anything I can mathematically dream up.  But it still cannot problem solve.

So back to the cell phone thing.  Ban them from the classroom, use them as needed or accept that the new generation lives on the thing?  I have been taking the middle road lately just to see what happens.  My own little study.  Through diligent observation I have concluded that a student with a cell phone in math class with the intent of using it as a calculator is using it as a calculator about 20% of the time.  Maybe less.  Not very scientific but very realistic.  The gist of it is that cell phones in the classroom are a major distraction and, as the calculator issue proved, users are going to turn into uneducated idiots.  Well, maybe not that bad but the things are going to have a detrimental effect on student focus.  No great revelation there.

I do like then for some uses.  I give my students things like find the length of the major and minor axis of an American football and find its volume.  I do not teach the formula for the volume of an ovoid, they have to find it.  On the way they learn what a major and minor axis is, they have to read a little algebra and they have to find a website that is readable.  It allows me a broader set of problems than the text offers.  Years ago I would have given the same assignment with a CRC manual.  The thing with the CRC manual is when they were done they were not going to continue reading it for entertainment value.  With the phone when they are done they are off to who knows where.

Next year I am going to bail on the cell phone use.  It has great possibilities but the management is just too much to deal with.  Use it once and the kids expect to use it all the time.  With the cell phone they have a strong tendency to not get things done in class.  Or out of class for that matter.

I need a Microsoft school techie camp

April 19, 2016

You know, one of those two day events where Microsoft comes in and shows the school techies everything they ever need to know about what Microsoft can do for a school and how all of it works.  OK, so the camp should be more like 2 weeks but I do not think any techie can commit to something that long or expensive.  Right now I am getting buried by all that is happening in the school tech world.  Things like Office 365 vs Google Apps, EES licensing, Group Policy, Windows 10 deployment, hosted Exchange vs Google mail, OneNote, OneDrive, Azure Active Directory, and about a dozen other things I do not even know exist and would really help my school survive better if I knew about them.

With budgets as tight as they are Google has started to be the go-to option for schools.  The trouble with that is that Google Apps are just not professional grade nor are they the dominate apps in the outside-of-school world.  Google also is not the backbone of a school’s infrastructure.  Servers, login management and computers that use high level software are all going to be Microsoft.  No matter how much school techies complain about Microsoft or try to eliminate Microsoft it is still the King of the Hill.  But Microsoft school techie training is non-existent.  I can get the names of five local Google certified trainers in about sixty minutes.  Trainers who can train the staff on apps and train the techie on deployment and management.  These trainers specialize in schools.  I have no idea where to find a Microsoft trainer who is local or who specializes in schools.  Next month one of the local schools is hosting a two day Google Fest for education.  A third day is the tech thread.  I have never ever heard of a Microsoft Fest for education.  Maybe Montana is too far out for word of something like that to be heard.

There are lots of places to get Microsoft certifications.  School techies do not need Microsoft certifications.   They need to know what is cheap, is going to work and how to keep it working with a $3.85 budget.  Oh, and considering the average training level of the average school techie (I started as a math teacher that could spell Microsoft) they need to know what is idiot proof and stupidly simple to manage.  Example: most school techies can spell SCCM but no school techie has time to fiddle with it for a month to try to make it work.

The school techie job is like nothing I have ever seen in the techie world.  In business the techie is usually a specialist and if it is something outside their realm they call in another specialist.  The school techie, especially a small school, has to be a jack of all trades.  The techie has to have a smattering of servers, wireless, anti-virus, firewalls, content filters, desktop systems, Window, Mac, Chrome, repairs, cable pulling (in dark crawl spaces with large hairy spiders), software of all kinds and a dozen other things they do not know they have to know.  The training for all this is usually minimal.

It would behoove (I do not think I have ever used “behoove” in a written document before) Microsoft to get in the parade before we all get used to suffering with Google Apps.  I have been to a Microsoft show-and-tell.  There is some really nice Microsoft stuff out there but 2 hours is not enough time to do anything but take a quick note to look it up on the internet when back in the office.  When I get time.  Microsoft does have events for teachers.  I have attended a two day event on TouchDevelop and a one day event on Microsoft Innovative Educator (basically Office 365, OneNote and some odds and ends).  The first really does not need any techie input.  The second really needs a techie thread with multiple days.  Guess who is going to get the call when the teacher decides to use these tools and can’t quite figure out what to do?  That MIE event should have been two days just for the teachers and a third day for the techies.

There is just so much happening out there in school tech-land that learning it on-the-job and on-the-fly is not cutting it any more.  If Microsoft wants to keep their stuff in the education market they have to give the training to the people that actually talk to the school administration as to what to purchase.  Yes, events like MIE are important for the teachers, but they do no good if the school tech cannot support it.

Is the Chromebook dead?

April 18, 2016

Last week I saw a $219 Windows 10 Lenovo with a solid state drive.  It booted in about 10 seconds.  It was only a Celeron processor but it was still a nice little laptop.  This seems to be a Chromebook killer.  I have never been a Chromebook fan, paying $200 – $300 for a free browser just seemed a little odd.  The big selling points for the Chromebooks has been the super-fast boot up and the remote manageability.  The first reason appears to be trivial.  In the classroom it is not.  The minute or two of boot time always seems to take longer and there are always one or two out of twenty that are just stubborn and want to take their time.  For often tech leery teachers this time loss just reinforces their opinion that tech is a pain.  Chromebooks were a jewel in the boot up department.  Hit the button and there was the screen.  Of course from there things were limited to a browser but teachers were finding work arounds and good solutions to their needs.  It is the second selling point that really sold Chromebooks and it is the second selling point, in my opinion, that should have never even been a consideration.  Remote management is nice, in fact for a large school with hundreds of computers it is almost a must, but to make a buying and deployment decision based on the convenience of the IT department is just ridiculous.  The shortage of IT staff in schools is a reality so making a decision based on the ability of an IT department to support a device is going to be a buying issue, ridiculous or not.

Due to my school’s economic situation (poor) I as the IT staff do not have a lot of labs or school owned devices to maintain.  We go real strong towards BYOD so the Chromebook vs. Windows laptop has not been an issue for us.  We are looking at expanding our laptop numbers in the elementary school and I was seriously considering Chromebooks simply because of the price.  A decent Windows laptop was in the $400 range, a Chromebook was $200.  With a $219 Windows 10 laptop available the Chromebook is dead. Now if Microsoft would just come up with a way to flash the OS.  Maybe next year.

Square around the screen again

March 31, 2016

Dan and I have come up with a total of 5 methods of programming this little problem.  There are undoubtedly a plethora of good solutions.  I gave this to my programming class to do in Small Basic.  SB is perfect for this kind of little assignment, it does simple graphics without any fuss.  I have three kids in the class.  Two solutions were very similar to the state variable solution, especially since I showed one kid what a state variable did and how it worked and he shared the idea to the other two kids.  I expected the same basic solution from all three kids.  Kid number three had to be different.  He turned in the code and I stared.  “What the heck did he do?!”  It took me a while to figure out he had come up with a recursive solution.  Very clean, very unique.  I love it.

If you are going to teach programming the cookie cutter has to go out the window.  In math there is usually a “best” method to reach the solution.  In programming there are good solutions and bad solutions, all of which will work.  And sometimes there are solutions that are just better than anything you may have thought of.  Smart kids in math are manageable, you know where they are going and what tools they have to work with to get there.  Smart kids in programming find tools you did not know existed and they will use them in ways you never thought of.  I love it.

The continuing sage of moving a square around the screen using a state variable with Python

March 23, 2016

This is fun just finding different ways to do the same simple problem.  After getting pygame working (3 hours?  Again, I am not bright, just stubborn. ) the code was 60 minutes.  I had to look up how to use pygame and found some good examples.  (blit?  Who came up with blit?)  I had to chase down the usual weird things in the code but no big deal.  Being the stone-cold idiot I am I figured if I can get this working with pygame.py I should learn how to do it with graphics.py.  It took me a while (really stubborn) to figure out to copy the graphics class to a text file, rename it .py then drop it into the Lib>site-packages folder in the Python folder.  Nowhere does any clever soul give that little detail.  The directions just say “put this where Python can see it.”  Not good.  Anyway once I got the messy setup details figured out the code with the graphics.py was 30 minutes.  Again I found a nice example.  It still has a minor drawing issue and gets slower with each lap.  Tonight’s entertainment.  I cancelled cable TV so this is my replacement.  (I have to get cable TV back, this stuff is going to make me go blind.)  Dan Schellenberg, where I got the square idea in the first place, picked up on the “let’s do it in Python” idea and has three variations.  The third one listed here is one of his.

Now I stare at these and think “how anal do I really want to get with this?”  I look at the code in those 4 if statements.  They are all the same except for the parameters.  I think I could make that a procedure and pass parameters …  Hummmm.

I really need to do more of these.  All my Python is learned on the job.  For that matter all my coding is learned on the job (except for the 2 FORTRAN courses in ‘71 and ‘80, and one intro Java course in ‘90).  This leads to a rather sketchy foundation and almost no breadth.  I can do what is in the book I am using and only to the chapters I have had time to learn.  Projects like this have no chapter and have no solution determined by the chapter you are reading at the time.

I now have 5 good solutions to this one problem.  Two mine and 3 Dan’s.  Anybody have any more that are simple or have refinement suggestions I could learn from?


With pygame.py.

  1. def main():
  2.     import pygame
  3.     pygame.init()
  4.     width = 500
  5.     height = 500
  6.     white = (255,255,255)
  7.     state = 0
  8.     right = 0
  9.     down = 0
  10.     left = width
  11.     up = height
  12.     step = .5
  13.     main_surface = pygame.display.set_mode((width, height))
  14.     redSquare = pygame.image.load(“redSquare.png”)
  15.     while True:
  16.         ev = pygame.event.poll() # Look for any event
  17.         if ev.type == pygame.QUIT: # Window close button clicked?
  18.             break # … leave game loop
  19.         main_surface.fill(white)
  20.         if state == 0:
  21.             right = right + step
  22.             main_surface.blit(redSquare, (right,0))
  23.             if right >= width – 20:
  24.                 right = 0
  25.                 state = 1
  26.         elif state == 1:
  27.             down = down + step
  28.             main_surface.blit(redSquare, (width – 20, down))
  29.             if down >= height – 20:
  30.                 down = 0
  31.                 state = 2
  32.         elif state == 2:
  33.             left = left – step
  34.             main_surface.blit(redSquare, (left – 20, height – 20))
  35.             if left <= 20:
  36.                 left = width
  37.                 state = 3
  38.         elif state == 3:
  39.             up = up – step
  40.             main_surface.blit(redSquare, (0, up – 20))
  41.             if up <= 20:
  42.                 up = height
  43.                 state = 0
  44.         pygame.display.flip()
  45.     pygame.quit() # Once we leave the loop, close the window.
  46. main()

With graphics.py.

  1. from graphics import *
  2. win = GraphWin(‘Screen’, 500,500)
  3. def main():
  4.     width = 500
  5.     height = 500
  6.     state = 0
  7.     right = 0
  8.     down = 0
  9.     left = width
  10.     up = height
  11.     step = .5
  12.     while True:
  13.         if state == 0:
  14.             right = right + step
  15.             rect = Rectangle(Point(right,0),Point(right+20,20))
  16.             rect.setFill(“red”)
  17.             rect.draw(win)
  18.             if right >= width – 20:
  19.                 right = 0
  20.                 state = 1
  21.         elif state == 1:
  22.             down = down + step
  23.             rect = Rectangle(Point(width – 20,down),Point(width,down + 20))
  24.             rect.setFill(“red”)
  25.             rect.draw(win)
  26.             if down >= height – 20:
  27.                 down = 0
  28.                 state = 2
  29.         elif state == 2:
  30.             left = left – step
  31.             rect = Rectangle(Point(left – 20,height – 20),Point(left,width))
  32.             rect.setFill(“red”)
  33.             rect.draw(win)
  34.             if left <= 20:
  35.                 left = width
  36.                 state = 3
  37.         elif state == 3:
  38.             up = up – step
  39.             rect = Rectangle(Point(0, up – 20),Point(20,up))
  40.             rect.setFill(“red”)
  41.             rect.draw(win)
  42.             if up <= 20:
  43.                 up = height
  44.                 state = 0
  45. main()

With just the native turtle.  (Thanks to Dan Schellenberg.)

  1. import turtle
  2. theWindow = turtle.Screen()          #theWindow.setup(width=400, height=400)
  3. bob = turtle.Turtle()
  4. bob.shape(“square”)
  5. bob.penup()
  6. bob.speed(0)
  7. #determine edges
  8. edgeBuffer = 20
  9. rightEdge = theWindow.window_width()/2 – edgeBuffer
  10. leftEdge = theWindow.window_width()/-2 + edgeBuffer – 10  #the 10 is due to the way that python turtles
  11. topEdge = theWindow.window_height()/2 – edgeBuffer + 10   #draw the square shape…
  12. bottomEdge = theWindow.window_height()/-2 + edgeBuffer
  13. #move to starting location and set original state
  14. bob.setpos(leftEdge,topEdge)
  15. bob.setheading(0)                          #facing east
  16. speed = 5
  17. state = 0
  18. while True:
  19.   if state == 0:
  20.     bob.setx( bob.xcor() + speed )
  21.     if bob.xcor() >= rightEdge:
  22.       state = 1
  23.   elif state == 1:
  24.     bob.sety( bob.ycor() – speed )
  25.     if bob.ycor() <= bottomEdge:
  26.       state = 2
  27.   elif state == 2:
  28.     bob.setx( bob.xcor() – speed )
  29.     if bob.xcor() <= leftEdge:
  30.       state = 3
  31.   elif state == 3:
  32.     bob.sety( bob.ycor() + speed )
  33.     if bob.ycor() >= topEdge:
  34.       state = 0
  35. theWindow.mainloop()

Small Basic and more fun with Python

March 22, 2016

I am always looking for simple programming ideas to give to the kids that make them think and are doable in a couple of class periods.  This little square around the screen is in the general idea.  I figured I would have the kids do it in Small Basic, teach the state variable idea then have them do the same thing in Python.  We had done the traffic signal program earlier this year so the concept is a refresher.  It took me 30 minutes to get it working in SB.  The trouble is I am teaching a Python class.  Python does not have built-in shapes or sprites that animate easily.  You have to use pygame.py or graphics.py.  Both are version sensitive.  Neither is plug and play.  Neither is a nice simple install that the kids could figure out on their own.  The install directions are written by an expert for experts.  So I decide to use pygame to do this exercise.  I am using Python 3.4.  Need the right pygame.  Pygame for 3.4 in not in the usual pygame site.  Search the web.  Find the right pygame.  Delete old version of pygame before installing new version.  (Took a while to figure this little detail out.)  Three hours later I sort of have the program working.

After I get it working in Python I kind of sat back and looked at the process I went through for the last few hours.  Not the coding, that just require picking through the book to get the syntax and working slowly through the programming logic, but at the process required just to get the Python resources ready to go.  I think I can say I could not tell a kid to get this little program working in Python without giving them a whole lot of setup help.

The Small Basic package just makes life so much simple for the classroom teacher.  No install issues, simple IDE, simple documentation, no fuss, no muss.  For a classroom teacher being able to not have to worry about setup, versions (2.7 or 3.5?), multiple IDE choices (Eclipse, PyScripter, etc), and extra packages (pygame, graphics, …) that need to be loaded to do graphics, sprites and so on, is just a huge life saver.  No dinking with the registry and no putting path names in the environmental variables (both things that the average classroom programming teacher would not have access to anyway).

Picking the right language to teach intro programming can be a big decision for a teacher and a curriculum.  You really cannot lose with Small Basic.  Yes, SB is missing some fancy features; parameters, class building and local variables are the big ones I can think of, but those are sort of nice to be missing.  When you reach a point where those are really needed it is time to step up to Java or Python.  I sometimes think the perfect programming language for teaching would have a switch to turn these added features on.  But then the teacher might be tempted not to teach other languages.  Now that would be a big mistake.

Office 365 could be a Google killer

March 17, 2016

Last Saturday I went to a Microsoft Innovative Educator seminar.  Six hours of Microsoft Office 365 show-and-tell.  Good stuff.  Office Mix, OneNote, Office 365, Window 10, Sway, and some other miscellaneous odds and ends.  Way too much stuff way to fast but enough to give an idea of what Office 365 is all about.  The seminar could easily be a two day event.  I went to the event just to see if Office 365 is something my teachers could use.  We are a Google school and although the price is right Google is missing some major feature Office 365 has.  I was hoping to get enough understanding to be able to pass on what I learned to the staff that would be willing to use this stuff.  The seminar was too brief for that.  Even after such a fast show-and-tell I could see huge possibilities for the techie teachers.  Those that feel comfortable using tech tools.  OneNote, Office Mix and Class Notebook could be big for some teachers.  I really appreciate Microsoft for putting on these free seminars but they can be a bit frustrating.  They are teasers.  They show just enough to see the incredible possibilities but do not give enough time to actual learn or practice with the tools.  Missoula County Public Schools (not me, I am the private school) hosts a Google Fest every year.  “Best practices for using Google Apps” kind of thing.  It is not free but there is still a big turnout.  Microsoft needs to jump on this band wagon.  At the moment there are just not enough people in Montana familiar with Office 365 to hold a self-driven event.  Earlier this year I attended a two day seminar on Creative Coding with Games and Apps.  Enough time was spent actually working on TouchDevelop to get a good idea on how to use it.  Office 365 needs something like that.  With some promotion and training Office 365 could bury Google Apps.

After the seminar I hurried back to school with the intent of at least getting Office 365 set up for the school.  I wanted the students and staff to be able to use the free Office 2016 download.  I managed to get my domain verified with Microsoft.  Not a big deal other than getting a magic number to the company that manages my domain name.  After the verification I dug through the Office 365 site and could not locate the download.  I contacted MS tech support (submit the request and 2 minutes later I get a phone call) and after some looking and trying the tech suggests I call sales.  I sent a help request to sales and 5 minutes later I get a call.  I have to have some kind of not free volume purchasing agreement with Microsoft to have access to the Office 2016 download.  Crash and burn.  Some day the administration really has to cough up some money for something like this.  I will be retired before that happens.

Although I am disappointed I could not get the Office 2016 for the kids I have learned quite a bit in the last few days.  The first is Microsoft has really fast, and I mean really fast, tech support response.  The second is that Office 365 has some really cool tools for education.  And third (and I should know this from experience) there is no such thing as a free lunch.


Should we teach math in high school?

March 11, 2016

Should we teach math in high school?  I say no.  Now before you get up in arms with a “math is the foundation of the Universe” argument here is what I mean.  We should not be teaching math, we should be teaching how to learn math.  Look at the average high school math text book, be it Geometry, Algebra I or Pre-Calc.  There is a lot of stuff in there.  Of all that stuff we math teachers teach in a year how much is retained by the average student?  I am talking the average student here, not the kid that is taking 3 honors courses, is applying for MIT and CalTech scholarships and asks those questions in class where all you can say is “give me a day or two to figure this out”.  As a guess (with 33 years of experience behind it) 90% of what we teach in math class goes in one ear and out the other.  Don’t believe me?  Give your usual end of chapter test to a regular class (not the honors kids, most of them are math geeks to some extent and are usually a school minority) on some messy topic.  Trig is always a good one or graphing non-linear functions without a calculator.  Now a month later surprise the kids by giving a test on the same material.  Without even actually doing this you can predict the results.  The scores will be lower.  Of course the level of retention will vary depending on the kid and the teacher but overall we can assume a significant loss of knowledge.  So why are we throwing all this math stuff at these kids when most of it will be gone in a fairly short time?  Personally I think it is tradition.  It is the way we math teachers have done it forever and that is the way we are going to continue to do it forever.  I do not think the results are justifying the means.

Now where did this thought stream come from?  Larry Cuban posted this article from the NYTimes.  Now I admit I read newspaper articles with a grain of salt, most of the time they are just hype and BS but this one sort of hit a chord.  Right now I am teaching a Math II course, primarily geometry and a dash of algebra, to normal every day sophomores.  These kids are not into math.  They do not like math.  Math is boring, confusing, stupid, useless, weird, not connected to the real world, and involves thinking (a skill not high on their list of fun things to do).  Looking at what I have them doing most of the time I have to agree 100%.  So I have been head scratching on how to fix this course without throwing the baby out with the bath water.

Now many years ago when I was in high school (Had to walk up hill in 3 feet of snow to get to school.  Same thing to get home.) when I wanted the square root of 532 to some accuracy better than my slide rule would give I grabbed a CRC book and looked it up in the table or, if a CRC was not handy, I looked in some book for the ugly algorithm to compute square roots.  (For those readers educated in the calculator era this may make no sense to you.  Find someone with gray hair to explain.)  I did not memorize the square root of 532, I looked it up.  In the intervening years looking something up has changed.  Google was invented.  Access to the internet is expected.  It seems to me that the teaching of math has sort of ignored these lovely inventions.  I am trying to correct this oversight in my Math II class, hopefully without losing the baby.

(There is nothing really new here but I live in Montana.  We are a little slow.  One school I taught at had a regular announcement that the kids riding their horses to school were responsible for getting their horse manure at the hitching rail in front of the school to the manure pile in the back of the school.  No shit.  (Slight pun there.))

All the kids have a smart phone and I am expecting them to use it.  The traditional math class consists of “here is a formula (or technique) and here are a bunch of practice problems.  I am trying to reverse that.  Here is a problem, find a formula (or technique) to solve it.  This is not as easy as it seems for me.  For many years I have followed the usual math teaching trend of putting something fancy on the board, explaining it, working some sample problems and then dishing out the homework so the kids can get the concept sort of in their heads.  With the usual results of having to do the whole thing over again the next year for the same kids in the next level class.  An example of my new approach is “Find the surface area and volume of the 5 Platonic solids with edge length 6.”  No preamble, no board work, just a sheet of paper with the question.  “What the heck is a Platonic solid?” they ask.  I reply “You tell me.”  The phones come out, the heads get together, and someone says “I found it”.  I wander around the room.  I do not want them to memorize this formula, I want them to be able to find the formula.  I do not want to teach them the math, I want them to find the math then I will help them figure it out.

Most of the math taught in high school is not something for day to day usage.  It is specialty math.  Even something as common as right triangle trigonometry is a specialty math.  Those that use it regularly (not sure who they are, maybe the building fields, and math teachers of course) memorize it, the rest of the world just needs to know how to look it up and use it once they have found it.

There is one minor problem with this approach.  No phones on the SAT, the ACT, standardized tests, and so on and on.  That is where throwing out the baby comes in.  Maybe if I can just get these kids to not fear math and convince them it is not the child of Satan by using this “look it up” approach maybe they will collect the fundamental skills that makes math doable.

I have a General Mathematics textbook published in 1939.  The chapters look identical to a modern high school/college pre-calc textbook.  The old book is thinner and the chapters are more condensed but it teaches the same topics I teach in pre-calc the exact same way my modern textbook does.  Just no pretty pictures or politically correct “extra” at the end of each chapter.  There is something wrong here.  77 years with no fundamental changes in material or technique.  Try that in Computer Science.

Microsoft Creative Coding through Games and Apps seminar observations

February 24, 2016

Thursday and Friday of last week I attended a seminar on Microsoft’s Creative Coding through Games and Apps.  This is a complete 18 week curriculum written for first time programming students.  It would be best for grades 7 – 9 depending on the kids.  In the beginning I was just curious.  I had looked at this curriculum when it first came out and was not overly impressed.  I am not crazy about video based curriculums.  After the seminar I am still not sold on the video idea but I think what Microsoft has built here had good possibilities.  The curriculum is very easy to tailor to the teacher and students, it comes in Word, and with a little bit of extra work it would be possible to reduce the video time if needed.  One of the presenters, Dave Burkhart, has taught with the curriculum and says the videos do not take over the theme of the course.  The course is still mostly teacher/student interaction based.  The language itself, Touch Develop, takes getting used to.  For old programming teachers (teachers that have programmed for a while in other languages, not teachers that are just old) the language syntax seems backwards in many instances.  It takes a couple hours to get the flow.  I am seriously considering using this with my freshmen next year.  I think multiplatform languages are the teaching languages and industry languages of the future.

The curriculum is definitely written for first time programming students.  The pace would drive an experienced programming kid nuts.  It is also seems to be built for teachers with little passed programming teaching experience.  Not that an experienced teacher could not or would not use it, it is just a bit slow and step-by-step in places where an experienced teacher might use a different approach.  But as stated before, it is easy to rewrite the material.

What I liked the least was the lack of hard copy documentation for the language and the course material.  I like a paper reference manual.  There was material online on the course website but that is just so inconvenient most of the time.  If I want to review I want to be able to thumb through the book, not go find a video.  Apparently this is being written.

More interesting than the course material were the people in the course.  Everything from business teachers that were not sure what programming was to teachers that are teaching APCS or upper level college prep programming.   Uber-geeks to no geek.  Public school, private school, alternative school, it was all there.  Looking at the laptops people brought was very telling.  Teachers from rich schools with i7s or new Surface Pros, to the lady next to me with a school owned museum piece.  (Luckily I brought a spare laptop she used for the whole event.)  It absolutely amazed me how many teachers had to get special admin privileges on the school laptops they were using just for this course.  From this sample of avid computer using teachers most public schools seem to have no trust in their teachers.  There were also teachers that were not too interested in the whole programming thing.  The guy that sat to my right simply said this made no sense and spent almost the whole seminar surfing the net.  Kind of reminded me of some of my students.

A huge chuckle was the tech used by the presenters.  Last month I went to a tech presentation given by Microsoft.  The presenters were wirelessly connected to the projector, used Ink extensively, had everything laid out on a Surface and wandered the room doing their presentation.  Very technologically slick.  This group was a bit lower tech.  Switching the VGA cable to the projector from laptop to laptop by hand, a remote slide advancer that was picky and lots of tech clutter on the table in front of the screen.  The room was fairly large so a wireless microphone was really needed but the presenters seemed to not know how to work it most of the time.  Not their fault.  Most of it seemed to be not their equipment.  Microsoft cannot spring for a projector, a wireless mic and some Surface Books for their people?  I would also have used a wireless projector that other people in the class could project to so programming questions could be put on the screen for the whole class to look at.  The difference between techies and programmers.

It was fun to talk to the people that were actually involved in the design of the curriculum.  I was also able to talk to one of the Touch Develop implementers and one of the Touch Develop code writers.  I was really bummed to find out from him the Mindstorms NXT, EV3, Arduino and Sphero interfaces are no more.  The TD team is only three people so the time to work on all the SDK updates for various platforms is zip.  They are working on the Micro:bit SDK.  Too bad there are no Micro:bits.

So in the end was it worth two days?  Yup.  Is CCGA worth looking at?  Yup.  Do I want a Micro:bit?  Yup.


Get every new post delivered to your Inbox.