SUMMARY -- The subject of Programming is part of the mandatory
formation for undergraduate students of Computer
Science Engineering. At the Escuela Superior de
Ingeniería Informática of the University of Vigo, we
have taken the path of dividing this formation in two
actual subjects: Programación I, for procedural
programming, and Programación II, focused in
object-oriented programming. In contrast to the
strategy called objects first, we still use a imperative
first approach. Both subjects use the same vehicular
programming language: C++. This forces students to
understand programming concepts, such as memory
management, from a quite low abstraction level:
pointers, memory blocks, memory release, etc. C-Sim
was created as an assistance tool for the lecturer to be
able to create examples in the classroom, while the
students can experiment with the tool in their own.