Guinness flavored ice cream

May 9, 2013

Today I gave a test to the afternoon college class I teach and I got bored.  When I get bored I start thinking about stupid things.  So I started thinking about a problem I plan to present to a 7th grader I am tutoring.  I am going to do some Project Euler problems with him using Small Basic.  This is a very bright 7th grader.  I am sitting there in this test, bored, thinking I would like to start working on the program I want to start him working with.  All I had was my Droid phone and no way to program on it.  There are several web based languages out there for programming but the ones that are semi-easy to work in are for building apps.  I did not want to build an app; I want to build a program that will find the sum of the even values of the Fibonacci sequence up to the nth term.  I want Small Basic on my Droid phone, iPad, or Nexus 7 and I want to be able to share that program on my Windows laptop.  Now wouldn’t it be nice if there was some nice, simple, versatile little language like Small Basic that was web based to cure my boredom?  So I typed “basic” into the Play Store.  Oh goody!  I actually found something!  It is “BASIC!”  It has a manual and everything.  It took me seconds to add two numbers.  (That is after I spent 15 minutes trying to find the equal sign on my phone keyboard.  Who knew that the 1/3 symbol meant “1 of 3” and not one third.)  Not exactly what the doctor ordered but still pretty cool.  I even found a sort of equivalent called Hand BASIC for the iPad.  I can see having all these programming doodlings on three different platforms and no way to do anything with them.  I still want a web Small Basic.  I also want Guinness flavored ice cream.

Why can’t Programming Language authoring companies write good documentation?

May 2, 2013

Last week I saw a link to the new LiveCode Open Source App creating software.  I am always interested in programming languages that might temp kids to be interested in programming.  After a few hours of trying to find a “LiveCode for Dummies” or the equivalent in their tutorials I gave up.  There is a tutorial for “Hello World” and then it jumps to “only professionals need apply” tutorials.  This language looks like something that would fit rather nicely into a high school curriculum.  It is very different from the usual C based syntax so it would offer a new dimension for the kids. The time required to learn and write up material is just beyond the time available.

I have found this lack of low knowledge level, beginner based, progressive tutorials is the norm, not the exception.  Unless a language is written specifically for kids (Scratch, Alice, Kodu) there is nothing at the beginner level.  I realize that these companies are not going to make their fortune from of offering a free product.  And hiring someone to write or produce tutorials for the beginners is a sure way to not make money but you think they would realize that offering beginners well written tutorials will lead to beginners advancing and taking their product with them.  Maybe I give up too easily but I figure if I cannot get something working in an hour or so the writing required to bring it to the classroom would be beyond the time I have available.

Here is my personal list of great opportunities that were, in my eyes, failures for classroom use due to poor or nonexistent documentation or tutorials.

  1. GameMaker
  2. GameSalad
  3. TouchDevelop
  4. LiveCode
  5. C# with Kinect

These are just the ones I remember looking at.  I am not saying there is not good material for these products; I am saying it is not easy to find if it does exist.  Notice that these are all either game writing or mobile device products.  These types of programming languages are just so tempting for a high school programming course.  The kids want to program games and mobile devices and this type of course brings in the main stream kids and the computer geeks.

The only one I really regret not having time for is the C# with Kinect.  This summer I am helping with a local university programming summer camp.  The instructor is using C# to write some simple games so maybe I will pick up enough to get a course started.  Not knowing C# very well myself is somewhat of a drawback.

I presently use Corona SDK for my programming language of choice.  It is still a bit weak for beginner material but there is enough out there that writing and designing my own course is not impossible time wise.  This is also somewhat a case of “teachers teach what they know”.  Programming teachers invest a lot of time learning a language and writing material for a course.  A new language has to offer a lot, especially well written materials, to tempt them to a new path.  Even languages such as Scratch, which are designed for kids, require a substantial amount of learning and writing time by a teacher.  There are a lot of lesson plans and teacher aides for Scratch out there but a good teacher is never really satisfied with cookbook materials.

Some day maybe a big publisher will decide they can make money publishing programming textbooks.  Then we might see some research based course materials for middle school and high school.  I can almost guarantee it will be in some really boring language.

Never a boring moment

April 15, 2013

It is still a zoo around here.  I had a company offer to give me their MDM (mobile device management) software for free if I bought their new content filter device.  I bought the device and have not had a moment to setup the MDM.  I do have the content filter device up and running, but I have no idea how to manage it.  I bought a new firewall device last month to replace the Cisco ASA that seems to like to turn itself off two or three times a year.  The new device is still sitting on my desk.  I spent four hours this Saturday grading Math II stuff.  I had not touched their work for about a month.  I gave my advanced programming class a Mindstorms robot project.  I have not had time to do the project myself.  I am giving a Corona SDK presentation at the university in a couple of weeks.  I spent yesterday writing up material and making sure the setup is going to work.  I really dislike looking like an idiot in front of college kids.  They are usually smarter than I am and see through most of the cover-up BS I can use with high school kids.  I have a staff in-service presentation this Wednesday at the elementary school.  I give it at about 2:45, at 2:46 most teachers want out the door or back in their rooms to do what they consider more important work (grading).  So the in-service has to be entertaining, quick and achieve my goals.  I watched Seb Lee-Delisle’s “From Zero to Angry Birds in 30 minutes”. I want to incorporate the concept into my Corona course and I want to play with the project.  What a time sucker.  What fun.  Programming is a very bad thing for some people.  It is habit forming, requires lots of time, leads to carpel-tunnel and bad eyes and strange looks from the wife and child during my under the breath mumblings.

The only thing that is a saving grace is that it is 40 degrees outside so it is not prime weather for mountain biking.  It was 23 degrees last night and there is fresh snow on the hills around town.  Being an absolute idiot I signed up to do a 50 mile mountain bike race in July. (Supposedly with age comes wisdom.  No, with age comes an understanding that it would be nice to have wisdom.)  I figured I should train a little so I am on the bike every day when the temp is above 50 degrees.  This race is in the mountains above Butte at 6000+ feet.  I live at 3000+.  The word is the race is an a#@ kicker due to long nasty climbs at 6000+ feet.  I am in the 60+ age group so I will have an excuse when 90% of the riders leave me in the dust.  The other 10% will beat me just because I am slow.  My goal for this event is simple, do not be last.  That goal is going to require training effort.  Oh, I almost forgot, I am doing a marathon two weeks before the bike race.  Confirming I am an idiot.

New tech in the classroom – an adventure.

March 26, 2013

In a fit of techie twitching I decided to try some fancy technology in my classroom teaching.  I wanted to do a test review.  The test is a Word document.  I wanted to be able to highlight, underline and circle things and work problems free hand on the Word document.  The classroom I use has a computer and a projector, that is it.  I have an iPad app called Air Direct.  It puts my Windows screen on the iPad which allows me to control the computer remotely so I do not have to sit at my desk to run the computer/projector.  The app works once you figure out what order to do things and remember to set the app to mirror.  Details, details.  The iPad is a bit small to use to run Windows but a fine tipped stylus helps.  Getting that set up was the easy part.  Getting the ability to draw free hand on a Word document is another story.  Word used to come with a feature called Inking under the Review tab that did this task.  Guess what is not built in to Office 2007.  So I went on a search for a solution.  There are several apps out there that do this but are not free.  I live for free.  I kept searching.  No justice.  Think Flint, think!  The school owns some Smartboards so maybe if in install the SMART software I can use it to draw on the Word document.  After installing the SMART software the Start Inking icon magically appears under the Review tab.  Who knew!  So after about three hours of research, trial and error, tinkering and colorful thoughts regarding technology in the classroom I have everything up and running.

It is not a perfect solution, the iPad is simply too small and lag time is a bit of a pain, but it is better than nothing.  It also sort of justifies the iPad the school bought me which I normally use once in a blue moon.  I have got to find $1000 so I can get a Surface Pro.  It seems like the Surface is the tool for a task like this.

There are some lessons learned with all this.

  1. Classroom tech is not always easy.  It seems like the simple tasks are not really simple.
  2. When the Good Idea Fairy sits down in front of you, be afraid.
  3. There is always an issue when trying new classroom tech.  Be prepared.
  4. Actual improvement in instruction using this technology is debatable.
  5. Technology is much more fun than the whiteboard.
  6. I still dislike iPads but there are some nifty apps out there for it.
  7. Do not plan to use new tech tomorrow.  Plan to use it next week after you try it out for a couple of days.
  8. Make sure it is all working when your principal comes into the room for your annual observation.  It was and I was impressive.
  9. Too bad Interwrite/Smartboards are so expensive.
  10. New tech takes TIME!!

Poor Tutorial Kills GameSalad

March 13, 2013

In my usual desire to find greener grass on the other side of the fence I started tinkering with GameSalad.  GameSalad is game authoring software for mobile devices, sort of like Corona but more drag-and-droppish like GameMaker.  The obvious place to start is with the manual that is a tutorial.  So I start working through the Windows manual.  The manual does not match the latest version of GameSalad.  After an hour or so of “huh”, and “where is the thing the manual referring to been moved to this time”, and “that tab does not exist so where do I look now?” I am about ready to give up.  As a semi-experienced programmer that has a stubborn streak I can fiddle, tinker, search and cobble through the manual/tutorial and slowly get somewhere.  As a high school teacher with very little extra time to waste on out-of-date documentation I will no longer bother to look at this software a viable greener grass.  Tutorials make such a significant first impression that a crappy one will eliminate the very large educational programming population for a product. Why is it so difficult for companies to hire a competent individual or team to keep the documentation up-to-date and legible?  This seems to be a persistent problem industry wide.  I gave up on GameMaker because the tutorials were written by someone who assumed the reader knew how to use the software already.  I will give up on GameSalad because I do not have time to rewrite the documentation to fit the software.  The companies will not lose big bucks if I do not use their software.  They could lose big bucks in that I do not introduce their software to 20 aspiring game writers every year.

Actually, I do sort of understand the documentation problem.  My one short (six month) professional experience working for a software company showed me the issues involved.  This company wrote 911 call-in software.  One of my friends worked in the documentation department of the company.  She literally had to walk around and ask the programmers what changes they had made in the latest version of the software.  If she was not quick enough the department that handled updates would send out the updates without any documentation.  The next couple of days were always interesting for the customer support people.  And of course they blamed the docs people who blamed the programmers who were oblivious to the whole issue.  Read Dilbert and watch Office Space.  Exact fits for this company.  I cannot image the company is unique.

Here is a solution.  Hire a bunch of high school programming teachers to write the tutorials and pay them in free licenses for their classrooms.  (OK, many be squeeze in some $$ there somewhere.)  Wow, good education based documentation AND a bunch of kids that know how to use your software.

Why Programming is so Hard to Teach

March 9, 2013

OK, so maybe not hard for other programming teachers but for my sample of two it is by far the most time consuming and can be the most confusing course we teach.  The difficulty is there is always something new and interesting to teach.  In my usual lifelong rebellion against status quo I am always looking for something new and fun.  Yes, we could make a very secure and consistent Java or VB curriculum that we could teach the same way every year.  The kids would learn some programming skills and probably, except for the few and far between uber-geeks, never to take another programming course again.  Instead we have to make programming interesting and fun.  What a couple of idiots.

We already are using Corona (Lua) as our second semester teaching language so the kids can learn a little game writing.  So what if we have no real lesson plans, not a lot of experience with the language and a horrible debugger.  It is free and it is fun.  Kids take a second and third semester of programming because they like programming in this language and making little games.  Amazingly enough, along the way they learn some programming!

I have eight Mindstorms robot kits sitting on the shelf.  I have not used them in a couple of years because I hate the NXT-G programming environment and I cannot afford enough licenses for RobotC, which I do like.  Then last month I stumbled on Enchanting, a Scratch based language for controlling the NXT robot.  So why not try this?  I only have to learn how to make it work with the NXTs, learn the idiosyncrasies of a new controller language and build a robot.  Oh, I also have to figure out a direction to take the students.  Details, always details.

A thought comes to mind, there is a Kinect/Scratch interface and there is now a NXT/Scratch interface.  Now can I get the Kinect to command the NXT through Scratch?  Can I use this to get kids interested in programming?  Dang, programming is hard to teach.

Using Corona Crash Course video tutorials in a programming classroom

March 1, 2013

In an earlier blog I mentioned I was going to try to use some video tutorials with my Programming II/III class.  These tutorials, Corona Crash Course, are very good compared to many tutorials I have tried to watch.  They are short (most are about 6 minutes), and fairly to the point. Since they covered material in a different way than the text I am using and they directly built a little game I thought it would be a good direction for my class.  I have had less than stellar experiences with video tutorial previously but I thought I would give it one more try.  The class I tried these in consists of nine sophomore and junior boys.  A couple enjoy programming and are considering it as a possible future.  The others are there because they did not want to take the other elective offered that period.  They are capable, just not enthusiastic.  I thought the game making scenario in the tutorials would entice them enough to keep them focused and on track.  It worked for a while.

The problem as I see it is not the tutorials themselves, but the inconvenience videos present.  My programming class meets every other day.  Between each class there is some loss of “what did I see last time”.  So the kids would have to go back and refresh themselves.  There was also the problem “which video did I see that in?”  The kids might have to look through a couple of videos to find what they were looking for.  This is a bit of a pain.  The quality of the videos seems to not be the issue.  The video format is the problem.  The solution would be if each video had a series of notes to go with it.  Something in the direction of what each video covers and the important points it makes.  It is so much easier to look back a few pages in a book than trying to find the place in the video you want to see again.  The author of the video strongly suggests typing along with the video.  This is great if the goal is to make the exact same project as in the video.  I want the kids to take what they are learning and tweak it to make their own but similar game with modifications.  Videos just do not lend themselves to this tweaking.  A textbook with videos would seem to be the best teaching approach, the text for reference and the videos to show how the code/project should look.  The videos definitely help in understanding the progress of a game project but a text is needed to help with explanations by filling in gaps and to speed up reference searching.

If I had time I would love to build a text to accompany these videos.  I think with that add-on this series of videos would be great for a high school classroom.

Math II need a new direction or I am going to get the kids lost

February 22, 2013

Besides being a CS teacher I also teach math.  I typically have a senior stats course and a sophomore Geometry course.  My school has two sophomore math tracks, honors and regular.  Most kids are in the honors track while the regular track ends up with kids that often have math learning issues.  Fairly normal kids that just do not think the way math requires.  I teach the regular track and I am terrible at it.  Math geeks should not teach those that just do not get it.  Those that claim “set expectations high and the students will achieve them” are used to teaching students that want to achieve a certain level of proficiency in a subject.  If you have trouble understanding ½ is the same as 2/4 proficiency is not your personal goal, survival is.  The textbook we use for regular sophomore math is a new Geometry book, supposedly a very good one.  Lovely pictures, very multicultural, lots of very fake applied problems and long drawn out explanations that no student is ever going to read.  Maybe it is a great Geometry text but I think it could be half as thick, half the price and twice as good.  If a math teacher needs their hand held because they do not know any math or are afraid to teach then it is probably a great book.  The methodology is simple and traditional.  Discuss how to do the assignment with the relevant theorems and etc., do some examples, and then have the students do a bunch of problems.  Textbooks have been doing it this way for a long time.  It is almost like textbook time stands still.  There are computer related exercises in the text but they are sort of incidental and optional.  Euclid could probably understand a good percentage of this book, and most books of its type.

My average student is ADD/ADHD/OHI or some other letters issue.  Traditional is not a good route for them and it like watching toast cook for me.  (I probably meet some of those alphabet issues.)  So today I decided I am going to try my own thing.  Remember, I teach at a private school, I can try things to make the results for my students better.  I am going to try basing everything I teach this group on an inquiry based approach.  Today I told them to find an app to compute the surface area and volume of a regular right prism.  I gave them a rough definition of regular right prism and let them loose.  I want to target a concept then have them dig up the math on the internet.  The idea is undoubtedly totally original as are my usual ideas.  Yeah, whatever.  I have got to do something.

I am a very traditional teacher, I like the security of a good textbook and I like deriving solutions to tradition problems.  As a result I ignore a whole 20 or 30 years of computer technology and little inventions like Google.  Math teachers have been teaching the same stuff for ever.  Look in an Algebra II textbook.  Except for some minor add-ons the concepts are the same in a book published in 1913 or 2013.  It is the exact same stuff I did in high school in almost the exact same way.  I even remember some of the problems being the same.  “Math does not change.”  Play with Wolframalpha and say that again.  Maybe the math did not change but the method of looking at it sure has.  “But the students will not understand the underlying fundamentals.”  These students struggle with adding fractions.  Underlying fundamentals are not their need.  Being able to find a method to solve a new problem is a need.

I want to teach these kids to be able to find the math to find the answers to problems.  These kids do not “find” things in books, they use the internet.  Heck, so do I.  When I wanted to find the area of a regular polygon it was Google to the rescue.  There was even a link to the steps to deriving the formula.  How many people even know what a CRC handbook is anymore?  The difficulty to my new wonder method is that strong traditional streak in me.  One reason people become math teachers is they enjoy teaching things that interest them and are therefore easy.  Traditional math is “easy”, something new is difficult.  There is also the little detail of building relevant exercises that will direct the kids in the direction I think I want them to go.  I do believe that the majority of the concepts covered in a traditional textbook are relevant; I just want to approach them from a totally different direction.  The status quo is just so nice and warm and comfortable.  Too bad I do not like it.

Corona mini assignments

February 13, 2013

I have started making the students do a daily programming assignment using Corona.  I typically give a larger assignment, lecture a little and then turn them loose to work on it at their own speed.  Kind of like the assignments seen at the end of the chapter; read the chapter, do the assignments.  The problem is I am getting two out of nine with the focus to read through the chapter (or watch the videos) and the other seven asking what they did and pretty much copying it.  The daily assignments are maybe 10 lines of code but it builds on or uses the previous assignment.  I am using the Crash Course videos at the moment and the assignments target a concept from one or two videos.  I take what the video taught them and tweak the assignment so the kids have to do something semi-original using that concept.  They will end up building a game similar to the one in the videos but it will be their art, logo and so on.  They really do not want it to look like someone elses game and they are trying to outdo each other to some extent.  I did this mini-assignment business last year  with the textbook I was using but in my infinite wisdom I did not write anything down.  I am taking notes this time.  What an original idea.  The tricky part is making the assignments easy enough to do in a period or two yet not so easy they do not have to figure things out.  There is a side effect problem involved.  The kids will get wrapped up in the “art” aspect (finding a cooler spaceship object to move) instead of working on getting the thing to move.  They will spend an hour looking through Google Images and then cannot figure why the assignment is late.  Win some, lose some.

I have also gotten them off the computer lab machines.  My computer lab is a very unique mixture of computers, a couple are even less than 5 years old, so we were having graphic  card issues with some of the not so new machines.  We got a very nice technology grant this year so I bought the kids in the class that did not have them a laptop.  No more problems in that area.  I am also employing Google Drive to manage assignments.  It is easy to share the assignments and I am going to have the kids turn in their programs in shared folders.  The school is transitioning to Google Apps and this will get me a core of Google trained kids.  Two birds with one stone.  I am also supposed to train the teachers how to do this so this is my major test run.  More dead birds.

Corona – the continuing saga.

January 30, 2013

So I am starting to cook along with the Corona programming class.  Lots of teething issues.  I have a rather hodge-podge collection of computers in the programming lab and some of them do not have a video card that meets Corona’s openGL 1.3 requirement.  Run down to the big lab, swap old POS with newer (only 6 years old) computer and problem solved.  Since I want the kids to learn how to install the software I have to make them local administrators on the computer they are working on.  I want them to save their programs on Google Drive so kids that do not use Google Drive have to test the login and password I gave them and learn how to use Google Drive.  Some of the kids are using their own laptops, which I want, but there are some issues there.  One kid’s laptop thinks there is a second monitor plugged into it when there isn’t and keeps opening Corona on the non-existent screen.  At least that is what I think is happening; the second Corona window in the task bar but not anywhere else we can find.  So we are having fun.

I have started on a syllabus for the course and intend to update it as I test it against reality as opposed to imagination.  I am also dinking with the format which is why the columns are there at the end.  The other programming teacher in the school can spell Corona but that is about his total knowledge on the subject.  He is going to try and follow my syllabus.  Poor sucker.

No matter how this works out this year, I will not be bored.

 

 

Programming with Corona Syllabus

Resources

1      “Beginning Mobile App Development with Corona” by Brian Burton, Ed.D.  (BMADC)

2      http://masteringcoronasdk.com/course-game-dev-crash-course/

3      “Corona SDK Mobile Game Development_ Beginner’s Guide” by Michelle Fernandez.

4      http://developer.coronalabs.com/resources/apis/

Progression

1 hr – Pre-preliminary Tasks (teacher must do):

Give students local admin privileges on the computer they are going to be working on.

If BYOD be sure computer has the capability of running Corona SDK.

Build group for class in Google Apps.

Teach Google Apps if necessary.

Share documents with students.

Check videos from Crash Course will play.

Describe course to students.

 

1 hr- Preliminary Tasks (students can do):

Build Corona account (need email address).

Install Java JDK

Install Corona SDK.

Install NotePad++ or Outlaw SDK

Build file storage on Google Drive. (You want to do this for grading purposes.)

Setup dual computers/monitors.  Not a requirement but sure make life easy.

Share resource documents with students.

2 hrs – BMADC ch 1

Extra Teaching Topics:

Corona file management – all needs in one folder

Three windows – Terminal, Simulator, NotePad++

Terminal window error statements

2 hrs – BMADC ch 2.  Do projects at end of chapter.

2-4 hrs – Crash Course.  Build project as the videos play.

3 hrs – BMADC ch 3.  Do projects at end of chapter.

 

 

Hours Task Resource
1-2 Pre-preliminary   Tasks (teacher must do):

Give students   local admin privileges on the computer they are going to be working on.

If BYOD be   sure computer has the capability of running Corona SDK.

Build group   for class in Google Apps.

Teach Google   Apps if necessary.

Share   documents with students.

Check videos   from Crash Course will play.

 

 
     
     
     
     
     

 

 


Follow

Get every new post delivered to your Inbox.