These lecture notes have been collaboratively authored, with contributions from Saman Amarasinghe, Srini Devadas, Michael Ernst, John Guttag, Daniel Jackson, Rob Miller, Martin Rinard, and Armando Solar-Lezama. Used with permission.
LECTURE NOTES | SUPPORTING FILES |
---|---|
Lecture 1: Static checking (PDF) Addendum: Snapshot diagrams (PDF) | (ZIP) (This ZIP file contains: 1 .java file.) |
Lecture 2: Test-first programming (PDF) | (ZIP) (This ZIP file contains: 2 .java files.) |
Lecture 3: Specifications (PDF - 1.0MB) | (ZIP) (This ZIP file contains: 2 .java files.) |
Lecture 4: State machines (PDF - 1.1MB) | (ZIP) (This ZIP file contains: 5 .java files.) |
Lecture 5: Regular expressions and grammars (PDF) | (ZIP) (This ZIP file contains: 10 .java files.) |
Lecture 6: Abstract data types (PDF - 1.2MB) | (ZIP) (This ZIP file contains: 8 .java files.) |
Lecture 7: Recursive data types (PDF) | (ZIP) (This ZIP file contains: 4 .java files.) |
Lecture 8: Interpreters and visitors (PDF - 1.1MB) | (ZIP) (This ZIP file contains: 8 .java files.) |
Lecture 9: Review | |
Lecture 10: Concurrency (PDF) | (ZIP) (This ZIP file contains: 3 .java files.) |
Lecture 11: Processes and sockets (PDF) | (ZIP) (This ZIP file contains: 2 .java files.) |
Lecture 12: Thread safety (PDF) | (ZIP) (This ZIP file contains: 4 .java files.) |
Lecture 13: Synchronization (PDF) | (ZIP) (This ZIP file contains: 19 .java files.) |
Lecture 14: Graphical user interfaces (PDF - 1.2MB) |
(ZIP) (This ZIP file contains: 4 .java files.) In the beforeclass\hogwarts\gui\images folder, three images (harry.jpg, hermione.jpg, and no-photo.jpg) have been removed due to copyright restrictions. |
Lecture 15: Map, filter, reduce (PDF) |
(ZIP - 8.9MB) (This ZIP file contains: 12 .class files, 5 .java files, 4 .py files, and 1 .jar file) Jython 2.5.2 © Python Software Foundation. All rights reserved. This content is excluded from our Creative Commons license. For more information, see http://ocw.mit.edu/fairuse. |
Lecture 16: Little languages (PDF) |
(ZIP - 8.9MB) (This ZIP file contains: 17 .java files, 1 .py file, and 1 .jar file.) Jython 2.5.2 © Python Software Foundation. All rights reserved. This content is excluded from our Creative Commons license. For more information, see http://ocw.mit.edu/fairuse. |