How To Design Programs An Introduction To Programming and Computing (M. Felleisen, et al)

Advertisement

How To Design Programs An Introduction To Programming and Computing (M. Felleisen, et al)

How To Design Programs An Introduction To Programming and Computing (M. Felleisen, et al)

The
main focus of this book is the design process that leads from problem statements
to well-organized 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.

Author(s): Matthias
Felleisen, Robert Bruce Findler, Matthew Flatt and Shriram Krishnamurthi

This note
covers the following topics: Introduction to programming, Use of objects and
variables, Definition of methods and classes, Primitive data types, Conditional
statements, Loop statements, Arrays and matrices, Files and input/output
streams, Program errors and exception handling, Recursion, Dynamic arrays and
linked lists.

This note covers the following topics:
The naive way of coding, Coding schemes for binary channels and Shannon theorem,
Shannon theorem, Exponential growth rate, Binary codes, The Hamming bound and
perfect codes, The Gilbert-Varshamov bound, Error probability estimations, Union
bound for BER, State representations and trellises of general codes,
Convolutional codes, Tanner graphs and factor graphs.

This note explains
the following topics: Object-oriented programming, Data encapsulation with
classes, Subclasses and inheritance, Abstract classes, Exception handling,
Reflection, Concurrent programming, Functional programming, Logic programming,
Scripting languages.

This 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.

This book provides a practitioner's guide for students, programmers,
engineers, and scientists who wish to design and build efficient and
cost-effective 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.