CSE 425: Concepts of Programming Languages

Course Description

This course covers the fundamental concepts of different programming languages by discussing the design issues of the various language constructs, examining the design choices for this construction in some of the most common languages, and critically comparing language design alternatives. Specifically, the course covers Programming Paradigm and Language Categories, Language Design & Evolutions, Syntax & Semantics, Lexical & Syntax analyzers, Names, Scopes & Bindings, Datatypes & Type checking, abstract data types, Statements & Expressions, Subprograms, Object-Oriented Programming, Concurrency, Exception Handling, Functional and Logic programming languages etc.

Objectives: The objectives of this course are to

  • illustrate the programming paradigms, principles, fundamental concepts and techniques involved in design and implementation of major programming languages

  • elaborate key programming concepts of major imperative, declarative, and object-oriented programming languages, their merits and limitations

  • familiarize, concurrency control, and exception handling.

  • demonstrate key concepts of functional and logic programming languages, their purpose and applications.

Outcome-based Education (OBE)

Click here for details

Teaching Staff

Instructor

Md. Shahriar Karim
Office location: SAC 1010 C
Office hours: Click here

Contact

  • Visit SAC 1010 C during office hours

  • Send e-mail for appointment

Required Text

  • Concepts of Programming Languages - by Robert W. Sebesta

  • Comparative Programming Languages - by Leslie B. Wilson, Robert G. Clark, Addison-Wesley