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 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.
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 lecture note explains the following concepts related to programming
languages such as fundamental concepts of language design, Programming
paradigms, Basic concepts of language implementation, Programming environments,
History of programming languages and some recent directions in programming
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.