Today I got the very exciting news with zero foresight. For some months I will be a replacement teacher for my colleague (a dad!) who will be on paternity leave. But unfortunately, foresight and planning could have been better. On Thursday, I will launch two courses on the topic "Implementation of a prototype for the software" where students will understand the point of planning and documenting projects.
We will for example be using UML (the Unified Modeling Language), Gantt charts and Entity Relationship Models. Also flowcharts and pseudocode as it will help our students both in this course as when they start with object oriented programming.
...what if I have them start in a completely different end...!?
What if I make them build something with LEGO (or Minecraft), have them to documenting their creations with camera, hand in that first task. And what if I make them to write an instruction how to build their creation? And that instruction needs to be detail in absurdity.
OKAY, MY PURPOSE?
A LEGO creation (rather than Minecraft) would be something easy to build but advanced enough to write an instruction to, targetting group someone who has never built LEGO (or played Minecraft) before. The build phase itself is something you repeat or loop, will they figure that out?
So my students, who are they? Well, vocational students between 16-19 years old, all gamers. I need to catch their interest in a very odd way I guess, this could be it. They will all be programmers so they need to start think OOP way and I believe one important skill for coding is to break a series of actions into small steps that someone who doesn't have any background knowledge (like a computer) can both understand and execute.
Coding is basically a step-by-step guide for computer to accomplish a task and to write a LEGO instruction of their creation might be harder than you think. And we could ask other students at our school to perform the task strictly following the instructions and I'm pretty sure there will be lots of steps missed.
...and only afterwards I reveal what they have practiced.
- Object oriented programming
They will also have an own example what to later do a flowchart or UML of.
Am I nuts?