Teaching object-oriented programming on top of functional programming

Jens Thyge Kristensen, Michael Reichhardt Hansen, Hans Richel

    Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

    325 Downloads (Pure)


    In the Informatics Programme at the Technical University of Denmark, the authors base the first course in object-oriented programming (using the Java language) on a preceding course in functional programming (using the SML language). The students may hence exploit concepts from functional programming in the construction of OO programs. This is done following a method where the program design is expressed in SML and afterwards implemented in Java. The use of different languages in design and implementation is an advantage as it makes the distinction between these two stages very clear. They give examples showing that SML designs allow them to develop and compare OO implementations with different class structures for the same programming problem. A discussion of this kind is not supported in traditional OO methodology. The program design in SML has also shown to be useful for the students when documenting the program.
    Original languageEnglish
    Title of host publicationProceedings on 31st Annual Frontiers in Education Conference
    Publication date2001
    ISBN (Print)0-7803-6669-7
    Publication statusPublished - 2001
    EventProceedings on Annual Frontiers in Education Conference - Reno, NV
    Duration: 1 Jan 2001 → …
    Conference number: 31st


    ConferenceProceedings on Annual Frontiers in Education Conference
    CityReno, NV
    Period01/01/2001 → …

    Bibliographical note

    Copyright: 2000 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE


    Dive into the research topics of 'Teaching object-oriented programming on top of functional programming'. Together they form a unique fingerprint.

    Cite this