Final Review In Text: Chapters 1-3, 5-16
Chapters Covered Before Midterm: Since Midterm: Ch. 1—Introduction Ch. 2—History Ch. 3-Syntax/Semantics Ch. 12—OOPLs Ch. 15—Functional PLs Ch. 16—Logic PLs Since Midterm: Ch. 5—Names & Binding Ch. 6—Data Types Ch. 7—Expressions Ch. 8—Control Structures Ch. 9—Subprograms Ch. 10—Activation Recs Ch. 11—ADTs Ch. 13—Concurrency Ch. 14—Exceptions Final Exam Review
Chapters 1-3, 12, 15, 16 See Midterm Review Exam is comprehensive, but most material will be from chapters covered since the midterm Final Exam Review
Ch. 5: Names and Binding What are the six attributes? What do they mean? Binding and possible binding times Type checking Two type compatibility methods Scope vs. lifetime Final Exam Review
Ch. 6: Data Types Primitive types Type constructors: Arrays Records Unions Sets Pointers Design issues Type checking issues Final Exam Review
Ch. 7: Expressions Precedence rules Associativity rules Order of operand evaluation Type conversions: widening and narrowing Type coercions vs. explicit conversions Mixed-mode expressions Relational and boolean expressions Short-circuit evaluation Final Exam Review
Ch. 8: Control Structures Design issues Selection One-way Two-way Multi-way Iteration Counter-controlled Logically-controlled Gotos Guarded statements Final Exam Review
Ch. 9: Subprograms Definitions Referencing environment What are the common parameter passing modes and mechanisms? Independent vs. separate compilation Advanced subprogram issues Final Exam Review
Ch. 10: Implementing Subprograms Activation records Accessing locals Accessing nonlocals (static scoping) Static chains Displays Implementing blocks Accessing nonlocals with dynamic scoping Final Exam Review
Ch. 11: ADTs What is an abstraction? Separation of specification from implementation Encapsulation What is needed to support separate compilation? Final Exam Review
Ch. 13: Concurrency Competition synchronization Cooperation synchronization Concurrency control mechanisms: Semaphores Monitors Rendezvous (message passing) Final Exam Review
Ch. 14: Exceptions What is an exceptional condition? Design issues: How are handlers bound to exceptions? Where does control go to after handling? Are there default handlers? What about user-defined exceptions? What about cleaning up the stack? Final Exam Review