So far with my studies I'm finding an inherent problem with trying to teach, and I'm sure its something that anyone who has ever attempted to teach multiple people - especially in a group - has encountered. The problem is that everyone is different. Particularly for teaching, everyone has different skill levels, ability to learn, willingness to learn, and also different levels of interest in the taught subject. This makes it very hard to fit the curriculum around a group of people, because some will excel and some will struggle, and some just wont care.
You even see this in everyday life. Computer programs often have a 'quick-start guide' to explain the basics to the people who don't have a clue. Video games have easy, medium and hard settings to suit the n00bs up to the hardcore players, and mobile phones will have an 'Advanced Settings' menu that only the brave should dare to venture.
The reason I type this is because while I am researching easy ways for people to prototype, and entry level routes into coding and App building, I cant help but think about 2 things;
One, are these basic introductions applicable in industry? Would you let a brick layer build a house if all you've taught him is Lego?
Two, what if some of the people this is teaching are far beyond this - find it child's play, or simply want to investigate further in their own time?
These resources should open up as many doors as possible and not restrict people to only the basics. They should encourage curiosity and let imaginations a skills flourish, prepare them for the real world but still not forget about the people who just want to complete the task so they can pass their degree module.
So this is why bridging the gap is so important, and why I'm looking at services like App Inventor as good examples. Just the other day I found out about the App Inventor to Java bridge, which is doing a great job at flattening the learning curve between simple block-interface coding and Java, the primary protocol used for coding Android applications. But not only that, it introduces the concept of having an Interface Builder separate from the code writing elements, and how they interact with each other. This is the same as in xCode when writing iPhone applications. So along with a few other parallels between the two approaches, students can relate what they learnt with the basic system to what they would encounter when tackling the more advanced tools.
On the ladder of learning, there should be many rungs so students of different skill sets and abilities can jump on when they want. The resources should be there to support this.
Showing posts with label App Inventor. Show all posts
Showing posts with label App Inventor. Show all posts
Tuesday, 15 November 2011
Monday, 7 November 2011
Hardware meets apps
Ok, so the Lego Mindstorms NXT robot kit I got last week is an awesome plaything, but it also packs some cool features, namely Bluetooth support. This opens it up to being controlled by (or controlling) all sorts of things, including PC's, tablets, phones and iPods.
In this demonstration I built the shooter bot (one of the several robot variations that are in the kit instructions) and have controlled it with my android phone, with an app built in App Inventor (see previous post about that).
I have to admit, the blocks (code) that I used in app inventor were not all my work. I gave it a shot, but even with a nice graphical block interface, there are some complicated processes you need to go through to make this work, like the Bluetooth connectivity, and the control statements to command the motors. So I got a headstart using sample code from The AI Repository, a folder of pre-built programs you can load straight into App Inventor.
I made some changes, added some extra buttons, arranged them into a directional layout and put in an "Action" button, for any functionality the front motor has.
Anyway, here's a little video of it working below, it's shooting stuff and spinning around. While Your watching it, chill out to some dub reggae in the background.
App inventor > Java Bridge
I've been using app inventor on and off for a few weeks now, and its pretty good. As a graphical way of realising code blocks, it does a great job, while still retaining the logical thinking required in real code writing. But, as an educational tool, is it the best way? Surely it isn't very applicable to the real world, and not good for people who actually want to learn to code?
Some developers in the AppInventor forum have created an AppInventor to Java bridge. This means that students who start with App Inventor can use these graphic block components in the Java-based Android SDK. The student can use as many or as few as they like until they start feeling more comfortable with the Java environment, thus graduating the transition. An ongoing project.
More can be found here
Some developers in the AppInventor forum have created an AppInventor to Java bridge. This means that students who start with App Inventor can use these graphic block components in the Java-based Android SDK. The student can use as many or as few as they like until they start feeling more comfortable with the Java environment, thus graduating the transition. An ongoing project.
More can be found here
Tuesday, 1 November 2011
Toys
A package arrived for me today, a Lego Mindstorms NXT kit! With these things you can build robots, program them on a computer and even control it with apps made in App Inventor. A great example of mechanical prototyping and interface design in a package that effortlessly connects with students of all ages? Maybe. But who cares? I'm busy re-living my childhood.
Subscribe to:
Posts (Atom)

