

This section contains free ebooks and guides on Programing Theory, some of the resources in this section can be viewed online and some of them can be downloaded.




Programming Languages Theory and PracticeRobert
HarperPDF  277 Pages  EnglishThis note covers the following topics: Inductive Definitions, Transition
Systems, Defining a Language, Concrete Syntax, Abstract Syntax Trees, Abstract
Binding Trees, Functional Language, Control and Data Flow, Imperative Functional
Programming, Cost Semantics and Parallelism, Data Structures and Abstraction,
Lazy Evaluation, Dynamic Typing, Subtyping and Inheritance, Concurrency.
 Coding Theory and ApplicationsEnes PasalicPDF  154 Pages  EnglishThis book has been written as
lecture notes for students who need a grasp of the basic principles of linear
codes. Topics covered includes: Shannon theory and coding, Coding theory,
Decoding of linear codes and MacWilliams identity, Coding theory  Constructing
New Codes, Coding theory  Bounds on Codes, ReedMuller codes, Fast decoding of
RM codes and higher order RM codes.
 Course Notes on Coding TheoryMadhu SudanOnline  NA Pages  EnglishThis note covers the following
topics: Basic codes and constructions, Algebraic Geometry Codes, Limits on
Performance of Codes, Algebraic decoding, Algebraic decoding, Linear time
decoding, Decoding from random errors and erasures, Applications in complexity
theory and Complexity results in coding theory.
 Programming Language Concepts Lecture NotesMadhavan MukundPDF  182 Pages  EnglishThis note explains
the following topics: Objectoriented programming, Data encapsulation with
classes, Subclasses and inheritance, Abstract classes, Exception handling,
Reflection, Concurrent programming, Functional programming, Logic programming,
Scripting languages.
 Essential Coding TheoryVenkatesan Guruswami, Atri Rudra and Madhu
SudanOnline  NA Pages  EnglishThis book explains the following topics: Linear Codes, Probability
as Fancy Counting and the qary Entropy Function, Combinatorics, The Greatest
Code of Them All: ReedSolomon Codes, What Happens When the Noise is Stochastic:
Shannon's Theorem, Bridging the Gap Between Shannon and Hamming: List Decoding,
Code Constructions, Code Concatenation, Algorithms, Decoding Concatenated Codes,
Efficiently Achieving the Capacity of the BSCp, Efficient Decoding of
ReedSolomon Codes, Efficiently Achieving List Decoding Capacity, Applications.
 Structure and Interpretation of Computer ProgramsAmir KamilOnline  NA Pages  EnglishThis note covers
the following topics: Functions, Values and Side Effects, Control and
HigherOrder Functions, Environments and Lambda, Newton's Method and Recursion,
Data Abstraction, Sequences and Iterables, Objects, Lists, and Dictionaries,
Mutable Data Types, ObjectOriented Programming, Inheritance, Generic Functions,
Coercion and Recursive Data, Functional Programming, Declarative Programming,
Unification, MapReduce, Parallelism.
 Theory in Programming Practice (PDF 250P)Jayadev MisraPDF  250 Pages  EnglishCovered topics
are: Text Compression, Error Detection and Correction, Cryptography, Finite
State Machines, Recursion and Induction, Relational Database, String
Matching and Parallel Recursion.
 Algorithmic Introduction to Coding TheoryMadhu SudanOnline  NA Pages  EnglishThis note introduces the theory of
errorcorrecting codes to computer scientists. This theory, dating back to the
works of Shannon and Hamming from the late 40's, overflows with theorems,
techniques, and notions of interest to theoretical computer scientists. The
course will focus on results of asymptotic or algorithmic significance.
Principal topics include: Construction and existence results for
errorcorrecting codes, Limitations on the combinatorial performance of
errorcorrecting codes, Decoding algorithms, Applications in computer science.
 How To Design Programs An Introduction To Programming and Computing (M. Felleisen, et al)Matthias
Felleisen, Robert Bruce Findler, Matthew Flatt and Shriram KrishnamurthiOnline  NA Pages  EnglishThe
main focus of this book is the design process that leads from problem statements
to wellorganized solutions; it deemphasizes the study of programming language
details, algorithmic minutiae, and specific application domains. It covers the
following topics: Processing Simple Forms of Data, Processing Arbitrarily Large
Data, Abstracting Designs, Generative Recursion, Accumulating Knowledge,
Changing the State of Variables, Changing Compound Values.
 A Practical Theory of Programming (E. Hehner)Eric
C.R. HehnerOnline  242 Pages  EnglishThis note covers the following topics: Basic Theories, Basic Data
Structures, Function Theory, Program Theory, Programming Language, Recursive
Definition, Theory Design and Implementation, Concurrency and Interaction.
 Programming from the Ground Up (J. Bartlett)Jonathan
BartlettPDF  326 Pages  EnglishThis book covers the following topics: Computer Architecture,
Functions, Files, Reading and Writing Simple Records, Developing Robust
Programs, Sharing Functions with Code Libraries, Intermediate Memory Topics,
HighLevel Languages and Optimization.
 A Gentle Introduction to Programming (A. Cumming)    Designing and Building Parallel Programs (I. Foster)Ian
FosterOnline  NA Pages  EnglishThis book provides a practitioner's guide for students, programmers,
engineers, and scientists who wish to design and build efficient and
costeffective programs for parallel and distributed computer systems. It covers
the following topics: Parallel Computers and Computation, Designing Parallel
Algorithms, Quantitative Basis for Design, Putting Components Together, Tools,
Fortran M, High Performance Fortran, Message Passing Interface and Performance
Tools.
 Concepts, Techniques, and Models of Computer Programming (P. Roy, S. Harid, PDF, 939p) MirrorP. Van Roy and S. HaridiPDF  567 Pages  EnglishThis book covers the following
topics: Introduction to Programming,
General Computation Models, Declarative Programming Techniques, Declarative
Concurrency, Relational Programming, ObjectOriented Programming, Encapsulated
State, Concurrency and State, Specialized Computation Models, Semantics and
Virtual Machines.
 The Programmers Stone (Alan Colston)  How to Think Like a Computer Scientist  Learn to Program A Tutorial for the Future Programmer (Chris Pine)  Programming from Specifications (Carroll Morgan)  Patterns for Adaptive Programming (AP) 








