The objective of this course is to study
the properties of programming languages in general, learn syntax
and semantics of programming languages, learn basic constructs that
are common to all languages, examine some of these constructs and
concepts for specific languages, introduce the main paradigms of
computation, languages representative of these paradigms, techniques
of implementing various programming language constructs, as well
as basic concepts relating to the specification of programming languages.
Object Oriented Programming
Sebesta, Robert W. Concepts of Programming Languages, 11th ed, Addison-Wesley, 2018 (html). |
|
- Michael Scott. Programming Language Prgramatics,
4th edition, Morgan Kaufmann, San Francisco, California, 2015.
-
R. Toal, R. Rivera, A. Schneider, and E. Choe, Programming Language
Explorations, CRC Press, 2017.
- Pratt, T.W. & M.V.Zelkowitz. Programming
Languages, Design and Implementation. Prentice Hall, 4th ed., 2001.
Evaluation Tool | Weight in % |
---|---|
Homework Assignments | 12 |
Presentations & Project |
12 |
In-term Exams - 2 Midterms |
36 |
Final | 40 |
WEEK | TOPIC(S) |
---|---|
1 | Introduction |
2 | Evolution of Major Programming Languages |
3 | Describing Syntax and Semantics |
4 | Lexical and Syntax Analysis |
5 | Names, Bindings, Type Checking, and Scopes |
6 | Data Types |
7 | Expressions and Assignment Statements |
8 | Exam Week |
9 | Statement-Level Control Structures and Subprograms |
10 | Implementing Subprograms, Abstract Data Types and Encapsulation Constructs |
11 | Support for Object-Oriented Programming |
12 | Concurrency |
13 | Exception and Event Handling |
14 | Functional and Logic Programming Languages |