CSc 520 Principles of Programming Languages
Lecture Notes
#0: Administrivia
#4: Memory Management --- Introduction
#5: Memory Management --- Stack Allocation
#6: Memory Management --- Heap Allocation
#7: Memory Management --- Malloc
#8: Memory Management --- GC --- Mark and Sweep
#9: Memory Management --- GC --- Copying Collection
#10: Memory Management --- GC --- Generational Collection
#11: Memory Management --- GC --- Uncooperative Languages
#12: Memory Management --- GC --- Discussion
#13: Types --- Introduction
#14: Types --- Classification
#15: Types --- Equivalence
#16: Types --- Polymorphism
#21: Names, Scope, Bindings --- Introduction
#23: Names, Scope, Bindings --- Modules
#24: Names, Scope, Bindings --- Dynamic Scope
#25: Names, Scope, Bindings --- Closures
#26: Control Structures --- Introduction
#27: Control Structures --- Procedures
#28: Control Structures --- Parameters
#29: Control Structures --- Inline vs. Macros
#30: Control Structures --- Exceptions
#31: Control Structures --- Iterators
#32: Control Structures --- Coroutines
#33: Functional Programming
#34: Scheme --- Introduction
#35: Scheme --- History
#36: Scheme --- Conditional Expressions
#37: Scheme --- Symbols and Structures
#38: Scheme --- List Processing
#39: Scheme --- Higher-Order Functions
#40: Scheme --- Metacircular Interpretation
#42: Logic Programming --- Prolog Basic
#43: Logic Programming --- Prolog Unification
#44: Logic Programming --- Executing Prolog
Documents
Back to the 520 Home Page