{'fraction_non_alphanumeric': 0.013781223083548665, 'fraction_numerical': 0.0017226528854435831, 'mean_word_length': 5.384615384615385, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Object-Oriented Framework for Teaching Introductory Programming

The introductory programming course at ETH uses an object-oriented framework to teach first semester students. The framework consists of a library called TRAFFIC to model and to visualize the transportation network of a city. It enables the students to produce interesting applications with graphical output from the first exercise. The existing framework used EiffelVision2 as graphical library. Due to the complexity of EiffelVision2 we decided to change it to use ESDL: a platform independent multimedia library for Eiffel. This thesis describes all the extensions that were made to ESDL in order to use it for the introductory programming course. This includes graphical primitives, classes for figures, coordinate transformations, mouse and keyboard events, and base classes for interactive applications. The visualisation part of the TRAFFIC library has been redesigned to use ESDL and to support multiple views of a transportation network model. The challenge of this thesis was to develop libraries that are easy to use for students and still reusable to produce interesting applications.