Archive for July, 2017

Mommy, where does curriculum come from?

July 27, 2017

Many years ago when I started this teaching business I thought the stork (a euphemism for textbook publishers) brought curriculum.  About year two of my teaching career the school was going to update the math curriculum so we ordered preview copies of textbooks and looked to see which fit what we wanted to do closest, then modified what we wanted to do to fit what the textbooks said we should do.  Poof, we had a four year curriculum.  After all, the authors of the textbooks had letters after their names and therefore should know more than we “no letters after our names” teachers.  But the seeds of doubt on the stork story were being planted at this time.  I had some Apple IIes and some TRS-80s and wanted to teach programming.  (At the time I did not know there was such a thing as CS.)  I checked on the stork.  In 1983 the stork did not deliver programming curriculum.  There was no watermelon patch (the internet) to look through so there was me, Seymour Papert’s “Mindstorms” and some programming magazines.  Curriculum appeared.  It was sort of an immaculate conception thing.  One day it was not there; the next day it was.  There was not a lot of thought, research, prep or anything else intellectual involved.  I needed something to do with these computers now, so I dreamed something up the day before school started and started building curriculum on the fly.  Thirty-plus years later I am still building curriculum on the fly.  The stork still has not showed up but luckily the watermelon patch has gotten real productive.  Just to keep the analogy going the watermelon patch can be pretty tricky, some are rotten and you really do not know it until you cut it open and others are not quite ripe.

Many years have gone by and for math curriculum I still rely on the stork, but now I no longer try to fit my curriculum to what the authors with the letters after their names say to do.  Now I know what I want to do (still no letters after my name but a whole lot of water under the bridge) so I see what the stork has to offer and cut-and-paste the heck out of it to make it do what I want it to do.  Cherry picking is just so much easier than growing my own.

For years I have had to cherry pick for my CS and programming curriculum.  The trouble is the cherries are really small and far apart, after all they are in a watermelon patch.  The stork just has not come through.  Since I have all that water under the bridge I have a pretty good idea of what I want to do and where to find resources in the watermelon patch.  The trouble is I have a lot of water under the bridge and therefore can separate the good watermelons from the bad.  Most of the new CS/programming teachers are living in a drought.  They could use a stork.

As much as I hate to say it, the stork has to come through if CS is going to succeed in small schools and rural states.  In Montana most schools are small and rural.  The experience just does not exist to build a decent curriculum or, in most cases, a decent syllabus.  No matter what our opinion of stork designed curriculum, the stork drives curriculum for many teachers, especially new ones, many schools and even a few states.  It has to come through if there is going to be some kind of homogeneous “sort of agreed upon” CS curriculum.  Those guys with the letters after their name do sometimes make sense.

A curriculum is more than a semester syllabus.  It is a multi-year program that builds from the beginning to a penultimate course, be it an AP course in some form, a locally developed course or a dual-credit course.  The stork has the power and time to produce something that big.  Those of us making our curriculum with little cherries are purely in survival mode.  What the stork brings also gets shared nation-wide.  It gets teachers looking at the same load of stork poop.  The teachers may not like what comes down but at least there will be a lot more big cherries to pick from.

Are there any K-12 curriculum writing projects in progress?  Maybe I just am looking in the wrong parts of the watermelon patch.  Many years ago I watched the grandfather of the UCSMP math curriculum be developed and written.  (It was written at the University of Montana.)  It was big news in math teaching circles.  The NCTM Journal promoted the curriculum writing project.  I can find no news on CS curriculum writing projects.  The CSTA has a good set of Standards built but I can find no curriculum development based on those.  The CSTA site has some curriculum outlines but these are not to useful to beginning CS teachers.  Beginning teachers need something with suggested assignments, pedagogical suggestions, and hand holding.  Something that says “Do this, this and this.”  Something that is 100% canned and ready to go.  Something that will work for a couple of years until the teacher learns how to wander the watermelon patch to find the tasty ripe ones.

At this point we need some people with letters after their names to step up and write some good stork poop.  I am not thinking someone should come up with a K-12 curriculum.  I am thinking more like a two or three year curriculum that is not two or three years of programming in language X.  It would include programming but would address other CS topics.  Of course what those “other CS topics” are is part of the Great Debate.

I am so glad I have no letters after my name and besides, as can be seen by my mixing of storks, watermelons, cherries and bridges, my writing style is not fit for public dissemination.

Why teach coding? Because it is all we know.

July 20, 2017

Schools are all about teaching coding.  From talking to teachers and looking at what high schools are offering it looks like there is no intent to teach CS or programming (by my definition programming includes UI design, algorithm development, problem solving techniques, pseudo code, flow charting, code design (away from the computer), and a large number of other tasks that are done away from the computer).  Most of the courses I have seen offered (admittedly a small sample but I feel it is very representative of the high school norm) are syntax courses: Python 101, Java 101, Scratch, or whatever.  Teaching problem solving or computational thinking is purely accidental.  Now why is this?  I see it as a combination of several things.

First, and maybe most common, many people (administrators in particular) think CS and coding are synonomious.  Opps.  They are not.  Coding is typing programs.  CS includes coding as a small subset of topics.  Of course, what topics are part of CS seems to still be up in the air.  When I decide I have to have EdD. after my name I will define high school CS and all the topics it should include and build a curriculum to address those topics.  Until that time I will avoid defining high school CS like it was the Black Plague.

Second on my list is that coding is comparatively easy to teach compared to full blown CS.  There are a lot of resourses out there for teaching coding.  Free textbooks, tutorials, coding academies, dozens of great languages, cool game engines and so on and so on.  A new coding teacher can stay a day or two ahead of the kids in the book/tutorial and come out with a halfway decent coding course.  To teach CS or even programming you actually have to know stuff.  You should probably have actually taken some college level courses in CS.  You should probably be able to at least spell pedagogy, even if you are not sure what it means.

Third, and most intimidating to me, is that CS is not really well defined.  If I want to offer an Algebra II course I can pick up one of a couple dozen textbooks that will give me a great idea of what Algebra II consists of.  That textbook will have the somewhat agreed upon topics, scope and sequence, and many pedagogical suggestions.  CS seems to have absolutely nothing.  Get a group of K – 16 computer teachers in a room and ask them what CS should include.  The middle school teacher (for example) is going to say Office and Photoshop.  High school teacher #1 (for example) is going to say that is not CS.  High school teacher #2 is going to say it needs to be taught so where else but in CS is it going to go?  High school teacher #3 suggests that the English department should teach Word, the Math department should teach Excel and the Publications or Art teacher should teach Photoshop.  (Hell immediately freezes over.)  The college teacher is going to say something the K-12 teachers do not understand because they have never taken a college CS course, they have only attended one-week summer in-services on coding.

The first teaching job I had was as a math teacher.  That first year I followed the book exactly.  I had four years of college math and did not have a clue as to how to help a student learn how to complete the square.  The book did.  A new CS teacher does not have this guide.  They are on their own.  So what are they to do?  Teach something where there are many guides available.  Coding.  Kind of a loop thing we have going here.


It is not about coding

July 13, 2017

I was chatting with a teacher friend of mine about the difficulties he was having teaching programming in his technology class. He teaches a section on robotics in his practical technology classes using RobotC and Lego Mindstorms.  He is not a programming teacher; he is a machine shop teacher who has graduated to some very advanced computer controlled manufacturing machines.  He offers an engineering class with the robotics section and his thought was he should be able to teach the kids the syntax of RobotC and they should be able to figure out their robot projects from there.  It is not working out.  The kids simply cannot figure out what to do.  My friend suffers from what I see a lot in inexperienced programming teachers, the idea the programming is all about knowing how to type code.

Many beginning programming teachers have a fixation on coding.  (I differentiate programming and coding.  Coding to me is writing and typing code.  Programming is the complete package: algorithm design, building a user interface, and a whole lot of things that are done before sitting down in front of a keyboard.  I do this just so I can separate the two behaviors.)  I have attended two week long summer camps for teachers, one from Microsoft about Touch Develop, and the other just this summer about a curriculum written at Montana State University on how to teach Python.  Although both camps were for teachers neither dealt with any pedagogy on how to teach coding or programming.  Both stressed syntax and how to read the curriculum they had designed.  It was implied in both camps that although pedagogy was important it was something that would somehow be easier that coding and syntax.

This is where I start waving my hands above my head and using phrases like “Are you out of your frigging mind!?”  To teach programming, or even coding, it would help to actually know how to teach programming and coding.  It is necessary to know to step away from the computer and teach kids how to plan and think.  Things like how to disassemble a problem into manageable parts.  These are not skills the kids are adept at.  These are skills many teachers are not adept at and therefore need to be taught to teachers.  Previously I talked about how surprised I was at the lack of knowledge the new teachers had towards how to teach programming.  Little things like having the kids write the procedure for building a peanut butter and jelly sandwich then having a second kid follow those directions, or when programming with turtle graphics having the kids either walk or use something like a toy car to follow the desired path. To those of us that have been teaching programming since FORTRAN was popular these are common teaching strategies.  To new teachers they seem to be a revelation.

My friend feels he should be able to point the kids at syntax, and from there they should be able to figure it out.  After all, he figured it out that way.  The trouble with that strategy is he is not a 16 year old male whos brain is still not completely wired.  Those thinking skills that require logical steps, organized thinking, and all sorts of brain skills required to program have to be taught.  Considering the students my friend has (he does not get high-level thinkers or computer geeks) what he wants to do in a couple of weeks might be difficult in a couple of months.

My friend’s goal is to teach problem solving.  Teaching coding does not teach all the preliminary work needed to teach or learn problem solving.  Without that preliminary structure, he is just going to frustrate himself and his students.

Going Old School, not quite clay tablets but close

July 5, 2017

I am going to be teaching Math II again next year.  The course is some Algebra, some Geometry and some of whatever comes to mind as I go along.  The students are a good group, just not mathematically oriented.   I do have a major problem when I teach this course, I get bored.  And if I am bored then the kids have to be beyond bored.  If I start progressing through the book page by page and chapter by chapter then we all go into a vegetative state.  High school math textbooks are not designed to teach math, they are designed to force math down the throats of unwilling students and to give the teacher a lazy way of doing it.  OK, a bit of an exaggeration but textbooks put me to sleep so they have to kill the kids.  I need to start digging up some interesting stuff that will still get some real math taught.  I think I am going to approach this two ways, no-tech and high-tech (sort of).

No-tech.  Most of my math students have zip for estimating skills, no ability to do simple math in their head, think Satan brought fractions to Man and that using the WAG method to start solving a math problem is a cardinal sin.  (Catholic school, we can think things like that.)  (What is the WAG method you may ask?  I was taught this method in one of my calculus courses many years ago.  It has held up to the advancement of technology well.  It is still one of my favorite problem solving strategies.  So what is it?  Well you start with a wild assed guess (WAG) and go from there.  Clever huh?  What do you want?  I have spent the last two days troubleshooting laptops and reimaging computers so I am just a bit giddy and more than a bit brain fried.)  So in an effort to address some of these student handicaps (I think they are handicaps) I am going old school.  No calculators.  There will be tears and protests.  I expect picketing.  But that is OK, we are not going completely “device” free.  I collect slide rules.  Yup, we are going really old school.  I am going to reintroduce the slide rule to a math class in 2017.  Those of you that have used a slide rule remember the lesson when using a slide rule (other than knowing how to work the thing), you have to have an idea what the answer should look like.  If multiplying 23 X 562 you have to know the answer is somewhere in the 10,000 to 12,000 range.  It is all about place value and being able to do some simple math in your head.  Slide rules also lead into addition as multiplication.  (Adding exponents.)  It should be interesting.

High-tech (sort of).  I want to do a lot more with Excel.  Build some number crunching spreadsheets.   I was considering doing some turtle geometry but that may be a bit to tech intensive.  Teaching them a language and some geometry might be more than this group can handle.  I will have to think about this more.  Using tech with student often brings in a level of complication that these kids have problems with.  The problem is more often than not a focus issue.  Cruising the internet is a lot more interesting than doing a geometry problem on the computer.  These are not the kids that get interested in what math can do for them and why it is interesting.  These are the kids that find school an inconvenience to their social life.  One thing I am going to de-tech is phones.  Last time I taught this course I allowed the use of phones as a calculator.  Not a good idea.  At this age the kids are simply not mature enough to not get distracted by cat videos.

I have to be somewhat careful what I do with these kids.  The course is pretty algebra intensive in order to get them ready for a pre-calculus course.  The teacher they will get for Math 3 and pre-calc is big into old school hand algebra methods.  Me, I am more into WolframAlpha and just solving problems.  If I point out to the kids that factoring polynomials by hand can be done on only on a special set of polynomials so do not bother learning how to factor polynomials their Math 3 teacher would not be happy with me.  So I cannot abandon this ancient math.  Standardized tests seem to like this stuff.  I rather like to do this stuff too but then I think Project Euler is a fun website.  And I collect slide rules.