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.
This note covers programming languages and programming
paradigms, OCaml operational Semantics: an overview, Names, Bindings and
environment, A static analysis primer, Stack machines, Functions everywhere,
Static scope and dynamic scope.
This note presents
major features of programming languages, with primary emphasis on the role of
particular language features in writing good software; programming language
design alternatives; various programming paradigms embodied in languages, such
as procedural, data-flow, functional and object-oriented languages.
This
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.