Latest Book :
Recent Books
Showing posts with label Informatique. Show all posts
Showing posts with label Informatique. Show all posts

Art of Programming Contest

                                           
Art of Programming Contest








  This book is designed to serve as a textbook for an algorithm course focusing on programming as well as a programming course focusing on algorithms. The book is specially designed to train students to participate in competitions, especially the ACM International Collegiate Programming Contest
 
 
 
 
http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCsQFjAA&url=http%3A%2F%2Fwww.acmsolver.org%2Fbooks%2FArt_of_Programming_Contest_SE_for_uva.pdf&ei=ssKAUsu2IePD7Aa4tIHwBA&usg=AFQjCNFJxBP5xc3lG3LcQP7XwINnCOwEMA&sig2=63HdDhgNI8yRJBHKS9eIgg&bvm=bv.56146854,d.ZGU&cad=rja
 

Algorithms for Programmers: Ideas and Source Code

                                           
Algorithms for Programmers: Ideas and Source Code











This is a draft of a book about selected algorithms. The audience in mind are programmers who are interested in the treated algorithms and actually want to create and understand working and reasonably optimized code
 
 
 
 
http://www.jjj.de/fxt/fxtbook.pdf
 

Sorting and Searching Algorithms: A Cookbook

                    Sorting and Searching Algorithms: A Cookbook                         














This is a collection of algorithms for sorting and searching, with brief and intuitive descriptions. It is assumed that you know C, and that you are familiar with concepts such as arrays and pointers. The text presents several sorting algorithms, techniques for implementing dictionaries, structures that allow efficient search, insert, and delete operations, algorithms that sort data and implement dictionaries for very large files
 
 
 
 
http://www.cs.auckland.ac.nz/software/AlgAnim/niemann/s_man.pdf
 

Text Algorithms

                                           
Text Algorithms











his much-needed book on the design of algorithms and data structures for text processing emphasizes both theoretical foundations and practical applications. It is intended to serve both as a textbook for courses on algorithm design, especially those related to text processing, and as a reference for computer science professionals
 
 
 
http://igm.univ-mlv.fr/~mac/REC/text-algorithms.pdf
 

Concepts, Techniques, and Models of Computer Programming

                                           
Concepts, Techniques, and Models of Computer Programming














This innovative text presents computer programming as a unified discipline in a way that is both practical and scientifically sound. The book focuses on techniques of lasting value and explains them precisely in terms of a simple abstract machine. The book presents all major programming paradigms in a uniform framework that shows their deep relationships and how and where to use them together. After an introduction to programming concepts, the book presents both well-known and lesser-known computation models ("programming paradigms"). Each model has its own set of techniques and each is included on the basis of its usefulness in practice. The general models include declarative programming, declarative concurrency, message-passing concurrency, explicit state, object-oriented programming, shared-state concurrency, and relational programming. Specialized models include graphical user interface programming, distributed programming, and constraint programming. Each model is based on its kernel language -- a simple core language that consists of a small number of programmer- significant elements. The kernel languages are introduced progressively, adding concepts one by one, thus showing the deep relationships between different models. The kernel languages are defined precisely in terms of a simple abstract machine. Because a wide variety of languages and programming paradigms can be modeled by a small set of closely related kernel languages, this approach allows programmer and student to grasp the underlying unity of programming. The book has many program fragments and exercises, all of which can be run on the Mozart Programming System, an Open Source software package that features an interactive incremental development environment
 
 
 
 
http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CDwQFjAB&url=http%3A%2F%2Fwww.epsa.org%2Fforms%2FuploadFiles%2F3B6300000000.filename.booksingle.pdf&ei=YL2AUsHOJoX17AaszoDgDg&usg=AFQjCNErL93LrQbtURckYj7WOm3Stz2fGA&sig2=1sWpurTRmC_0LNwmZRNUzQ&bvm=bv.56146854,d.ZGU&cad=rja
 

The Craft of Programming

                                           
The Craft of Programming












The modern computer is so powerful that a casual knowledge of programming suffices for most of its users. However, a variety of circumstances can abruptly require a much deeper understanding: the need to structure a program carefully to avoid being overwhelmed by its complexity, the need to insure reliability beyond what can he achieved by debugging, or the need to utilize computing resources efficiently. Beyond such practical considerations, there is an inherent intellectual satisfaction in mastering the fundamental concepts of programming. The aim of this book is to provide such mastery concept by concept. For example, the reader is expected to understand proofs of correctness and order-of-magnitude time requirements for simple integer algorithms - such as log n exponentiation - before the concept of arrays is introduced. A similarly thorough understanding of array manipulating algorithms is expected before the introduction of procedures
 
 
 
 
ftp://ftp.cs.cmu.edu/user/jcr/craftprog.pdf
 

Inductive Logic Programming: Techniques and Applications

                                           
Inductive Logic Programming: Techniques and Applications












This book is an introduction to inductive logic programming (ILP), a research field at the intersection of machine learning and logic programming, which aims at a formal framework as well as practical algorithms for inductively learning relational descriptions in the form of logic programs. The book covers empirical inductive logic programming, one of the two major subfields of ILP, which has shown its application potential in the following areas: knowledge acquisition, inductive program synthesis, inductive data engineering, and knowledge discovery in databases. The book is intended for knowledge engineers concerned with the automatic synthesis of knowledge bases for expert systems, software engineers who could profit from inductive programming tools, researchers in system development and database methodology, interested in techniques for knowledge discovery in databases and inductive data engineering, and researchers and graduates in artificial intelligence, machine learning, logic programming, software engineering and database methodology
 
 
 
 
http://www-ai.ijs.si/SasoDzeroski/ILPBook/ILPfront.pdf
 

Foundations of Computer Science

                          Foundations of Computer Science                   








his text teaches programming and presents some fundamental principles of computer science, especially algorithm design. The programming in this course is based on the language ML and mostly concerns the functional programming style. The course also covers basic methods for estimating efficiency
 
 
 
 
http://www.cl.cam.ac.uk/teaching/2000/FoundsCS/Founds-FP.pdf
 

Programming Pearls, 2nd Edition

                                           
Programming Pearls, 2nd Edition










The book focuses on choosing the right algorithms and on showing how to solve problems effectively. Each chapter frames a particular programming task--such as sorting numbers, creating anagrams, or counting the words in a block of text--many drawn from Bentley's experiences in his long career as a developer. The book traces the process of arriving at a fast, efficient, and accurate solution, along with code profiling to discover what works best. Code examples are    written in C and ++C
 
 
 
http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&ved=0CEgQFjAD&url=http%3A%2F%2Fread.pudn.com%2Fdownloads92%2Febook%2F361761%2FProgrammingPearls2nd.pdf&ei=RLqAUp-pMK7B7Aak4IGACw&usg=AFQjCNFaRlaz8I1XWJ0dCtSKE7_SNQeChg&sig2=uKNHDpRSIIYjrN-IO17ONg&bvm=bv.56146854,d.ZGU&cad=rja
 

Learn to Program

                                           
Learn to Program












Chris Pine takes a thorough, but light-hearted approach that teaches you how to program in Ruby with a minimum of fuss or bother. Starting with small, simple one-line programs to calculate your age in seconds, you'll see how to have your webpage send you email, to shuffle your music more intelligently, to rename your photos from your digital camera, and more. You'll learn the same technology used to drive modern dynamic websites and large, professional applications
 
 
 
 
http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CDMQFjAB&url=http%3A%2F%2Fnotfine.com%2Fbooks%2Flearn-to-program_p2_0.pdf&ei=oLmAUobxDIuI7AbWwoAo&usg=AFQjCNF1FSvLOVeaebRz8fNCnkN5MehX0w&sig2=Cs2nal1HTNjHg0nvnU8xRg&bvm=bv.56146854,d.ZGU&cad=rja
 

Programming from Specifications

                                           
Programming from Specifications











Programming from Specifications presents a rigorous treatment of most elementary program-development constructs, including iteration, recursion, procedures, parameters, modules and data refinement. The second edition retains the simple approach of the original: the integration of specification, development and coding, and the use of ordinary (classical) logic. Additions include more material on data refinement, a complete chapter on recursively defined types, and two further extended case studies
 
 
 
 
http://www.cs.ox.ac.uk/publications/books/PfS/PfS.ps.gz
 

Computer Science: Abstraction to Implementation

                                           
Computer Science: Abstraction to Implementation












This book is intended for a broad second course in computer science, one emphasizing principles wherever it seems possible at this level. While this course builds and amplifies what the student already knows about programming, it is not limited to programming. Instead, it attempts to use various programming models to explicate principles of computational systems
 
 
 
 
http://www.cs.hmc.edu/~keller/cs60book/%20%20%20All.pdf
 

The Practice of Parallel Programming

                        The Practice of Parallel Programming                     

















This book provides an advanced guide to the issues of the parallel and multithreaded programming. It goes beyond the high-level design of the applications, into the details that are often overlooked but vital to make the programs work. The content is oriented towards the programming of the operating systems, servers and business applications
 
 
 
 
This book provides an advanced guide to the issues of the parallel and multithreaded programming. It goes beyond the high-level design of the applications, into the details that are often overlooked but vital to make the programs work. The content is oriented towards the programming of the operating systems, servers and business applications
 

Zen Style Programming

                                           
Zen Style Programming












 
 
 
The first part of this book introduces the concept of functional programming, describes a language that fulfills all the requirements, and shows how to solve simple problems in it. The second part of the book shows how to apply the techniques of the first part to some problems of varying complexity. The third part, finally, shows how to implement the abstraction layer that is necessary for solving problems in an abstract way on a concrete computer
 
 
 
 
http://www.bcl.hamilton.ie/~nmh/t3x.org/zzz/zen-style-programming.zip
 

So You Want to Learn to Program?

                        So You Want to Learn to Program?                     












Learn to program a computer without the jargon and complexity of many programming books. Suitable for anybody age 10 to 100+ who wants to learn and is ready to experiment. This book engages through media and then introduces the concepts of structured programming. You will learn to program as you make animations, games, and fun applications
 
 
 
http://www.basicbook.org/DownloadFR
 

Windows Programming

                          
Windows Programming
               











This book aims to be a comprehensive source for any developer who is interested in programming for the Windows platform. The reader is assumed to have a previous knowledge of the programming languages involved. Specifically, prior knowledge in C, C++, and Visual Basic is required for certain sections of this book
 
 
 
http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCkQFjAA&url=http%3A%2F%2Fhvt.bme.hu%2F~csurgai%2FBsc%2FWinProg.pdf&ei=o7SAUoHbG4qd0QXhhYHgCg&usg=AFQjCNE8fnog35RcZ5GD1JnKmltIX8BEgg&sig2=JfYrdJv5O4JXedEU4KWF8Q&bvm=bv.56146854,d.d2k&cad=rja
 

The Black Art of Programming

                      The Black Art of Programming                       













This e-book is an introduction to computer programming. It covers the essential information of a Computer Science course. Recommended for beginners and intermediate programmers. Contents: Program Structure; Topics from Computer Science; The Craft of Programming
 
 
 
http://www.blueskytechnology.com.au/downloads/blackart.doc
 

The Little Book of Semaphores, 2nd edition

                                           
The Little Book of Semaphores, 2nd edition
















The Little Book of Semaphores is a free (in both senses of the word) textbook that introduces the principles of synchronization for concurrent programming. In most computer science curricula, synchronization is a module in an Operating Systems class. OS textbooks present a standard set of problems with a standard set of solutions, but most students don't get a good understanding of the material or the ability to solve similar problems. The approach of this book is to identify patterns that are useful for a variety of synchronization problems and then show how they can be assembled into solutions. After each problem, the book offers a hint before showing a solution, giving students a better chance of discovering solutions on their own




http://greenteapress.com/semaphores/downey08semaphores.pdf

Practical File System Design with the Be File System

                                           
Practical File System Design with the Be File System














Although many operating system textbooks offer highlevel descriptions of file systems, few go into sufficient detail for an implementor, and none go into details about advanced topics such as journaling. I wrote this book to address that lack of information. This book covers the details of file systems, from low-level to high-level, as well as related topics such as the disk cache, the file system interface to the kernel, and the user-level APIs that use the features of the file system. Reading this book should give you a thorough understanding of how a file system works in general, how the Be File System (BFS) works in particular, and the issues involved in designing and implementing a file system
 
 
 
 
http://www.nobius.org/~dbg/practical-file-system-design.pdf
 

A Short Introduction to Operating Systems

                                           

A Short Introduction to Operating Systems















These are the lecture notes of Operating Systems, courtesy of Mark Burgess, a full professor at the Faculty of Engineering of University College Oslo, Norway. The notes cover most of the basic topics of operating systems, many which have only been covered superficially. Nevertheless, readers will find these lecture notes as a decent introduction material that should give them a good grasp on the subject of operating systems
 
 
 
 
http://www.iu.hio.no/~mark/os/os.pdf