본문 바로가기 사이드메뉴 바로가기 대메뉴 바로가기

Computer Science

Courses

Principles of Programming Languages
Text code : CSE307 / Credit : 3
  • Prerequisites C or higher: CSE 216 or CSE 219 or CSE 260; CSE 220; CSE major.
  • Textbook information Scott, Michael L., Programming Language Pragmatics (3rd ed.), Morgan Kaufmann, 2009, ISBN-10: 0123745144.

Credits 3
Course Coordinator

Arthur Lee

Description

Presents examples of important programming languages and paradigms such as LISP, ALGOL, ADA , ML, Prolog, and C++. Students write sample programs in some of the languages studied. The languages are used to illustrate programming language constructs such as binding, binding times, data types and implementation, operations (assignment data-type creation, pattern matching), data control, storage management, parameter passing, and operating environment. The suitability of these various languages for particular programming tasks is also covered.

Prerequisite C or higher: CSE 216 or CSE 219 or CSE 260; CSE 220; CSE major.
Course Outcomes
  • An ability to program in different language paradigms and evaluate their relative benefits.
  • Knowledge of, and ability to use, language features used in current programming languages.
  • An understanding of the key concepts in the implementation of common features of programming languages.
  • Working knowledge of the major phases of implementing a programming language.
Textbook

Scott, Michael L., Programming Language Pragmatics (3rd ed.), Morgan Kaufmann, 2009, ISBN-10: 0123745144.

Major Topics Covered in Course
  • Principles of Language Design
  • Specification of Language Syntax
  • Survey of Procedural and OO Languages
  • Intro. to Functional Programming
  • Intro. to Logic Programming
  • Programming Language Semantics
  • Values
  • Bindings
  • Types
  • Programming Language Constructs
  • Expressions
  • Statements
  • Procedures and Environments
  • Parameter Passing
Laboratory Projects
  • Syntax and grammars, 1 week
  • Functional Programming, 2 weeks
  • Logic Programming, 2 weeks
  • Programming Language Semantics, 2 weeks
  • Run-time Structures: Interpreters, 2 weeks
Course Webpage

CSE307

 

Arthur Lee img
Arthur Lee