This text is designed to formalize and consolidate the knowledge of
programming languages and to provide a base for further studies in the semantics
and translation of programming languages. Topics covered includes: Syntax,
Semantics, Abstraction and Generalization, Domains and Types, Environment,
Functional Programming, Logic Programming, Imperative Programming, Concurrent
Programming, PCN, Pragmatics, 6 Evaluation of Programming Languages.
This note covers the following
topics: The Elements of Programming, Theoretical Introduction of Programming
Languages: Syntax, Semantics, Types, Abstraction on Data, Delayed Evaluation on
Data and on Control, Type Correctness, Evaluators for Functional Programming,
Logic Programming, Imperative Programming.
course note is an introduction to high performance computing (HPC) on modern
desktop computer architectures. The targeted audience is undergraduate students
who are not engaged in a computer science program but who want to be exposed to
the principles HPC (relevant to desktop computers) and take advantage of them in
their field of study.
This book is a much more appropriate book for a modern
programming languages course than a traditional one based on paradigms.
Topics covered includes: Parsing, Interpretation, Desugaring, Adding
Functions to the Language, From Substitution to Environments, Functions
Anywhere, Mutation: Structures and Variables, Recursion and Cycles:
Procedures and Data, Objects, Memory Management, Representation Decisions,
Desugaring as a Language Feature, Control Operations, Checking Program
Invariants Statically: Types, Checking Program Invariants Dynamically:
Contracts and Alternate Application Semantics.