I am going to attempt to make some educational recources for the Arduboy, for use within the classroom.
If anyone has any suggestions , anything they have already used or tried please let me know.
When I complete some drafts I will post them here for comments and constructive criticism
I am going to attempt to make some educational recources for the Arduboy, for use within the classroom.
Sweet I’ve always just studied the examples and pong clones and other simple sketches. But also my cousin helped a lot mostly because he explained thing well.
an explanation and example of everything in all arduboy librarys would be epic
This would require someone explaining this to me first ! ha!
or much playing around with it till you figure it out but i think thats the most needed thing, maby teach as you learn?
“Begin at the beginning," the King said, very gravely, "and go on till you come to the end: then stop.”
Charles Dodgson (aka Lewis Carroll), author of “Curiosa Mathematica, Part I: A New Theory of Parallels”, “A Syllabus of Plane Algebraic Geometry”, “The Theory of Committees and Elections”, “An Elementary Treatise on Determinants, With Their Application to Simultaneous Linear Equations and Algebraic Equations” and “Alice’s Adventures in Wonderland”.
In all seriousness though, I think the most important elements are (and yes, I get that you’re probably aiming this at younger students and some of my suggestions may be a bit too complicated for them):
- Examples of functional programs and explanations of why they work.
- A break down of how to do the simple things like checking buttons and getting images on screen.
- The basic aspects of programming (variables, loops, functions)
- A note on the grammar of programming (because programming languages are in fact grammars and it’s important that people truly grok that languages have grammatical rules and computers are very strict about those rules).
- An excercise which provides some examples of programs with bugs that the reader must diagnose and fix.
Also (I’m going to get yelled at for this one, I can feel it) please try to get people to use C++11 features like
enum class and
constexpr. If any of your students end up wanting to be programmers both they and the world will thank you for teaching them modern best practise and not bogging them down with archaic bad habits that are hard to break.
So I plan on making some little cards with activities … so you achieve something … but at the same time learn about say, what a function is … What libraries are. Many children will have only ever used blocky code , they need to learn what is really happening, how written code works. In the UK python is commonly taught but variation is important so they need I know that white space matters in some languages and not others (for example) need to learn the vocab and why things are the way they are (if it will not confuse them) but starting small, have text appear on the screen etc. Work up … each time learning new vocab and the ‘rules’ an then master it by experimenting. Plus if it is little activities then questions can be written to make sure children understand what they are doing.
I have almost finished one card but yes starts at the begining.
Also I will look into explanations of functions I. The libraries … make some sort of glossary cards? Maybe organised by most commonly used together. Our summer holiday is not here yet so … In the summer I will have more time to explore. If anyone wants to message me a few function and simple explanations from time to time I can get on that and update slowly. Would be very useful.
Next year we are looking to push into education!
Wow if I had this when i started! I had to learn the hard way.
The content looks great, the rounded rectangles are getting different radius’s depending on their dimensions which is playing with my mind.
Content is the part we are most after, I think if multiple people contribute to that then we could use a single unifying graphic design.
But, yes! This is good!
Oh I know the boxes were winding me up a little too, but didnt want to keep messing around with it further, it is a rough draft and as an idea for a resource. I want to introduce something like this (as a trial series of fun lessons) term 6 this year (June 18) ideally. The content and style is what I was aiming for. short instructions with information. teachers can then make a question sheet afterwards. I.e give me an example of a Function or how do you add a comment. if people are happy to give me how to’s im happy to put it into a child freindly format
a unifying graphic design would be awesome. these can be used on a whiteboard or as single sheets would look ace in a computing classroom with copies of the magazine for shildren to look at to come up/ develop ideas through the ideas given in the different volumes.
A good kind of question to have is probably a multiple choice “what is wrong with this code example”, since that would be effectively training the students to spot bugs, both run time and compile time.
In fact, maybe having separate tests focusing on language errors like “there is a missing semicolon” or “the variable x has not been declared” and runtime bugs like “the up and down buttons are moving the square in the wrong direction” or “array indexes start at 0, the first item in the array is being missed”.
For simpler tests something like “highlight the function” and “which line is drawing the box on the top right of the screen” would be good too.
I recommend checking that the design is suitable for colourblind students. About 4.5% of the population of Britain is colourblind, and I suspect it might be more in other countries. This is even more important for young students who are less at ease with their condition and would find the inability to see a graphic properly quite frustrating.
Just a thought. It would be good to be able to say the teaching resources are “colourblind-friendly”.
No multiple choice! Oh mylanta!
I went out to lunch with bunnie today and chatted him up about educational materials. He suggested, and I agree with him, that it’s better to create learning objectives that can be met subjectively by applying the learning methods.
I only suggested multiple choice because I find that one of the biggest problems people have when discussing code is that they know what they want to say but can’t find the words to express it. This would be especially true of younger students.
My focus on ‘younger’ students is because I seem to recall @Zanners59 mentioning she is a primary school teacher so it makes sense to focus on that context for the time being.
Subjectivity does have its flaws, but thankfully most flaws can be reasonably well ironed out by having a panel of people (i.e. a table of judges) decide on the final mark. I’m not against that idea, but I think younger students have to be approached differently from older students, just as students who are being forced to do programming but don’t necessarily want to learn programming should be treated differently from those who have opted to do programming as a vocation. In primary and secondary education, you’ll have more of the former, but in tertiary education it’s reasonably safe to assume most people are in the latter camp.
Pardon my ignorance but who is Bunnie?
(Disclaimer: I don’t use Twitter so this is probably just me being out of the loop.)
Minor soap-box moment, feel free to ignore:
Personally if I were in charge of the secondary/tertiary education system, programming would be assessed 75% by making a person write actual programs and only assign 25% to supplemental essays, possibly no exams whatsoever. I’d also make part of the assement involve making the student explain the code to an assessor to prove they know how it works without any internet access or prompts.
I got really annoyed with how everyone in my college classes left with a bit of paper saying “I can program” when a reasonable number could barely get their programs running and only understood about half the code they’d written.
That might seem harsh, but letting inadequate coders work for a company negatively impacts both the employer and the end-user, so it’s in everyone’s interest to actually assess skill and not merely how many facts a person can regurgitate onto paper.
I believe programming should be treated more like a skill/trade instead of something that’s purely academic (like maths, English, history, geography etc). (Obviously computer science leading up to doing research and writing papers is a different beast, but personally I make a distinction between programming and computer science.)
Many teachers will have their own learning objectives which they would like to set, depending on age range, ability, etc, by producing a resource you can enable teachers to use the resources to suit their own needs within their curriculum plans. we could develop a scheme of work … in time…
however developing reources first would allow teachers to explore arduboy (particularly with primary students) as say a Gifted and Talented group, compare to blocky code and after a few tutorial plans that take them through a variety of actitivies (making a sprite, moving a sprite using buttons etc the children could use their knowledge to come up with their own ideas supported by teachers and learning to test, de-bug and explore coding themselves.
I agree no multiple choice. but thats up to the teacher and the class. for me comparing blocky code and written code to help conversion across would be a benifit, and begining to understand more langauage involved with coding at a young age so that they have a well rounded understanding is important. children are now coding (in my school anyway) and using language such as ‘algorithm’ from 5, but other schools dont start till they are 7 or even 9, what you want to achieve with different ages and abilities will vary massivly.
For the example above I would be using this (resource) within an introduction lesson - something to get them to use the step by step to explore the IDE and find their way around independently to achive this, gaining some understanding and then asking different questions to different children, some i might ask to show me the same code on a blocky system and or python to develop their understanding of similarities and differences (how thay can use some of their old knowedge to develop further, others i might ask them comprehension questions based on the knowledge given on the resource.
The majority of the class would need to write comments on their code which shows their understanding of what is happening and print this to keep for future work. The next resource would not re-explain some of the knoweldge, so they would have to look back at their old code notes to help learn though their own work.
But thats me and thats 9-11 year olds, for older children this would be carried out in a different way I assume.
We could have endless discussions about schemes of work and the best way to teach coding, but ultimatly, this is up to the individual teacher to decide how to teach their students.
Micro-bit made a 240 page pdf of lessons (how to’s) aimed at secondary and i use these (altered by class teachers and myself) with primary students where applicable as children are learning computing skills younger and younger and we try to accomodate and encourage this within our particular school, this results in children having their own amazing ideas.
I was thinking of some simple user friendly (editable maybe) resources (activities) to get started, helping teachers to introduce arduboy across the board, when they feel this is the right time for their students ( school scheme of work). Make the reources and the teachers will come and then there may be more suggestions for further resources by teachers and developments in this area. these resources can even help novices to learn much like @crait tutorials.
we can ask teachers to post their other resources such as lesson plans, question sheets, etc once actually taught in the classroom successfully. I will not be trialling these untill later in the year.
Regarding the resource : Colour blindness is a good point and a standard graphic will support this if taken into consideration. also an alternative version in dyslexic font maybe benificial in the long run.
Sorry that was so long.
Ah, I had been thinking about it from a general curriculum point of view.
If you’re focusing on just a group of students with proven ability you can afford to be more subjective and go for things that are a bit more challenging rather than having to try to accomodate everyone.
(Incidentally I was classed as ‘gifted and talented’ back in the day. Not for IT though, back then they’d only start teaching us about spreadsheets and Flowol (traffic lights and houses) at the age of 10-11.)
Hrm, perhaps it would be best to brainstorm a list of potential activities or topics that should be covered, and then group and/or order them (and in the process, establish knowledge dependencies) and then develop the resources from there.
That would again depend on whether it’s general curriculum or G&T-like, I think if it were G&T the process would not be too dissimilar, but might focus more on cooperation and on some of the more advanced aspects. G&T affords a flexibility that is much harder to get from a class where not all the people present are interested in the topic.
I remember from my days at secondary school, for the first 2.5 years I was stuck with a tutor group that did not give a damn about their education and would consistently act up and delay the lesson so we always ended up falling behind. Afterwards when we were sorted into groups based on ability the lessons ran much smoother because the groups I was in (typically the more advanced groups) actually cared about learning.
“If you build it, he will come”
I was not aware there were ‘dyslexic-friendly’ fonts, that would also be very good to have.
I mentioned colour blindness because (being interested in games) I have seen a few mods and games that support colour blind mode so it’s always stuck in my mind as something to look into with any visual-oriented project. (It wasn’t until recently that I found out as much as 4.5% of the population is colourblind.)
Now I know there are fonts that can help dyslexics it’s something I’ll have to look into and remember in the future.
I don’t mind text walls, but it would have been easier to read with that first block being broken up a bit more
And something I forgot to mention earlier, in your resource you said “writing the programme”. I’m sad to say that the British spelling of ‘programme’ when used to refer to a computer ‘programme’ is usually considered to be quite dated and unusual and ‘program’ is more widely accepted. (As someone who advocates British spellings where possible that feels really treacherous to say, but I can’t deny ‘programme’ in a computing context is for the most part ‘dead’.)
Similarly the usage of ‘disk’ and ‘disc’ has evolved oddly. A magnetic disk like a HDD or Floppy Disk is almost always a ‘disk’, but an optical disc like a CD or DVD is almost always a ‘disc’.