Arduboy/programming starters guide (in Dutch & English)

Last week, I was teaching children (age 13 to 16) to program during a summer camp. We used the Arduboy as a platform to make the learning process a fun experience. By the end of the week, they programmed games like Pong, Snake and Breakout.

As a starting point for these programming lessons, I prepared a starters guide. This guide, in Dutch, contains the most important programming concepts and information specific for the Arduboy.

I made this guide open source and share it here so you can use it as a source of inspiration for your teaching projects.

8 Likes

This looks completely amazing except for the fact that I can’t read any of it. :slight_smile:

Is there an original format OTHER than tex?

The only original format I have is LaTeX, as it is easier to use with Git than a Word document. If you are interested in other formats, you could try to use Pandoc or try to import the PDF file.

1 Like

So you wrote the whole thing in latex? Are there any good latex editors that are higher-level than “source”?

Yes I wrote the whole document in LaTeX. I use the TexStudio editor, I don’t have experience with any high-level or WYSIWYG editors.

1 Like

Absolutely agree … this is really professional.

@Stijn - are you likely to convert this to English?

2 Likes

I don’t actually speak dutch but I can make sense of a fair bit of it.

I’m really intrigued as to what the Dutch days of the week are now.
I’ve never seen a language where the days of the week start with v or z before.

My only complaint is the use of i++ in the for loops instead of ++i.
++i is a better habit to have because i++ may not optimise as well when using iterators rather than integers because of the temporary variable it creates.
(There’s a good SO answer discussing the problem here.)

Also perhaps the use of if(arduboy.nextFrame()) { instead of if(!arduboy.nextFrame()) return;,
but I’m presuming that was done to keep the things simpler for the students.
(The earlier examples introduce return x; but not return;.)

It shows - the LaTeX is nicely formatted.


Were you hoping to edit it for some reason?
Or do you not like .pdfs?

If he doesn’t have time then someone else might be able to.
It’s licenced as CC BY-SA-NC so it’s free for editing and translation.

In the worst case scenario someone who doesn’t speak Dutch could manage it with liberal use of internet resources. :P

1 Like

That’s what I was thinking … but I didn’t want to start this if @Stijn was going to do it.

1 Like

I think I can convert to English. Can someone tell me how to built the .tex file into a PDF? I’ve never worked with Tex before.

I assumed Goebel was a German name. Do you have a Dutch background, Josh?

No, but I know how to use Google Translate and I’m familiar with the source material. :slight_smile:

Google Translate is damn good these days.

Ahhh … that was the approach I was going to take!

Does TEX have a way to break things into smaller sub-documents? So we could have a text file for each chapter, etc?

That would make working with this over time much easier I think.

1 Like

I think you can put them in a subdirectory (normally named \include) and then link them using \input{include/filename.tex}

There’s some instructions in the document itself:

As is to be expected, they’re Linux-style terminal commands.

Unless you’re trying to speak Welsh…

Thanks, now that I see that you are interested, I am considering to translate the guide in English.

The days of the week in Dutch are: maandag, dinsdag, woensdag, donderdag, vrijdag, zaterdag and zondag :wink:

I didn’t know of the optimisation difference between the two operators. I will change this in the next version.

I can create a subfolder in the GitHub repository for the English version. Then we can use issues and pull-requests to collaborate for further improvements :slightly_smiling_face:

2 Likes

That would be awesome.

2 Likes

I’ll have some intial work published shortly. still needs another pass before I’d make it into a PR.

And I think I’m stuck?

% makeindex main.en.idx -s StyleInd.ist                               2.6.3
Index style file StyleInd.ist not found.

Feels like I’m getting closer.

Ah, some of those are very similar to the equivalent German words:
Montag, Dienstag, Mittwoch, Donnerstag, Freitag, Samstag and Sonntag.
(I checked and Dutch is indeed a Germanic language, which makes sense.)

Interesting stuff.

I’d like to stress that for plain old integers it actually makes no difference whatsoever, the compiler will optimise the temporary away,
but the problem comes when you start working with more complex objects and the compiler actually can’t legally elide the temporary.

Essentially it’s more about learning good habits.

Unfortunately i++ is currently the more popular purely because of all the tutorials that use it (which in turn probably copy the precedent set by Ritchie and Kernighan’s “The C Programming Language”).

Sounds good.