This page will be continuously updated during the course!
Andrés Sicard
Ramírez
<asr(at)eafit(dot)edu(dot)co>
Office
hours
Class 4503, room 18-305
Tuesdays, 18:00 –
19:30
Fridays, 10:30 – 12:00
Exam/Activity | Week | Date/Dealine | Textbook material/Description |
---|---|---|---|
Exam 1 | 4th | Tuesday, August 8 | Ch. 1. Introduction
§ 1.1 Historical Perspective § 1.2 Models of Computation § 1.3 The Origins of a Few Programming Languages § 1.4 Language Implementation § 1.5 Types and Type Checking Ch. 2. Syntax § 2.1. Terminology § 2.2. Backus Naur Form (BNF) § 2.3. Context-Free Grammars § 2.4. Derivations § 2.5. Parse Trees § 2.6. Abstract Syntax Trees § 2.13 Limitations of Syntactic Definitions |
Exam 2 | 9th | Tuesday, September 12 |
Ch. 4. Object-Oriented Programming
§ 4.1. The Java Environment § 4.2. The C++ Environment § 4.3. Namespaces § 4.4. Dynamic Linking § 4.5. Defining the Main Function § 4.6. I/O Streams § 4.7. Garbage Collection § 4.10. Inheritance and Polymorphism § 4.11. Interfaces and Adapters § 4.16. Exception Handling in Java and C++ |
Programming lab 1 | 10th | Friday, September 22 (23:59) | Java/C++ interoperability |
Exam 3 | 15th | Tuesday, Octuber 31 |
Ch. 5 Functional Programming
§ 5.1 Imperative Versus Functional Programming § 5.2. The Lambda Calculus § 5.3 Getting Started with with Standard ML (Haskell) § 5.4 Expressions, Types, Structures, and Functions § Parametric Polymorphism § 5.5 Recursive Functions § 5.6 Characters, Strings, and Lists § Lazy Evaluation § 5.7 Pattern Matching § 5.8 Tuples § 5.9 Let Expressions and Scope (Let Expressions and Where Clauses) § 5.10 Datatypes (Algebraic Data Types) § 5.12 Efficiency of Recursion § 5.13 Tail Recursion § 5.14 Currying § 5.15 Anonymous Functions § 5.16 Higher-Order Functions § 5.18 Input and Output |
Programming lab 2 | 14th | Tuesday, November 7 (23:59) | Tic-Tac-Toe |
Final project | 18th | Friday, November 24 (23:59) | Formal verification of programs |
Subject | Slides |
---|---|
Introduction | [ pdf ] |
Syntax | [ pdf ] |
Object-Oriented Programming | [ pdf ] |
Functional Programming | [ pdf ] |
Logic Programming | [ pdf ] |