This note explains the
following topics: Transition Systems, Defining a Language, A Functional
Language, Control and Data Flow, Imperative Functional Programming, Cost
Semantics and Parallelism, Data Structures and Abstraction, Lazy Evaluation,
Dynamic Typing, Subtyping and Inheritance, Storage Management.
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 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.