Topic Title |
|
Lecture Title |
| | |
Semester Outline | |
Comparative Languages: Introduction |
A Bit of LISP | |
Functional Programming |
A Bit of Scheme | |
Functional Programming |
A Function for Constructing Functions | |
FP Foundations, Scheme |
Accessing Nonlocal Environments | |
Subprograms |
Accessing Nonlocal References | |
Implementing Subprograms |
Activation Records | |
Implementing Subprograms |
Ada 95 | |
Object-Oriented Programming |
An Overview of PL History | |
Programming LanguageHistory and Evolution |
Applications of Functional Languages: | |
Functional Programming |
Arithmetic Expressions | |
Arithmetic Expressions |
Arrays | |
Data Types |
Assignment Statements | |
Arithmetic Expressions |
Axiomatic Semantics | |
Semantics |
Backus-Naur Form | |
Syntax |
Basic Definitions | |
Syntax |
Binding | |
Names and Binding |
Brief Overview of Paradigms | |
Programming LanguageHistory and Evolution |
C++ | |
Object-Oriented Programming |
Categories of OOP Support | |
Object-Oriented Programming |
Categories of Variables by Lifetimes | |
Names and Binding |
Ch. 11: Object-Oriented PLs | |
Midterm Review |
Ch. 14: Functional Programming | |
Midterm Review |
Ch. 15: Logic Programming | |
Midterm Review |
Ch. 1: Introduction | |
Midterm Review |
Ch. 2: History and Evolution | |
Midterm Review |
Ch. 3: Syntax and Semantics | |
Midterm Review |
Ch. 4: Names and Binding | |
Final Review |
Ch. 5: Data Types | |
Final Review |
Ch. 6: Expressions | |
Final Review |
Ch. 7: Control Structures | |
Final Review |
Ch. 8: Subprograms | |
Final Review |
Ch. 9: Implementing Subprograms | |
Final Review |
Chapter 1: Introduction | |
Comparative Languages: Introduction |
Chapters 1-3, 11, 14, 15 | |
Final Review |
Chapters Covered | |
Final Review |
Chapters Covered | |
Midterm Review |
Character String Types | |
Data Types |
Choice of Control Statements | |
Control Structures |
Class vs. Instance | |
Object-Oriented Programming |
Comparing Functional and Imperative Languages | |
Functional Programming |
Compound Statements | |
Control Structures |
Control Structures | |
Control Structures |
Coroutines | |
Subprograms |
Counter-Controlled Loops | |
Control Structures |
Creating Functional Forms | |
FP Foundations, Scheme |
Data Types | |
Data Types |
Default Parameter Values | |
Subprograms |
Definition of Terms | |
Subprograms |
Denotational Semantics | |
Semantics |
Design Considerations for Parameter Passing | |
Subprograms |
Design Issues for All Data Types | |
Data Types |
Design Issues for OOPLs | |
Object-Oriented Programming |
Design Issues for Subprograms | |
Subprograms |
Dynamic Semantics | |
Semantics |
Eiffel | |
Object-Oriented Programming |
Errors in Expressions | |
Arithmetic Expressions |
Evaluating A Language | |
Comparative Languages: Introduction |
Evolution of Control Structures | |
Control Structures |
Example Factorial Program | |
Implementing Subprograms |
Example Scheme Functions | |
FP Foundations, Scheme |
Extended BNF (EBNF) | |
Syntax |
Four Categories of Arrays | |
Data Types |
Functional Forms | |
FP Foundations, Scheme |
Functions | |
Subprograms |
Fundamentals of FP Languages | |
Functional Programming |
Generic Subprograms | |
Subprograms |
Guarded Commands (Dijkstra, 1975) | |
Control Structures |
Identifiers Have 6 Attributes | |
Names and Binding |
Imperative Features in Scheme | |
FP Foundations, Scheme |
Implementing FORTRAN 77 Subprograms | |
Implementing Subprograms |
Implementing OO Constructs | |
Object-Oriented Programming |
Implementing Subprograms | |
Implementing Subprograms |
Independent and Separate Comp. | |
Subprograms |
Inheritance | |
Object-Oriented Programming |
Interal List Representation | |
FP Foundations, Scheme |
Interpretive features | |
FP Foundations, Scheme |
Iterative Statements | |
Control Structures |
Java | |
Object-Oriented Programming |
Lambda Expressions in Scheme | |
FP Foundations, Scheme |
Lambda Expressions | |
FP Foundations, Scheme |
Language Examples: Indep./Sep. Compilation | |
Subprograms |
Languages: Key Differentiating Factors | |
Programming LanguageHistory and Evolution |
Levels of Control Flow | |
Control Structures |
Local Referencing Environments | |
Subprograms |
Local Variables in Example PLs | |
Subprograms |
Logically-Controlled Loops | |
Control Structures |
Loop Invariant Characteristics | |
Semantics |
Mathematical Functions | |
FP Foundations, Scheme |
Methods for Accessing Nonlocals | |
Subprograms |
More Design Issues | |
Names and Binding |
Multidimensional Arrays as Params | |
Subprograms |
Multiple Selection Constructs | |
Control Structures |
Names (User-defined Identifiers) | |
Names and Binding |
Nonlocal Refs: Static Scoping | |
Implementing Subprograms |
OOP Definitions | |
Object-Oriented Programming |
Operational Semantics | |
Semantics |
Operators | |
Arithmetic Expressions |
Origins of Inheritance | |
Object-Oriented Programming |
Other Useful Functions | |
FP Foundations, Scheme |
Overloading | |
Subprograms |
Overview of Smalltalk | |
Object-Oriented Programming |
Paradigm Evolution | |
Object-Oriented Programming |
Paradigms: Key Differentiating Factors | |
Programming LanguageHistory and Evolution |
Parameters and Parameter Passing | |
Subprograms |
Pass-By-Name | |
Subprograms |
Pointers | |
Data Types |
Polymorphism in OOPLs | |
Object-Oriented Programming |
Predicate Functions | |
FP Foundations, Scheme |
Primitive Data Types | |
Data Types |
Primitive Functions | |
FP Foundations, Scheme |
Problems with Pointers | |
Data Types |
Program <=> Data | |
Functional Programming |
Reasons to Study Concepts of PLs | |
Comparative Languages: Introduction |
Recap of Paradigms | |
Programming LanguageHistory and Evolution |
Records | |
Data Types |
Recursive Descent Parsing | |
Syntax |
Referencing Environments | |
Names and Binding |
Relational Expressions | |
Arithmetic Expressions |
Scheme Evaluation Process | |
FP Foundations, Scheme |
Scheme Syntax Basics | |
FP Foundations, Scheme |
Scope | |
Names and Binding |
Selection Statements | |
Control Structures |
Sequence of Statements | |
Semantics |
Sets | |
Data Types |
Special Forms | |
FP Foundations, Scheme |
Static Chain Example | |
Implementing Subprograms |
Static Semantics | |
Semantics |
Subprograms As Parameters: Issues | |
Subprograms |
Subprograms as Parameters | |
Implementing Subprograms |
Summary | |
Semantics |
Technique 1: Static Chains | |
Implementing Subprograms |
Technique 2: Displays | |
Implementing Subprograms |
The Basis for FP | |
Functional Programming |
Two Types of Subprograms | |
Subprograms |
Type Checking | |
Names and Binding |
Type Constructors | |
Data Types |
Type Conversions | |
Arithmetic Expressions |
Unconditional Branching (GOTO) | |
Control Structures |
Unions | |
Data Types |
User-Defined Ordinal Types | |
Data Types |
User-Defined Overloaded Operators | |
Subprograms |
User-Located Loop Controls | |
Control Structures |
Variable Initialization | |
Names and Binding |
Virtual Methods | |
Object-Oriented Programming |
What Will You Learn? | |
Comparative Languages: Introduction |