|
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 |