CENG 442 - Programming Language Concepts
Instructor: Engin DEMÄ°R
Office Hours: TUE 14:20-16:10, WED 11:20-12:10
Sections 1,2,3: MON 13:20 - 15:10 (NA06)
Sections 4,5,6: WEB 13:20 - 15:10 (H126)
Instructor: Faris Serdar TAÅEL
Sections 1,2: WED 9:20-11:10 (H312)
Sections 3,6: FRI 9:20-11:10 (H312)
Sections 4,5: THU 13:20-15:10 (H314)
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)
Lab Work (%20)