CS112: Structure of Programming Languages - PowerPoint PPT Presentation

1 / 11
About This Presentation
Title:

CS112: Structure of Programming Languages

Description:

Course Outline & Time Frame: ... Brief survey of programming paradigms: Procedural, Object ... Object-oriented design, Encapsulation and information-hiding ... – PowerPoint PPT presentation

Number of Views:122
Avg rating:3.0/5.0
Slides: 12
Provided by: curryA
Category:

less

Transcript and Presenter's Notes

Title: CS112: Structure of Programming Languages


1
CS112 Structure of Programming Languages
  • A smorgasbord of topics in
  • programming languages
  • including programming paradigms
  • and syntax, semantics, implementation
  • of programming language features

2
Course Syllabus
  • Course No. CS112
  • Title Structure of Programming Languages
  • Course Description Selected topics in
    programming languages, including programming
    paradigms, and syntax, semantics, implementation
    of programming language features

3
Course SyllabusCS112 Struc of Prog Langs
  • Course Objectives The student should know the
    basics of lambda calculus, and its practical
    application to functional programming languages,
    write actual functional programs in Haskell,
    differentiate among the different programming
    paradigms functional, imperative, declarative,
    and object-oriented, and study the syntax and
    semantics of imperative language features and
    their implementation.

4
Course SyllabusCS112 Struc of Prog Lang
  • Course Outline Time Frame
  • Lambda Calculus expressions, reduction
    strategies, normalization theorem, Church's
    thesis.
  • Functional programming as an implementation of
    Lambda Calculus programming in Haskell,
    recursion.
  • Declarative programming in Prolog.
  • Imperative programming memory map/segments of a
    running program, variables (scope, allocation,
    lifetime), parameter passing. Implementation of
    imperative features (in assembly language).

5
Course SyllabusCS112 Struc of Prog Lang
  • Required readings
  • Michael Gordon, Programming language theory and
    its implementation, PH 1988
  • Gezzhi Jazayerri, Programming languages
  • Haskell online tutorial, http//www.haskell.org/
  • Clocksin Mellish, Programming in Prolog

6
CS112 Coverage of ACM Topics
  • PL1. Overview of programming languages
  • History of programming languages
  • Brief survey of programming paradigms
    Procedural, Object-oriented, Functional,
    Declarative (non-algorithmic), Scripting
    languages.
  • The effects of scale on programming methodology
  • PL2. Virtual machines
  • concept of virtual machine, Hierarchy of virtual
    machines, Intermediate languages
  • Security issues arising from running code on an
    alien machine

7
CS112 Coverage of ACM Topics
  • PL3. Introduction to language translation
  • Comparison of interpreters and compilers
  • Language translation phases (lexical analysis,
    parsing, code generation, optimization)
  • Machine-dependent and machine-independent aspects
    of translation

8
CS112 Coverage of ACM Topics
  • PL4. Declarations and types
  • The conception of types as a set of values with
    together with a set of operations
  • Declaration models (binding, visibility, scope,
    and lifetime)
  • Overview of type-checking
  • Garbage collection

9
CS112 Coverage of ACM Topics
  • PL5. Abstraction mechanisms
  • Procedures, functions, and iterators as
    abstraction mechanisms
  • Parameterization mechanisms (reference vs. value)
  • Activation records and storage management
  • Type parameters and parameterized types
  • Modules in programming languages

10
CS112 Coverage of ACM Topics
  • PL6. Object-oriented programming
  • Object-oriented design, Encapsulation and
    information-hiding
  • Separation of behavior and implementation
  • Classes and subclasses, Inheritance (overriding,
    dynamic dispatch)
  • Polymorphism (subtype polymorphism vs.
    inheritance)
  • Class hierarchies, Collection classes and
    iteration protocols
  • Internal representations of objects and method
    tables

11
CS112 Wish List
  • See CC2001
Write a Comment
User Comments (0)
About PowerShow.com