{'fraction_non_alphanumeric': 0.011986301369863013, 'fraction_numerical': 0.0, 'mean_word_length': 5.428571428571429, '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}}
Using and teaching information hiding in single-semester software engineering projects

The information-hiding principle is recognised as one of the fundamental principles of software engineering. This paper reports on two kinds of experience the authors have gained in using and teaching information hiding in software engineering projects. The first relates to the enormous practical and pedagogical advantages of taking a strict approach. The second is the suprising lack of support for such an approach in the object-oriented programming languages commonly used for such projects.