/Concepts-of-Programming-Languages

This course covers the fundamental concepts on which programming languages are based and the execution models supporting them.

Primary LanguageTeX

Concepts-of-Programming-Languages


Professor: Dr. Jose M. Garrido

Office:Norton J-316

Office Hours: (Virtual interactive) Tuesday and Thursday 7:30pm – 8:15pm, using Zoom


Course Description

This course covers the fundamental concepts on which programming languages are based and the execution models supporting them. Topics include syntax and semantics of programming Languages, different paradigms of programming languages, values, variables, bindings, type systems, control structures, exceptions, concurrency, modularity, and language processors (compilers and interpreters).

Course Materials

  • Concepts of Programming Languages

    • by Robert W. Sebesta, University of Colorado, Colorado Springs
    • ISBN-13: 978-0-13-394302=3.
  • Writing Compilers and Interpreters: A Software Engineering Approach 3rd Edition

    • by Ronald Mak
    • ISBN-13: 978-0470177075

Goals

  1. Explain the issues involved in the design and implementation of programming languages
  2. Conduct critical evaluations of existing and future programming languages
  3. Select implementation languages for specific applications
  4. Explain the difference between the different programming language paradigms and discuss the advantages and disadvantages of each one.
  5. Develop a complete language processor (interpreter) for a simple programming language

Grading Components

Component Weight
Project 25%
Final 20%
Midterm 20%
Assignments 15%
Quizzes 15%
Discussion 5%