this note is to teach the fundamental principles of programming, making use of
the typical aspects of the object-oriented, functional, and imperative
programming paradigms. Such basic principles are presented by referring to the
Java programming language.
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.
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.
The Dictionary of Programming Languages is a compendium of computer
coding methods assembled to provide information and aid your appreciation
for computer science history. The dictionary currently has over 120
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.