Archive for October, 2013

Ain’t no CS in Montana

October 20, 2013

Thursday and Friday were the Montana Education Association’s conference days.  I looked through the sectionals for something relevant to CS.  Zip.  The closest Montana has to a CS teacher’s group is the Montana Council for Computers & Technology in Education (MCCE).  The sectionals for this organization are more teaching with technology, not CS; things like teaching with iPads, how to build a classroom web site and so on.  I thought about getting involved in this organization but I after looking at their website they are oriented in a different direction and might take some serious bending to go the CS direction.  I started thinking I need to get a Computer Science Teachers Association (CSTA) chapter started.  I looked at the requirements for getting a chapter started and hit a glitch.  To start a chapter there must be a minimum of 5 members.  I know of 3 CS teachers in western Montana, and two of those are in my school.  And as strange as it may seem, that may be all there are.  The Montana Office of Public Instruction claims there are only 5 schools in Montana offering CS.  I do not believe this but I know the number is not much bigger.  The spread-out nature of Montana and the fact that each school district is an independent entity makes it a bit difficult to actually find these CS teachers; who is teaching what is sort of word-of-mouth.  Finding CS teachers in Montana could turn into an interesting project.

Advertisements

Comments on Codea

October 11, 2013

I have had my six advanced kids working with Codea for the last few weeks.  Codea is a code editor built on Lua for writing code for the iPad on an iPad.  I am actually impressed with the editor and its capabilities but as I have said before I really do not think the language I use is all that important.  What are important to me is how interested the kids are in learning the language, how good the material (tutorials, books, forums, etc.) that goes with the language really is and how much effort I have to put into adapting it for my class.  Codea has been very good primarily because of one contributor, Dermot Balsom (ignatz).  He has written two free short very useful ebooks and a number of very nice tutorials.  There is enough in his material to get the kids started and to get them far enough into the language so they can actually make some fun little apps.

A number of these students worked with Corona last year.  While both use Lua the way they handle graphics completely different.  This difference is going to be great for learning a new language.  They are going to see different languages have different purposes.  I am still thinking about the differences myself.  Hopefully we will see the obvious advantages of one over the other for different applications.  Since I am not a wiz bang programmer this should be an interesting experience.  I hope to have them write a simple game in each language to get a comparison.  From what I have seen so far I think Corona is more powerful with more versatility.  Codea’s plus is you can actually code on the iPad.  The adventure is well worth the $9.99 for Codea.

The Usual State of Confusion

October 6, 2013

As usual my Programming I is a mess.  I have one kid smarter than me and loves programming, one kid not smarter than me but a hard worker and wants to like programming.  Then ten kids that are the usual main stream group, willing but not overly impressed. And a girl that thought programming meant playing computer games and is doing everything she can to get out of the class.  In an effort to make things work and not have two bored kids I have taken the two overachievers and put them in a separate room with a Corona book.  The girl is probably not going to be able to transfer out and, I have a feeling, is going to decide “this class sucks” and is going to pout her way into a terrible grade.  Too bad, she is not stupid, just not very mature.  Hopefully I can find something to tweak her interest.  The other ten are going to have some fun and incidentally learn some programming and computer tech.

As usual I started with Scratch.  I am not a big fan of Scratch.  For simple programs and as a pure introductory language I think it is great but as soon as kids get a general idea of how programming works I like to switch to Small Basic.  Scratch can be a little frustrating when the sprites do not behave as expected.  Some cool things can be done with Scratch but as the program gets more complicated I think it starts teaching bad habits.  I guess I am also a bit of a traditionalist when it comes to languages; I like my code in lines.  The other programming teacher stays with Scratch much longer and has good results with his classes.  He is a business teacher that learned his programming with Scratch and Small Basic so his expertise is different than mine.  He is much better with the beginning kids than I am.  I am a geek, he isn’t.

The two kids I gave the Corona book to should be an interesting study.  The uber-geek kid is going to be the teacher for the non-geek but smart kid.  The uber-geek has very little programming experience and had definitely never seen Corona.  We will see how good Brian Burton’s “Beginning Mobile App Development” really is.  Brian has a new book for high school; I probably need to give the kids that one instead.  Both kids are interested so I should not have a problem with them getting off task.  Come on, I can dream can’t I?  With them in a separate room next door that does present a bit of a problem for me jumping back and forth but it seemed the best option.  I guess we will see.

My advanced class is going winningly.  We went through the little problem solving exercise with the series problems.  The kids figured out the algorithms rather quickly.  We are now working in Codea.  Why Codea you ask (or not)?  Why not?  It is a nice C based language (Lua), it has fairly good documentation and some nice beginner level books and tutorials, it is free (this is a biggie), and best of all it will write apps for the iPad which is of great interest to the kids.  Over the years I have decided that the language I teach with is totally irrelevant to the student’s future in college.  It is more important to get the kids excited about what they are doing.  Beating a boring language into their head just means most of them will not consider a future in computers.  I would rather generate a lot of average programmers out of my little high school program than 1 or 2 high speed types.  Those high speed types seem to be able to take care of themselves.  So long as they can problem solve the language is irrelevant.

The first issue with Codea was finding 6 Ipads for the kids to use.  I borrowed 4 from the elementary school and had a couple spares in my office so we were good to go.  Originally I thought Codea was very similar to Corona.  Both are based on Lua so I thought that would give me a leg up on the kids and my knowledge would transfer over.  Opps.  Yes, they are both based on Lua, which is the only similarity.  In Corona you build an object, make it touch and physics aware and away you go.  In Codea there is no connection between an object and the screen.  It is possible to move an object around the screen but the approach is completely different.

Teaching a new language is always interesting.  There is learning the language itself of course but that is usually the “easy” part.  What is more work is building assignments and a teaching plan for the kids.  I have to go through the documentation and sometimes rewrite it for the kids level.  Dreaming up assignments so I have something to base a grade on is often the biggest pain.  I will get a good idea, give it to the kids then discover the project is a bit more than I expected.  I try and base my assignments from the reading but sometimes I forget what their knowledge level is and over think a problem.  I try and do the assignment before I assign it but I am often doing the course on the fly just a couple days ahead of the kids.  Then sometimes what I think will take a couple weeks takes them a couple of classes.  Win a few, lose a few.  Taking on a new language keeps it interesting for me too.

Computer Science is a fast changing subject unlike math, history, English or most science classes.  There is always something new and interesting to try out.  I could make life easy and teach the same Java or Visual Basic class that has been taught by programming teachers for 20 years but how boring.  There are enough boring teachers teaching boring subjects.  Teaching is way too much fun to screw it up with boredom.