CMSC 433
Programming Language Technologies and Paradigms


CMSC 433
Syllabus
Projects
Readings
Lectures
Exams
Dates
Changes

 

 

 

Hours

Class meets TTh 9:30--10:45 in CLB 0102.

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
Adm Porter aporter@cs.umd.edu

x52702

AVW 4125 TWTh 2:00-300
Hui-Fang Wen  hfwen@cs.umd.edu   AVW 4132 TuTh 3:30-5:00

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 (2 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 Tuesday, 12 February 2002 04:17 PM