I regularly explore new teaching methods and tools. This is a blog of my experiments and experiences in university education.
Getting Students in Touch with Embedded Processors
From 2009 to 2014 I was teaching a course on embedded processors that primarily covers the basic concepts and technology of processor architectures, low-level programming in assembly language and the use and control of peripherals. For a course like this, theory is extremely important but the actual value of the course comes from its exercises.
For the practical coursework I decided to introduce an ASURO robot designed by the Deutsche Luft- und Raumfahrtzentrum (DLR)  to the participants of the lecture. This robot can be considered as a simple embedded system that is centrally controlled by an Atmel AVR ATMega8 microcontroller. Note that the features of the ASURO are actually rather limited but since the course objective is on embedded processors and rather not on robotics this is not a major issue. Still it is a major challenge when handing out robots to roughly 250 participants that are requested to share one in a group of two or three members. My approach was as follows:
- A group of two or three students can either borrow a robot or buy and solder their own one. For smooth operation I maintained a pool of 80 robots in total enabling also exchanges in case of defects or other issues.
- Week after week I introduced the features of the embedded processor, its programming concept and peripherals. With the course, I requested the students to do weekly homeworks to rehearse the introduced technology and concepts in practice. Individual solutions are required to be handed in, except for tasks that are explicitly marked as such to be accomplished in the group. All solutions are graded by senior student assistants and returned with feedback to the participants. With all homework done, participants can earn a bonus of up to 10% in points for the final grade in advance.
- Several weeks before the final examination, I requested the participants to do a last complex exercise. This task of this exercise should bring all snippets and pieces together that have been acquired over the term. In this exercises, the students are asked to develop a full program in assembly language that controls the robot to perform the complex task of autonomously finding a path through a complex parcours that contains several unknown obstacles. The path is given by a black line that has to be deteced via photo diodes while collisions need to be handled by the evaluation of collision detectors at the same time.
- In case the group manages this task successfully, every member of the group receives a driver certificate. In addition to that the group with the robot managing the parcours in the shortest time is awarded as well.
Please click here to see a video how this challenge was solved by one team.
A few picture impressons can be found below.