Instructor

Amr Sabry
Office: LH 230C
Phone: 5-3668
Email: sabry@cs.indiana.edu
Office Hours: Mo 10-11, Tu 10-11, We 2-3. You are welcome to stop by at other times if I am in my office.

Grades

References

The Jbook will be our main reference.

A useful reference is Java Security, second edition, Scott Oaks, O'Reilley 2001.

Another useful reference is the Java Language Specification, second edition, James Gosling, Bill Joy, Guy Steele, and Gilad Bracha Addison-Wesley 2000. (Available online)

Another useful reference is The Java Virtual Machine Specification, second edition, Tim Lindholm and Frank Yellin, Addison-Wesley 1999. (Available online)

We will use both Haskell (Asmgofer really) and Java. For information about Haskell implementations and tutorials look at the Haskell page.

Schedule

Date Topic Comments
1/14 Introduction: The Java Security Model and Type Safety
1/16 No class (Amr at PoPL)
1/21 Haskell (AsmGofer)
1/23 Haskell Intro Haskell due
1/28 MinML Abstract Syntax
1/30 MinML Semantics
2/4 MinML Semantics
2/6 MinML Type System MinML interpreter due
2/11 MinML Type System
2/13 MinML Type System
2/18 MinML Type System
2/20 MinML Type Safety MinML type checker due
2/25 MinML Type Safety
2/27 MinML Type Safety
3/4 ASM (Ch 2) NanoML type safety proof due
3/6 ASM (Ch 2)
3/11 Java Semantics, Types, and Type Safety (Ch 3-8)
3/13 Java Semantics, Types, and Type Safety (Ch 3-8) MinML type safety proof due
3/18 --------------- Spring break
3/20 --------------- Spring break
3/25 Java Semantics, Types, and Type Safety (Ch 3-8)
3/27 Java Semantics, Types, and Type Safety (Ch 3-8) MinML + references interpreter, type checker, and type safety proof due
4/1 Bytecode verification (Ch. 16)
4/3 Bytecode verification (Ch. 16)
4/8 Bytecode verification (Ch. 16)
4/10 Bytecode verification (Ch. 16) Simple bytecode verifier due
4/15 Bytecode verification (Ch. 16)
4/17 Bytecode verification (Ch. 16)
4/22 Class Loading (Ch. 17-18)
4/24 Class Loading (Ch. 17-18) Bytecode verifier with subroutines due
4/29 Class Loading (Ch. 17-18)
5/1 Conclusion
5/5 Projects due
5/6 Final exam 12:30 - 2:30

sabry@cs.indiana.edu