Archive for September, 2017

Programming:The Good, The Bad and The Ugly

September 26, 2017

Jeff Yearout posted this bit of Python code in his blog.

def main():
print(‘Enter object types as t for triangle, r for rectangle, and s for sqaure.’)
print(‘Enter numbers only for dimension values.’)
firstObjectType = input(‘Enter type of first object: ‘)
if firstObjectType == ‘t’:
h = int(input(‘Enter height of triangle: ‘))
b = int(input(‘Enter base of triangle: ‘))
object1 = triangleCalc(b, h)

def triangleCalc(base, height):
tArea = 0.5 * base * height
return tArea

def squareCalc(sideLength):
sArea = sideLength * sideLength
return sArea

def rectangleCalc(length, width):
rArea = length * width
return rArea

As soon as someone posts a bit of code on their blog the code geeks start making comments.  Both Mike Zamansky and I made our comments on the original code. I love it.  This is how I learn to code (or not to code, usually when someone comments on my code).  These little snippets and discussions are usually something at the high school level and usually target something simple.  Having teachers presenting alternative solutions for simple programs like this is great for the kids to see.

When learning or teaching from a book the book gives a solution and kids/teacher will assume that is the only and the correct or best solution.  The book does not explain why this is the solution offered or why out of several possible solutions this is the best.  With these little snippets and blog conversations the alternatives come up and usually the teachers commenting will talk about why this is a good or maybe even a better solution.  Most programming teachers have learned their programming skills on the job so their technique is either from the book they found to teach from or it is a bit primitive from learning the language by trial and error (me).  For most of us, this is the only way to improve our programing skills and understand the good from the bad from the ugly.

There is no such thing as professional development for programming teachers.  Taking a programming class at the local institute of higher learning is not professional development for teachers.  A teacher needs to see alternatives, bad code, good code and weird code kids are going to come up with that works.  A programming course does not do all that.  Brave teachers putting their code up for discussion does.

“I have a dream”

September 11, 2017

I tried to watch the XQ school thing on TV.  “Tried” is the word.  I did not realize what it was at first.  Some sort of weird musical?  After a few minutes I realized it was a really weird comment on the US high school system.  A few more minutes and I realized it was a lot of very un-knowledgeable people making very un-educated observations of what high schools should be.  Yes, there was sort of a grain of truth buried in with the dancing and singing but it mostly seemed to lack realism.  Did I miss something or was this really bad?

Here is my list for improving American high schools.

  1. Train administrators to be leaders, not bookkeepers.  Many years ago I worked on an EdD in Education Leadership.  The “Leadership” courses were budget management and teacher evaluation.  No conflict management, no personnel management, no how to get people to work for you in a positive manner, nothing how to actually lead.
  2. Eliminate tenure. If someone cannot teach, they should be asked to find a different job.
  3. Raise teacher pay and make it a difficult profession to get into.
  4. Require a Master’s degree and at least a year of student teaching with a master teacher.
  5. Disconnect school funding from local taxes.
  6. Do not expect all students to graduate from high school. Some are just too lazy or unwilling to put in the work.
  7. Do not attach funding to graduation rates.
  8. Reward students for academic improvement and/or good grades. Do not just give a grade and think that is reward enough.
  9. Make parents responsible for their student’s grades.  (This would probably affect 1-8 above.)

I probably can come up with a couple more but most of these are unrealistic enough.  There is no way most of these could be implemented but it is fun to dream.


The Crazy Season is on us.

September 3, 2017

The crazy season is here, also known as the school year.  I have it pretty easy as far as classes go this year.  My usual senior Stats with 17 students, a Math II with 3 students, a CS class with 2 sophomores and a girl doing a computer animation independent study.  I had these CS kids last year so this is just a continuation.  This year all my classes are on my B day.  My A day is pure techie.  This early in the school year that techie day is busy from 8 to 3.  All sorts of weird issues come up early in the crazy season.  How does a Smartboard that worked fine at the end of last year, then took the summer off, decide it no longer wants to work along the edges?  All sorts of weird things go screwy during the summer when no one is in the building.  Ghosts, that is what it is.  They come in at night during summer.  I am going to get a priest in to fix the problem. It is a Catholic school.  I can do that.

I have the CS kids back in Unity.  I am having them build a simple game for Google Cardboard.  Cardboards fit my class budget.  My class budget is whatever I am willing to spend out of my own wallet.  I really cannot count these Unity classes as programming in the strict sense.  Yes, we do use C# but it is mostly following what a tutorial says to type.  We do spend a lot of time diagnosing what the C# code is all about but that is not the same as understanding the Unity/C# coding to build from scratch.  I consider this more of a research and troubleshooting class than anything else.  Tutorials always have issues so they have to figure out what is going wrong.  Following directions closely may sound like a trivial thing to learn but it is a skill the kids have to get, especially if they actually go into the CS/programming field.  Once we have the Google Cardboard VR working I want them to introduce a Bluetooth controller to the VR project.  Then last I have this Kinect.  What can we do with a Kinect and Unity and VR?  VR and a Kinect?  No idea.  That is why I think of this more as a research class.  I will get them next year with a traditional Python programming class.  I can offer dual-credit to Juniors and Seniors.

The sophomore girl doing the animation independent study wants to make a movie.  She came to me this summer with the idea and I told her if she wrote up a course plan I would take a look and see if it was something she could do.  What she brought me was something a professional skilled at writing course proposals might write.  It definitely looks practical and fascinating.  It helps that her IQ is a whole bunch higher than mine.  I will provide her resources, motivation and then just get out of the way.  I do not want to get run over too bad.  This girl was my tech aide last year.  She was the best aide I have ever had.  She could figure out a solution to almost any computer problem.

One of the great things about teaching at a small school is I can offer kids courses on the fly like that and have classes with only two kids.  The course on the fly thing only works with the right students.  The self-motivation factor has to be high.  For the animation class she is on her own, I am teaching the stats class at the same time and I also know zip about animation software.  It only works with the right student.

It should be a busy but fun year.  Good kids and although the tech work load has gone way up it is fun and interesting work.