

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 and TechniquesSteve Zdancewic and Stephanie WeirichPDF  369 Pages  EnglishThis
book covers the following topics: Program Design, Introductory OCaml, Lists and
Recursion, Tuples and Nested Patterns, Userdefined Datatypes, Binary Trees,
Generic Functions and Datatypes, Firstclass Functions, Modularity and
Abstraction, Records of Named Fields, Mutable State and Aliasing, Wrapping up
OCaml, Transition to Java, Connecting OCaml to Java.
 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.
 Theory Introduction to Programming LanguagesAnthony A. AabyPDF  233 Pages  EnglishPurpose of
this text to explain the concepts underlying programming languages and to
examine the major language paradigms that use these concepts. This book is
intended as an undergraduate text in the theory of programming languages. To
gain maximum benefit from the text, the reader should have experience in a
highlevel programming language such as Pascal, Modula2, C++, ML or Common
Lisp, machine organization and programming, and discrete mathematics.
 Multi Stage Programming Its Theory and ApplicationsWalid TahaPDF  182 Pages  EnglishThis note covers
the following topics: practice of MultiStage Programming, theory of MultiStage
Programming, BigStep Semantics, Type Systems, and Closedness, Reduction
Semantics.
 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)  The Programmers Stone (Alan Colston) PDFAlan
G CarterOnline  NA Pages  EnglishThis book explores and celebrates the Art of Computer Programming. It
covers the following topics: Thinking about Thinking, Thinking about
Programming, The Programmer at Work, Customs and Practices, Design Principles,
Prudence and Safety, Some Weird Stuff.
 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) 








