Archive for February, 2016

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.

New toys are a comin’

February 17, 2016

I had Dr Hunter Lloyd from Montana State University visit to talk to one of my programming classes.  He is a CS and robotics professor doing some cutting edge work with Google and Intel. I can say I have had my mind blown for the day.  He had a prototype phone which has an upper generation Kinect-like multiple camera array in it.  You can walk around recording a 3-D image of your house, save it, program characters, mount the phone in a Google Cardboard and play a first person shooter in your house with a virtual array of good guys and bad guys.  You have virtual guns, bullets and so on.  I will let you imagine non-FPS, non-gaming uses for a device like this.  Supposedly it will be available in May.  He is connecting this device to a robot.

I figure I have 3 more years of teaching before I retire.  I think I will then move to Bozeman and work on a CS degree just so I can play with this stuff.  Now if I can only convince my wife that this is a good idea.

Programming Software for Beginners revisited

February 4, 2016

Back in October I wrote about Programming Software for Kids.  Well I had my freshman tech aide Meghan (a 14 year old girl that is an extremely smart geek) go through a list of languages/environments I could think of for kids.  I wanted her to look at how hard it was to get going in the language.  Now being extremely bright (sort of scary smart if you get my drift) her comments are a bit above normal and may not fit the average kid.  I gave her a form to fill out for each application.  She took that form and made it better.  (Did I mention she is smart?)  She had no experience programming in any of these languages/environments.  She is more of a hardware/systems specialist and is just getting in to programming.  I am going to cut and paste her document.  I provided her with nothing but a list of apps and a computer.  It is an interesting read from a novice’s prospective.  I did not edit the following, it is all her.  I have a new aide this semester.  Another smart freshman.  I am going to give him the same list and form and see how they compare.

Programing Software for Beginners

 

Alice

  • standalone
  • It isn’t very easy to get started in the software.
  • Installation is required
    • It is easy to install.
  • There are tutorials on the website (but they are not very good).
    • They are pretty hard to find. I had to look for one that was halfway decent.
    • They aren’t very easy to follow.
  • The website isn’t all that easy to navigate. They don’t separate their different programs’ tutorials all that well and whoever is in charge of the site needs to update it.
  • Alice is meant for beginners but it isn’t very novice friendly
    • It may look fun to a beginner at first but it is not

CodeCombat

  • standalone
  • It is easy to get started (but you need an account).
  • Installation is not required.
  • CodeCombat is basically a tutorial/game in one.
    • The tutorials are easy to find.
    • The tutorials are easy to follow.
  • The website is easy to navigate.
  • It is very novice friendly and great for beginners.
    • It’s very fun, especially if the beginner programmers enjoy RPGs[1]

CodeHS

  • standalone
  • It is easy to get started, but you need to make an account.
  • Installation is not required
  • This whole site is a tutorial.
    • They are easy to find.
    • They are easy to follow.
  • The website is easy to navigate.
  • This is a very novice friendly site.
    • It looks fun, but not in the same way as Kodu. It still is enjoyable.

Gamemaker

  • I was unable to get this game to work on my computer.

Kodu

  • standalone
  • It is easy to get started
  • Installation is required
    • It is very easy to install.
  • There are tutorials in the application itself, but not on the site.
    • They are easy to find.
    • They are extremely easy to follow. It tells you step by step exactly what to do as you do it.
  • The website is easy to navigate
  • This is a great language for beginners and it is very user friendly
    • To a beginner it looks so fun!

Kojo Programming

  • standalone
  • It isn’t very easy to get started.
  • Installation is not required but it’s easier to just download.
    • You have to install Java too, but otherwise it is easy to install.
  • There are tutorials on the website in both pdf form and eBooks you have to buy.
    • They are hard to find.
    • The tutorial is sort of easy to follow, but it’s just throwing information at you (not very organized)
  • These people really need to update their site
  • This is not novice friendly.
    • It looks rather boring. All Kojo is teaching is turtle programming.

Project Spark[2]

  • standalone
  • It is not easy to get started; you have to get a Microsoft account, then get Xbox Live, then have internet to actually use the game. If you have these three things then it should be rather easy.
  • Installation is required
    • It is very easy to install as long as you have a Microsoft account.
  • I was unable to find tutorials on the website, although they may be in the application itself. I couldn’t check.
  • The website is easy to navigate
  • It is a great language for beginners, although it may be best if they try Kodu first.
    • It looks very entertaining to beginners.

Scratch

  • standalone
  • It is easy to get started, but an account is needed to use the online version
  • Installation is not required but it is optional
    • In order to use it you must have Adobe Flash. Otherwise it is easy to install.
  • There are tutorials on the website.
    • They are easy to find ( under HELP on the site)
    • They are extremely easy to follow. It tells you step by step exactly what to do as you do it (like with Kodu). It gives freedom but still teaches.
  • The website is easy to navigate
  • This is a great language for beginners and it is very user friendly
    • It looks very fun to a beginner.

Small Basic

  • standalone
  • It is easy to get started once you read the tutorial.
  • Installation is required
    • It is very easy to install.
  • There is a tutorial on the site in pdf form.
    • It is easy to find (it’s on the main page)
    • It is easy to follow, although it does go on about things the programmers should already know, such as what programming is and such.
  • The website is easy to navigate. It does look a bit outdated though.
  • I’ve never used this before (although I have used Visual Basic) and it’s easy to learn by using the PDF.
    • To a beginner it may not look as fun as say, Scratch or Project Spark. It is entertaining after messing around with it (or maybe that’s just me).

Touchdevelop

  • standalone
  • It is easy to get started. If you want to save your progress/apps you should get an account but that is simple.
  • Installation is not required.
  • There is a tutorial on the site.
    • It’s easy to find.
    • It is sort of easy to follow. They start you in the middle of a complicated project and even though they tell you what to do, they don’t really explain what the rest of the code is.
  • The website is easy to navigate.
  • It is only sort of novice friendly.
    • The software looks pretty fun to a beginner.

 

[1] role playing games, for those who don’t know for some reason

[2] I was not able to actually use this game on my computer because of problems I still have to figure out, so I wasn’t able to finish this. I was able to play for a short time on Mr. Flint’s computer though. It’s fun to make the character swim to the edge of the world and fall.

Kids and Mindstorms robots, oh lovely.

February 3, 2016

I am helping with an after school robot club with the Lego Mindstorms EV3.  Ten middle school kids, disappointingly all boys.  (Next time we do this I will recruit but this is not my club.)    The program is run by a guy (Brian) from Montana Tech University with a grant to have these after school clubs.  He has a list of objectives the kids are supposed to get the robot to do.  It is real interesting to watch the kid/robot interaction.  Some kids are strictly on task with the objectives on the sheet of paper.  Other kids not so much.  I wander around the room and observe (I am the official school representative) and help if I can.  They are using the EV3 software which I am not real conversant with yet but I can get the kids pointed in the right direction.  I was so tempted to tell the kids that took off on a tangent to try and stay on target.  I watched what they were doing and let them go with it.  They wanted to control the robot with a Bluetooth game controller one of the kids had brought in.  Absolutely nothing to do with the task list.  These kids were deep into the problem solving loop.  Trial and error, head scratching.  Trial and error, more head scratching.  Absolutely great to watch.  They got it going with the controller and then with their smart phone.  The process they went through was what teachers’ dream of.  Kids totally focused on solving a problem and working through the logic of why it will not work.

Even the kids that do not wander off task are deep into problem solving skills.  Since there is only one person (Brian) that knows the software and the kids are in about six groups they have to do a lot of learning on their own in regards to the software and the logic required for the program.  It is truly amazing what they can figure out with little or no help.  Admittedly this is a smart group of geeks but I am still amazed.  They have enough knowledge of what a loop and an If statement do that if I suggest they should use them they are good to go.  A combination of trial-and-error and head scratching gets them to where they want to be.

I have helped with a class using Karel the Dog (a code.org digital, on screen programmable dog).  The difference in the enthusiasm and effort to reach the objective is dramatic.  Yes, the Lego robot takes a lot more time.  The robot has to be built and there are cables to deal with and a lot of table space is needed but from my somewhat limited observations the results are well worth the added time and hassle.  If the funding is available the physical robot is worth it, especially for after school clubs.  Not only is the programming and problem solving in play, but the actual building of the robot is an educational experience for many.  Many kids simply do not play with building type toys any more.

I have to make sure this club keeps going.  The Mindstorms robots belong to Mt Tech so once Brian is done with the club we lose the robots.  I need to do some head scratching.