On average, students are 20 years old, and they have already taken courses on basic programming, computer architectures, software engineering and operating systems.
Some of them have also followed courses on real time systems, distributed systems and computer networking.