CENG 442 - Programming Language Concepts

Course Web Site: http://ceng442.cankaya.edu.tr & WebOnline

Description: Language categories, Language design, Programming languages evolution, Syntax, Semantics, Lexical and syntax analyzers, Names, Bindings, Type checking, Scoping, Data types, Expressions, Statements, Statement-level control structures, Subprograms, Abstract data types, Functional programming languages, Logic programming languages.


  • Learn fundamental concepts underlying all programming languages.

  • Understand and practice paradigms of programming languages.

  • Understand how the concepts are handled in major programming languages.

  • Be able to use language processors for language design and implementation.

Text Book: Concepts of Programming Languages, 11th Edition, Robert W. Sebesta, Addison-Wesley, 2012.

 -Compilers: Principles, Techniques, and Tools, Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jerey D. Ullman, Addison-Wesley.
 -Programming Language Concepts and Paradigms, David Watt, Prentice Hall.
 -Comparative Programming Languages, Leslie B. Wilson, Robert G. Clark, Addison-Wesley.


WEEK 1: Introduction, Preliminaries, and History (Chapter 1)
WEEK 2: Introduction, Preliminaries, and History (Chapter 2)
WEEK 3: Syntax and Semantics (Chapter 3)
WEEK 4: Lexical and Syntax Analysis (Chapter 4)
WEEK 5: Lex and Yacc Tools
WEEK 6: Names, Bindings, Type checking, and Scoping (Chapter 5)
WEEK 7: Data types (Chapter 6)
WEEK 8: Expressions and Assignment statements (Chapter 7)
WEEK 9: Statement Level Control Structures (Chapter 8)
WEEK 10: Subprograms (Chapter 9)
WEEK 11: Implementing Subprograms (Chapter 9, 10)
WEEK 12: Abstract Data Types (Chapter 11)
WEEK 13: Functional Programming Languages (Chapter 15)
WEEK 14: Logic Programming Languages (Chapter 16)

Attendance (%5)
Quiz (%10)
Project (%20)
Lab Work (%20)
Midterm (%20)
Final (%25)