Archive for December, 2018

Absolutely nothing to do with computers

December 17, 2018

This is the picture I have on my home screen.  The picture has given me hours of sanity. I look at it and do not think of computers, programming, math, school or bills.  

These cabins are at the Magruder Ranger Station by Darby Montana, about 60 miles from my front door. This is the beginning of the Magruder Corridor.  The Magruder Corridor is a 122 mile dirt road from the cabins to Elk City Idaho that I believe is unique in the US. It goes smack dab through the middle of two wilderness areas, the Bitterroot Wilderness to the north and the Frank Church – River of No Return Wilderness to the south.  There is about an 80 mile stretch that you cannot get off the road with a motorized vehicle or bicycle. I have not done this road all the way on my motorcycle but it is on my bucket list. I am thinking late this coming summer is the time. The ride requires either a large gas tank or judicious use of the throttle and a lot of coasting or a spare can of gas.   I will have to do a little mileage testing. My little 650 (the bike in the picture) has a 5 gallon tank. At 40 miles to the gallon I should be good but I know from previous experience that dirt roads and low speed can use more gas than expected.

This will have to be a two day trip.  From Darby to Elk City on dirt is going to use me up so I will have to take regular fly fishing breaks.  From Elk City to Missoula by pavement is a long ride. I might just turn around and come back through the corridor.  There are pros to both routes. The road coming out of Elk City to Hwy 12 is supposed to be a knee draggers dream. I have not done it yet.  Highway 12 from Lowell to Lolo is one of the premier rides in the US. I ride it regularly. If I go back through the corridor I will have to fly fish both ways and camp overnight in the wilderness.  It might take three days if the fishing is good. Ah, gee.

It is fun to plan things like this during this time of year.  Skies are gray. Not enough snow to go boarding yet. Too icy to go mountain biking.  I went cross country skiing yesterday but it simply is not the rush boarding and biking give.  So it is time to plan for the next summer’s adventures.

There is one minor glitch to this whole thing.  If I go fly fishing for two or three days and the fishing is good the wife is going to be upset.  Lacking the subtlety a good marriage requires I would take pictures of the fish. I will show the pictures to my wife.  She will get grumpy. (She is really into fly fishing, much more than I am.)  I will have to suffer the burden.

Android App Course: so I am not done

December 14, 2018

I have been playing with LiveCode.  I made the Flappy Bird game from the free Udemy LiveCode course.  There were some of the usual glitches as with any video tutorial using an old version of the software but no big deal.  I even managed to get the game on my Android phone but due to screen sizing issues it is unplayable. I assume there is a way of adjusting the game to fit the screen size but I will worry about that later.  It is obvious this is a non-game app making environment so I probably should have found a tutorial that made a non-game app. Oh well, it is what I found first and it did give me a good idea how the IDE and the language worked.  The IDE and the language are not a major difficulty. It is definitely an option between App Inventor and Android Studio. My biggest problem is I have been coding in C based languages so long that this language would take some getting used to.  I would have no problem using LiveCode as an intro level course. I do think I would think twice about using it with students that are already familiar with Python, VB or Java. Maybe think twice but do it anyway because it is just so cool.

I found a couple of other app building possibilities.  

Jon Howard responded to one of my posts with a suggestion of looking at Basic4Android (B4A).  Not free ($59 for the cheapest version, there is a 30 day trial) but reasonable. There is a free version called B4J for desktops but it looks slightly different from the B4A. B4A looks really usable for those of us used to Visual Studio.  I was going to build a simple app with it but hit a bit of a wall, no “simple or first app” tutorials on the web site. There are a lot of tutorials on the site but nothing leaped out at me as “The Idiots Guide to Programming with B4A”. I have started digging through the YouTube offerings but that will take a while to sort junk from worthwhile.  Hopefully I can find something in 30 days.

I also stumbled on an IDE called Stencyl.  Not free and not cheap. $199/yr for the Android version.  There is a free version but it publishes only to the web. It is similar to App Inventor and Thunkable in being drag and drop.  It is a game maker like GameMaker Studio, not really a general app builder.

I revisited GameMaker Studio just to see if there were any changes in the IDE.  It has gotten expensive. There is a free version but it will not publish at all.  For the Android version it is $130 per seat. That seemed to be a perpetual license as opposed to Stencyl but still out of my range.

What a teacher uses really breaks down to the course objective.  If the objective is to end up with students able to build professional Android apps and step into industry there really is no choice, Android Studio is it.  AS is not for the faint of heart, either teacher or student. If the goal is to have the kids just build a simple Android app then the options are a bit wider than I originally expected.  App Inventor, Thunkable, LiveCode and B4A depending on time, energy and money. The time factor is how much time the teacher has to proof the various IDEs and build a course. App Inventor has a whole curriculum out there ready to go for the beginning CS teacher.  Cyril Pruszko has written a good program for teachers using LiveCode. Look here and here.  There is more than enough to get a course built to your own tastes.  With B4A you are on your own. Nothing new there but it still requires time you may not have.  

If the course objective is to build games then there are some very good options.  Unity and Corona SDK are free and there is a lot of teaching materials out there. GameMaker and Stencyl are simply to pricey for my blood and are pretty limited on their versatility.  I can build what they build with Unity for free and build a lot more other things, VR for instance.

Everything I have looked at so far has strengths and weaknesses (except Xamarin, no strengths I could find).  Nothing instantly leaps out at me and says “Use me! Use me!”. For teaching, everything, except maybe App Inventor, requires time to plan and write.  I plan to give LiveCode a go next semester with some experienced kids. I also plan to look closer at B4A and at least build a simple app with it. YouTube forever.

Scratch: kids stuff only my @#$

December 13, 2018

I can program pretty well in Scratch.  Any high school programming teacher that has been teaching programming for a few years can program in Scratch.  Even if they have never seen Scratch before they can figure it out pretty quickly. This on the other hand is not programming in Scratch.  This is the result of a Scratch god. The author of this did not sit down in front of a keyboard and hammer it out.  This is the result of hours of planning and design. At least I hope it was the result of hours of planning because if they sat down and just hammered it out I am…, well, to tell the truth I would not know what I am.  Amazed, impressed, humbled, worshiping, something. Even with planning I am several of those and more. I do plan to look at the coding for this and get some ideas.

Android App Course: the saga ends

December 10, 2018

I am done.  My brain is tired.  Here is everything I could find that will build apps for Android.  

  1. App Inventor
  2. Thunkable
  3. LiveCode
  4. Xamarin
  5. Android Studio
  6. Corona SDK
  7. Gamemaker
  8. Unity

There are more out there.  For instance I found reference to making apps with Python.  Not easily but it can be done.

I did not look at all of these in intimate detail but I did try to write an app with all of them.  Some of these I have used in classes (Corona, GameMaker, Unity) , others I just looked at in the last couple of weeks (Thunkable, LiveCode, Xamarin).  I have done a couple of week long professional development summer camps with App Inventor. I have been tempted by Android Studio for a number of years.  

Here is a very short comment on each.

  1. App Inventor – large following and lots of stuff out there for it. Has some connection issues to phone and emulator is weak.  Not for professional use.
  2. Thunkable – On the same level as App Inventor.  Plus and minuses over App Inventor. Not for professional use.
  3. LiveCode – Uses its own language which makes me leary of it.  I could not get the emulator to work.
  4. Xamarin by Microsoft – Almost nothing out there as far a good teaching material.  Some tutorials but I had difficulties trying to get them to work. It glitched on me.  Professional use.
  5. Android Studio – the premier Android app writer.  Professionals only. Has possibilities for advanced high school.
  6. Corona SDK – game writing.  Some good tutorials out there.  
  7. GameMaker – games only.  Simple 2D games. Very specific environment.  
  8. Unity – professional level 2D and VR games.  Lots of material out there.

Which to use has a lot to do with your objective.  If you want to offer a low level class where the kids get to write some simple apps and have some fun, App Inventor or Thunkable are both good options.  If you want a 2D game making course Corona SDK is a far better option than GameMaker. Corona uses Lua, a very basic scripting language that looks very traditional.  GameMaker works well but the language is a dead end as far as a stepping stone to more advanced languages. Unity has some major possibilities if your objective is a more advanced game writing course.  

If you want the kids to write real apps in a language that they can carry and use out of high school Android Studio is the only way to go. Dumbing it down for high school might take some work. Or offering some strong prerequisites is a possibility.  There is no “beginners” route for AS.

Here are my choices.

  1. App Inventor for a limited course for younger kids or beginners.  Test phone connections, twice.
  2. Corona SDK for a 2D game programming course.  Easy and the language is a traditional line code environment.
  3. Unity for a VR games.  Some good tutorials out there.  Real fun for the kids.
  4. If you want the kids to actually make a real app in a project based course there is no choice other than Android Studio.  It will take a lot of work on the teacher’s part and commitment by the students.

I was really tempted to dive farther into LiveCode but I just was not up to learning a new language.  Since Java/Javascript, Python and C# are the dominant languages for education I am not sure teaching a language that is used only in one environment is a viable direction for teaching.  This is more of a personal decision on my part. Learning any programming language will make the transition to another much easier. If I have an experienced programming student looking for an independent study I would not hesitate to have them work in LiveCode.

Xamarin seems an odd duck.  The IDE looks really sweet and being based on Visual Studio can make it very comfortable for teachers experienced with VS.  There is just nothing I could find as far as teaching materials. The tutorials I tested just did not work due I think mostly to version updates.  I looked at Xamarin University but was put off by the “experienced C# users” notice. If I am going to learn and use a professional level tool I want a lot of beginner support.

This review is 100% biased in that if I could not get the software working quickly and easily it went on my naughty list.  If I could not find a substantial amount of teaching material either in the way of documentation or good tutorials it hit the naughty list.  If the emulator had issues it hit the naughty list but it was not a deal killer. Of those that had emulators, Android Studio is the only one I had no emulator issues with.  Doing this software search has taught me emulators look cool but nothing compares to actually putting it on the phone. Putting the apk on Google Drive and opening the apk on the phone from there is slower but works.

Android Studio will take some work to bring to the high school classroom but it looks like it will be worth it.  I will not do AS this year but I will start assembling and testing material for next year. I have a couple of programming geeks that will be seniors next year.  Perfect guinea pigs.


Android App Course: The continuing saga

December 6, 2018

I have been digging and looking at suggestions.  Thunkable was pointed out to me. I tinkered for a while then handed it off to my uber-geek sophomore for evaluation.  I liked it better than App Inventor. It does have the handicap of needing an Android phone plugged into it (the emulator works but has issues) and it does not seem to work with tablets (I only have one to test with so do not take that as gospel but Doug Bergman could not get it to work with tablets either) but it does connect every time to the phone.  My test student had the most interesting comment. He said it did not have enough programming blocks so it was limited in what it could do. It also glitched out on him a couple of times. My final and admittedly limited evaluation is that it is better than App Inventor in some aspects, but just barely.

The next thing I stumbled on (I should not be stumbling on these things, they should be known to the CS education world as common language) was Microsoft Xamarin.  I had seem the word before but it was not impressed on me that it was an app builder. (I need to pay more attention to what I read.) I am in the middle of the Microsoft “Hello, Android: Quickstart” tutorial.  I have observed/learned two things so far.  First Xamarin does not seem that much different from Android Studio from the beginners point of view and second I really hate tutorials that do not match what happens on the screen as you do the steps.  I am only a short ways into the tutorial so I am evaluating the tutorial more than the Xamarin at this point but it took me 30 minutes to figure out why my UI does not want to look like the tutorial’s UI.  The only reason I figured it out was because I had worked through an Android Studio tutorial and I guessed the drag and drop process of building a UI was the same. Little things like this can really put a crimp on a teacher wanting to use a piece of software for a class.  The Microsoft Computer Science Teachers Network on Yammer  has a Xamarin group but it seems pretty dead.  I have not been able to locate anything in the way of tutorials or texts that would be useful at the beginner or high school level.  Microsoft really needs to bring back a K-12 software support and development team.

After looking at both Android Studio and Xamarin I think with work and careful writing they are usable at the high school level.  It would definitely not be an intro to programming course like App Inventor is intended for as in the APCSP curriculum but for a select course they are a possibility.  The problem is the “work and careful writing” would be a lot of work and a lot of writing and testing. Not something most teachers have time for. One of the respondents to my initial Android App Course post, Brian Meerman, is using it at the high school level with success.  It sound like the students are well prepared before taking the course.  Xamarin requires more digging.

I will continue to look for the perfect middle ground for app writing. I am still looking at Corona SDK as the best in-between programming environment but the fact it is primarily for games sticks a pretty big limitation on it if trying to build a project based course.