This site

    Recent site activity

    Navigation

      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.