This site

    Recent site activity

    Teaching‎ > ‎

    Comp 373/473: Advanced Object-Oriented Development

    Information now current for fall 2011.

    Prerequisite: Comp 313/488

    Audience

    Are you an enthusiastic programmer looking for new challenges? Did you enjoy Comp 313/488 (Intermediate Object-Oriented Development) and want to take things to the next level? If so, then this completely redesigned version of Comp 373 (Objects, Frameworks, and Patterns)/Comp 473 (Object-Oriented Programming) offered in Fall 2011 might be just what you are looking for.

    Topics

    Based on the foundation acquired in Comp 313/488, Comp 373/473 studies cutting-edge topics, such as
    • introduction to the Scala language
    • advanced language mechanisms: pattern matching, traits, and closures
    • implementation of object-oriented languages
    • concurrency: threads, actors, and software transactional memory (STM)
    • domain-specific languages
    • lightweight containers and dependency injection
    • introspection, class loaders, and byte-code manipulation
    • aspect-oriented programming
    • language-oriented programming/MPS

    Key information

    • Class time: Fall 2011, Thursday, 16:15-18:45
    • Location: Room LT-412 (Linux Lab), Water Tower Campus
    • Office hour: Mon 21:30-22:00 in LT-412 and Thu 15:00-16:00 in LT-531w
    • Grading (tentative): 45% tests, 50% projects & presentations, 5% participation
    • Official course description

    Key resources

    Required main text

    Programming in Scala: A Comprehensive Step-by-Step Guide, 2nd Edition
    Author: Martin Odersky, Lex Spoon and Bill Venners
    Publisher: Artima Inc; 2 edition (January 4, 2011)
    ISBN-13: 9780981531649

    Recommended supplementary texts

    Daniel Spiewak
    Scala Style Guide

    Programming Scala, 1st Edition
    By: Dean Wampler; Alex Payne
    Publisher: O'Reilly Media, Inc.
    Pub. Date: September 15, 2009
    Print ISBN-13: 978-0-596-15595-7 
    available online

    Programming Language Pragmatics, Third Edition
    By: Michael Scott
    Publisher: Morgan Kaufmann
    Pub. Date: March 23, 2009
    eISBN-10: 0-08-092299-6
    companion site

    Design Patterns: Elements of Reusable Object-Oriented Software
    By: Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
    Publisher: Addison Wesley
    Pub. Date: 1995
    eISBN-10: 0201633612

    Growing a Language
    By: Guy Steele
    video

    Some of these texts might be available for free on Safari Tech Books Online (Proquest). Additional reading will be assigned throughout the term.