Autores: Edgard Lindner, Enrique Molinari
{elindner, enrique.molinari}@gmail.com
Coordinación: Graciela Matich

What is LaST?

LaST is an educational tool developed to assist teaching and to help students learning programming language semantics. Its graphical feedback and interaction, allows the study of the semantics of programming languages while visualizing the internal machine representation of each of them, and the actions triggered by certain high-level instructions.

LaST includes four different high-level languages, and an assembly-like language, running in a user interface that allows source code and assembly code highlighting, step-by-step execution and graphical representation of computer resources. All this provides a rich learning environment that helps the instructor to explain programming language related subjects, and allows the students to construct a more dynamic and integrated vision.

Why is LaST Useful?

Research studies of human intelligence and its development, show that the comprehension of abstract concepts is a difficult task. It is a really important challenge for an instructor to help create a concrete manifestation of these concepts.

Experience shows that new methods are needed for teaching subjects such as Computer Language Concepts, Programming Languages Paradigms, and Comparative Study of Programming Languages. As an example, in the medical field, technology supports the teaching process providing software which can simulate the behavior of the human body and its organs, facilitating the work of the instructor and allowing the students to construct a more dynamic and integrated vision. LaST was designed, first, to help students create a concrete visual manifestation of programming language concepts. Second, to assist instructors explain programming language semantics and accommodate the different learning styles that are encountered in the classroom.

LaST Benefits

For Students: LaST helps students understand programming language concepts better, especially those related to the semantics of syntactical constructions. Graphical execution of sample programs with their corresponding translation to Simplesem code allows the students to see the real connection between a high-level language and the underlying machine, translating abstract concepts into concrete ones. It encourages students to engage actively in their own learning, recreating the execution of a program discussed during a class, examining the execution of different programs during a lab class, doing exercises, or reviewing topics explained to them during class. It also encourages the students to write better, more optimized code. We believe that LaST increases the student confidence and satisfaction, improving the enthusiasm about the coursework.

For Instructors: LaST can be used to teach a considerable amount of concepts related to the study and implementation of programming languages. Its interface features facilitates the exposition and complex concepts can be easily illustrated, improving the actual teaching methods. As an example, suppose the instructor presents the students a program example, to explain the semantics of certain syntactical construction. Beginning the explanation the instructor conducts a "blackboard execution" of the program, showing the changes and results which happen inside the computer with each instruction. To illustrate this changes the instructor draws a number of graphical representations of the computer resources which must be modified along with the program's execution. A popular option nowadays is to use slides representing the state of the memory and registers after each instruction is executed. This task goes on while the theoretical concepts are introduced.

Several problems arise if this method is used:

  • The "blackboard execution" usually turns out to be complex to keep up with, for both the instructor and the students.
  • It is a highly error-prone method.
  • The instructor may be forced to redo all slides to accommodate a new or improved example.
  • The students who must acquire these new concepts must follow the execution of the program, observe and understand the changes produced in the computer resources, and at the same time understand the new concepts under study. This is a complex process, specially for students who have just been introduced to this field of study.

LaST addresses these problems because instructor and students must only focus on exposition and comprehension of the concepts being discussed.

[ back to top ]