CSE 325/CSE 425 Concepts of Programming Language

Code and Name CSE 325/CSE 425 Concepts of Programming Language
Type Core
Credit Hours 3
Pre-requisites CSE 327

Course Summary: 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.

Course Objectives: The objectives of this course are to

  1. illustrate the programming paradigms, principles, fundamental concepts and techniques involved in design and implementation of major programming languages
  2. elaborate key programming concepts of major imperative, declarative, and object-oriented programming languages, their merits and limitations
  3. familiarize , concurrency control, and exception handling .
  4. demonstrate key concepts of functional and logic programming languages, their purpose and applications