Dave Parker
unread,Aug 5, 2011, 2:03:37 PM8/5/11Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to M Academy
In addition to "reference" type topics such as a video on the Move
block, the Loop block, etc., I want to attempt some videos on the
conceptual aspects of programming. As we all know, programming is
harder than just understanding what each block does. For example, the
online NXT-G help provides enough basic reference info on the blocks
for an experienced programmer to learn NXT-G perfectly well, but it
doesn't work nearly as well for non-programmers. In fact, no matter
what you show a non-programmer, there is no magic bullet anywhere. At
some point they will have to buckle down, think abstractly, debug
scientifically, etc, which are not things kids or teens (or many
adults) are used to.
Kids/teens seem trained by video games to just keep looking for magic
keys and such, or ask their friends where the keys lie, which they
expect to unlock the abilities they want in an intuitive way. They
are frustrated and disappointed to learn that programming doesn't work
this way. I don't know the solution to this problem, but I have some
ideas I will give a try if I can.
Having said that, obviously we need a complete set of reference videos
anyway, as many people much prefer a video to reading anything, and
videos have other advantages (per khanacademy). But I will try to
structure any reference videos I make with the conceptual framework in
mind. For example, I am thinking of having a few different "levels"
such as "Beginner", "Intermediate", "Advanced", where at the beginning
of each level you need to view and understand some conceptual videos
before you can proceed to the details at that level. Then many of the
blocks will have a separate video (or several) at each level, showing
use of that block consistent with that level of understanding. For
example use of "Unlimited" for the Move block is not something you
would explain at the Beginner level.
As a more concrete example of what I am saying, I have noticed that
the vast majority of NXT-G users top out at programs that use only the
green (action) and orange (wait for) blocks, such as Move, wait for
touch, move, wait for ultrasonic, move, etc. With such a user, you
can explain one of the yellow sensor blocks all you want until you are
blue in the face, and they will never be able to use it. Truth is,
using sensor blocks properly is quite abstract and requires
understanding almost all of NXT-G and programming in general to use
them effectively.
Roughly I am thinking of NXT-G levels such as:
Beginner: Tops out at a single straight line sequence of action and
wait blocks
Intermediate: Add switch and loops and multiple sequences, still no
wires and therefore no yellow blocks
Advanced: Wires and sensor blocks, simple use of variables, math
and logic
Expert: Data files, advanced use of variables, control loop
strategies, etc.
At each level, I would try to teach using examples that show something
interesting, or at least practical, that can be done at that level,
using the block(s) in question, fighting abstraction-creep as much as
possible.
I suspect many kids will be turned off by how much there is to learn,
but not sure what to do about that. Sadly, interesting things like
proportional line following, need to wait until "Expert". Using more
than one sensor at the same time is "Advanced". There is a ton of
stuff to cover and understand before a new user can get there.
Learning programming takes work, no way around that!
Overall, I'm thinking at least 100 videos would be needed, which is a
TON of work, and why I have been slow to get myself started on
this... Having other authors help out is a good thing, but as you all
know it would be hard to sync together on an overall unified vision,
plus I know many of you want to videos on things other than NXT-G
(which is awesome). Lots of work, yikes.
-- Dave