This schedule will be updated periodically throughout the term. Last update: May 5.
Date | Topics | Links |
Jan 28 | Introduction, computer architecture, JVM | Week01 Introduction.pdf |
Feb 4 | Compilers, syntax, grammars | Week02 Lexical Analysis and Parsing.pdf |
Feb 11 | Recursive descent parsing, abstract syntax trees (ASTs) | Week03 More Parsing.pdf SimpleLanguage.java.txt SimpleTokenizer.java.txt |
Feb 18 | Code Generation, BNF | Week04 Code Generation.pdf |
Feb 25 | Software Engineering | Week05 Software Engineering.pdf |
Mar 3 | More Software Engineering (Programming in the Large) | Week06 More Software Engineering.pdf |
Mar 10 | Call stack, Bali functions | Week07 Implementing Functions.pdf hand compiled sam-code for recursive factorial function |
Mar 17 | Bali arrays | Week08 Implementing Arrays.pdf |
Mar 24 | Spring Break | |
Mar 31 | Discussion of Assignment Part 3 | Week09 Discussion of Part 3.pdf |
Apr 7 | Pointers and the Heap | Week10 Pointers and the Heap.pdf |
Apr 14 | Implementing Objects | Week11 Implementing Objects.pdf |
Apr 21 | Software Engineering Tools | Week12 Software Tools.pdf |
Apr 28 | Bali++ (object oriented Bali) | Week13 Code for Classes.pdf plus some example code. |
May 5 | Last Class: Review + What I Do | Week14 Review plus What I Do.pdf |