Tool support for implementation of object-oriented class relationships and patterns

James H. Paterson, John Haddow

    Research output: Contribution to journalArticle

    11 Downloads (Pure)

    Abstract

    This paper reports the use of the PatternCoder tool in the teaching of object-oriented design and programming. This tool has been developed by the authors as an extension to the BlueJ Java Integrated Development Environment (IDE). PatternCoder encapsulates knowledge of design patterns and basic class relationships, and of the techniques required for their implementation in Java. It guides students through a step-by-step process: select an appropriate pattern or relationship; give the classes which participate in the pattern names relevant to the current problem domain; and generate code for minimal Java class definitions which can then be explored and extended. The tool was initially developed with a view to teaching advanced design patterns, but we have explored its use within introductory classes, viewing binary class relationships as simple design patterns. Initial experience with the tool within an introductory Java module has been positive, with students actively choosing to use the tool and feeling that the teaching approach based on its use was beneficial to their understanding of class relationships.
    Original languageEnglish
    Pages (from-to)108-124
    Number of pages17
    JournalItalics
    Volume6
    Issue number4
    Publication statusPublished - Oct 2007

    Fingerprint

    Teaching
    Students
    student
    programming
    experience

    Keywords

    • design
    • object-orientation
    • code-generation
    • Java
    • patterns

    Cite this

    @article{55610b6ea1404e2dab5e4910c15ad1f3,
    title = "Tool support for implementation of object-oriented class relationships and patterns",
    abstract = "This paper reports the use of the PatternCoder tool in the teaching of object-oriented design and programming. This tool has been developed by the authors as an extension to the BlueJ Java Integrated Development Environment (IDE). PatternCoder encapsulates knowledge of design patterns and basic class relationships, and of the techniques required for their implementation in Java. It guides students through a step-by-step process: select an appropriate pattern or relationship; give the classes which participate in the pattern names relevant to the current problem domain; and generate code for minimal Java class definitions which can then be explored and extended. The tool was initially developed with a view to teaching advanced design patterns, but we have explored its use within introductory classes, viewing binary class relationships as simple design patterns. Initial experience with the tool within an introductory Java module has been positive, with students actively choosing to use the tool and feeling that the teaching approach based on its use was beneficial to their understanding of class relationships.",
    keywords = "design, object-orientation, code-generation, Java, patterns",
    author = "Paterson, {James H.} and John Haddow",
    year = "2007",
    month = "10",
    language = "English",
    volume = "6",
    pages = "108--124",
    journal = "Italics",
    issn = "1473-7507",
    publisher = "Taylor & Francis Group",
    number = "4",

    }

    Tool support for implementation of object-oriented class relationships and patterns. / Paterson, James H.; Haddow, John.

    In: Italics, Vol. 6, No. 4, 10.2007, p. 108-124.

    Research output: Contribution to journalArticle

    TY - JOUR

    T1 - Tool support for implementation of object-oriented class relationships and patterns

    AU - Paterson, James H.

    AU - Haddow, John

    PY - 2007/10

    Y1 - 2007/10

    N2 - This paper reports the use of the PatternCoder tool in the teaching of object-oriented design and programming. This tool has been developed by the authors as an extension to the BlueJ Java Integrated Development Environment (IDE). PatternCoder encapsulates knowledge of design patterns and basic class relationships, and of the techniques required for their implementation in Java. It guides students through a step-by-step process: select an appropriate pattern or relationship; give the classes which participate in the pattern names relevant to the current problem domain; and generate code for minimal Java class definitions which can then be explored and extended. The tool was initially developed with a view to teaching advanced design patterns, but we have explored its use within introductory classes, viewing binary class relationships as simple design patterns. Initial experience with the tool within an introductory Java module has been positive, with students actively choosing to use the tool and feeling that the teaching approach based on its use was beneficial to their understanding of class relationships.

    AB - This paper reports the use of the PatternCoder tool in the teaching of object-oriented design and programming. This tool has been developed by the authors as an extension to the BlueJ Java Integrated Development Environment (IDE). PatternCoder encapsulates knowledge of design patterns and basic class relationships, and of the techniques required for their implementation in Java. It guides students through a step-by-step process: select an appropriate pattern or relationship; give the classes which participate in the pattern names relevant to the current problem domain; and generate code for minimal Java class definitions which can then be explored and extended. The tool was initially developed with a view to teaching advanced design patterns, but we have explored its use within introductory classes, viewing binary class relationships as simple design patterns. Initial experience with the tool within an introductory Java module has been positive, with students actively choosing to use the tool and feeling that the teaching approach based on its use was beneficial to their understanding of class relationships.

    KW - design

    KW - object-orientation

    KW - code-generation

    KW - Java

    KW - patterns

    M3 - Article

    VL - 6

    SP - 108

    EP - 124

    JO - Italics

    JF - Italics

    SN - 1473-7507

    IS - 4

    ER -