Schedule

CMSC 838Y: Agile and Adaptive Programming Systems


Instructor Michael Hicks
CSI 3118 TuTh 12:30pm-1:45pm
Office Hours TuTh 2:00pm-3:00pm AVW 4131

Syllabus / Schedule / Resources / Review Papers

Demo schedules are now posted.

Check the resources page for additional links and related topics.

Type Systems, Operational Semantics

Date

Topic

Background Material

1/28 - 2/4

Overview
Background:

  • The lambda-calculus
  • Operational Semantics
  • Type Systems

2/4

Language Extensions

Notes on fixed points

2/11

Correspondence between Proofs and Programs

(extra credit) Proofs are Programs: 19th Century Logic and 21st Century Computing

Dynamic Linking, Module Systems, Dynamic Reconfiguration, Extensible Systems, Reflection, ...

Date

Topic

Materials

2/6

Linking

2/11

Class cancelled

 

2/13

 Dynamic Linking

2/18

Class cancelled

 

2/20

Extensible Systems

slides for both papers.

2/25

Component Module Systems

2/27

Dynamic Software Updating

3/4

Dynamic Software Updating

Initial project proposal due

3/6

Dynamic Code Generation

3/11 - 3/13

Resource Control in Extensible Systems

3/13

Final project proposal due

 

3/18 - 3/20

Reflection and Dynamic Typing

3/20

Giving a Technical Talk

SPRING BREAK

 Relaxing

 

4/1

Module Systems

4/3

Aspect-Oriented Programming

Presentation slides.

4/8

Extensible Networking Systems

4/10

Java Operating Systems

Presentation slides.

4/15

Intensional Type Analysis

4/17

Extension and Reflection

Presentation slides.

4/22

Reflection and Dynamic Compilation

Presentation slides.

4/24

Run-time Code Generation (Specialization)

Presentation slides.

4/29

On-line Reconfiguration

Presentation slides.

5/1

Program Adaptation

Presentation slides.

5/6

Module Systems II

5/8

Module Systems III

Simon Peyton-Jones and Mark Shields. First-class Modules for Haskell

5/13

Wrap-up and Exam Review