CMSC 433
Programming Language Technologies and Paradigms


CMSC 433
Syllabus
Projects
Readings
Lectures
Exams
Dates
Changes

 

 

 

Hours

Class meets TTh 2:00--3:15 in CSS 1113.

Wait list

At my discretion.

Notes
Changes (correcting errors, clarifying ambiguities, etc) to the web pages, projects, due dates, etc. will be placed on the recent changes web page.

Newsgroup

Class newsgroup is csd.cmsc433 - only visible from within UMD

Staff

Name Email Phone Office Office Hours
Alan Sussman als@cs.umd.edu

x53360

AVW 4145 Tu 11AM-noon
Wed 2-3PM
Min-ho Shin mhshin@cs.umd.edu AVW 1151 Wed 10AM-noon
Th 5-6PM

Tentative schedule of topics

  • Java (2 weeks)
    • Basics
    • Object oriented programming in Java
    • Libraries
    • Exceptions
    • Inner classes
  • Object-Oriented Design and Design Patterns (2 weeks)
    • Object invariants
    • Class design
    • UML
    • Design patterns
  • Threads (3 weeks)
    • Java threads
    • Java memory model
    • Design Forces (safety, liveness/deadlock, performance, reusability)
    • Synchronization Strategies
    • Wait and notify
  • Midterm: Java, OO design, threads
  • Distributed computing (3 weeks)
    • RMI/RPC
    • Marshalling, stubs and proxies
    • Java RMI
    • Jini
  • Components (1 week)
    • What is a component
    • What features do we need for component programming?
    • Versioning
    • Components, interfaces and re-entrance
    • Polymorphism, revisited
    • Inheritance: good or evil
  • CORBA/COM basics (1 week)
  • Midterm: Distributed computing, components
  • Java Components basics (1 week)
    • Using interfaces for components
    • Reflection
    • Serialization
    • Beans
    • Remote Method Invocation
  • Polymorphic types and GJ (1 week)
  • Final exam

Last updated Thursday, 07 February 2002 04:24 PM