CMSC 433
Programming Language Technologies and Paradigms


CMSC 433
Syllabus
Projects
Readings
Lectures
Exams
Dates
Changes

 

 

 

Hours

Class meets TTh 12:30--1:45 in CLB 0111.

Wait list

Wait listed students with a GPA of 3.25 or higher will be allowed to register for the class.

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 3:30-4:30PM
Wed 11AM-noon 
Yu-lin (Tristan) Wen ylwen@cs.umd.edu AVW 1151 Mo 3:00-4:00PM
Wed 1:00-2:00PM
Th 4:00-5:00PM

Tentative schedule of topics

  • C++ (2 weeks)
    • C++ without classes
    • Abstraction with member functions
    • Automatic/hidden functions
    • Care and handling of pointers
    • References
    • Shared representations
    • Base classes, subtype polymorphism and inheritance
  • Java (2 weeks)
    • Basics
    • Object oriented programming in Java
    • Libraries
    • Exceptions
    • Inner classes
  • Midterm: C++ and Java
  • Threads (2 weeks)
    • Thread creation
    • Synchronization
    • Wait/notify
    • thread patterns
  • Polymorphic types and GJ (1 weeks)
  • Distributed computation (3 weeks)
    • RMI/RPC
    • Marshalling, stubs and proxies
    • Java RMI
    • Jini
  • Midterm
  • 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)
  • Java Components basics (1 week)
    • Using interfaces for components
    • Reflection
    • Serialization
    • Beans
    • Remote Method Invocation
  • Design Patterns (1 week)
  • Final exam

Last updated Monday, 17 September 2001 01:32 PM