Friday, February 12, 2016

A Field Guide to Genetic Programming

   Ebook Size : 3.6 MB

   Download : A Field Guide to Genetic Programming

The goal of having computers automatically solve problems is central to artificial intelligence, machine learning, and the broad area encompassed by what Turing called “machine intelligence” (Turing, 1948). Machine learning pioneer Arthur Samuel, in his 1983 talk entitled “AI: Where It Has Been and Where It Is Going” (Samuel, 1983), stated that the main goal of the fields of machine learning and artificial intelligence is: “to get machines to exhibit behaviour, which if done by humans, would be assumed to involve the use of intelligence.” Genetic programming (GP) is an evolutionary computation (EC) 1 technique that automatically solves problems without requiring the user to know
or specify the form or structure of the solution in advance. At the most abstract level GP is a systematic, domain-independent method for getting computers to solve problems automatically starting from a high-level statement of what needs to be done.

Since its inception, GP has attracted the interest of myriads of people around the globe. This book gives an overview of the basics of GP, summarised important work that gave direction and impetus to the field and discusses some interesting new directions and applications. Things continue to change rapidly in genetic programming as investigators and practitioners discover new methods and applications. This makes it impossible to cover all aspects of GP, and this book should be seen as a snapshot of a particular moment in the history of the field.

Friday, January 15, 2016

Space Math @ NASA - Real World Application of Maths to Space!

SpaceMath@NASA introduces students to the use of mathematics in today's scientific discoveries. Through press releases and other articles, we explore how many kinds of mathematics skills come together in exploring the universe.

The ebooks covers problems and solutions of real world Astronomy by topics, NASA Mission and by Maths Grade Level.


                                Ebook Size: 277 KB

                                Download : What is LIFE? by ERWIN SCHRODINGER

What is life? The Physical Aspect of the Living Cell.
Based on lectures delivered under the auspices of the Dublin Institute for Advanced Studies at Trinity College, Dublin, in February 1943.

To the memory of My Parents


A scientist is supposed to have a complete and thorough I of knowledge, at first hand, of some subjects and, therefore, is usually expected not to write on any topic of which he is not a life, master. This is regarded as a matter of noblesse oblige. For the present purpose I beg to renounce the noblesse, if any, and to be the freed of the ensuing obligation. My excuse is as follows: We have inherited from our forefathers the keen longing for unified, all-embracing knowledge. The very name given to the highest institutions of learning reminds us, that from antiquity to and throughout many centuries the universal aspect has been the only one to be given full credit. But the spread, both in and width and depth, of the multifarious branches of knowledge by during the last hundred odd years has confronted us with a queer dilemma. We feel clearly that we are only now beginning to acquire reliable material for welding together the sum total of all that is known into a whole; but, on the other hand, it has become next to impossible for a single mind fully to command more than a small specialized portion of it. I can see no other escape from this dilemma (lest our true who aim be lost for ever) than that some of us should venture to embark on a synthesis of facts and theories, albeit with second-hand and incomplete knowledge of some of them -and at the risk of making fools of ourselves. So much for my apology. The difficulties of language are not negligible. One's native speech is a closely fitting garment, and one never feels quite at ease when it is not immediately available and has to be replaced by another. My thanks are due to Dr Inkster (Trinity College, Dublin), to Dr Padraig Browne (St Patrick's College, Maynooth) and, last but not least, to Mr S. C. Roberts. They were put to great trouble to fit the new garment on me and to even greater trouble by my occasional reluctance to give up some 'original' fashion of my own. Should some of it have survived the mitigating tendency of my friends, it is to be put at my door, not at theirs. The headlines of the numerous sections were originally intended to be marginal summaries, and the text of every chapter should be read in continuo. E.S. Dublin September 1944 Homo liber nulla de re minus quam de morte cogitat; et ejus sapientia non mortis sed vitae meditatio est. SPINOZA'S Ethics, Pt IV, Prop. 67 (There is nothing over which a free man ponders less than death; his wisdom is, to meditate not on death but on life.)

Thursday, December 24, 2015

Introduction to Programming Using Java, Seventh Edition

                Ebook Size: 6 MB
                Download : Introduction to Programming Using Java
                Download Source Code

Introduction to Programming Using Java is a free introductory computer programming textbook that uses Java as the language of instruction. It is suitable for use in an introductory programming course and for people who are trying to learn programming on their own. There are no prerequisites beyond a general familiarity with the ideas of computers and programs.

There is enough material for a full year of college-level programming. Chapters 1 through 7 can be used as a textbook in a one-semester college-level course or in a year-long high school course. The remaining chapters can be covered in a second course.

The Seventh Edition of the book covers “Java 7.” The most recent version of Java is 8, but this book has only a few very short mentions of the new features in Java 8. The home web site for this book is The page at that address contains links for downloading a copy of the web site and for downloading PDF versions of the book. The web site—and the web site download—includes source code for the sample programs that are discussed in the text, answers to end-of-chapter quizzes and a discussion and solution for each end-of-chapter exercises. Readers are encouraged to download the source code for the examples and to read and run the programs as they read the book. Readers are also strongly encouraged to read the exercise solutions if they want to get the most out of this book.

In style, this is a textbook rather than a tutorial. That is, it concentrates on explaining concepts rather than giving step-by-step how-to-do-it guides. I have tried to use a conversational writing style that might be closer to classroom lecture than to a typical textbook. This is certainly not a Java reference book, and it is not a comprehensive survey of all the features of Java. It is not written as a quick introduction to Java for people who already know another programming language. Instead, it is directed mainly towards people who are learning programming for the first time, and it is as much about general programming concepts as it is about Java in particular. I believe that Introduction to Programming using Java is fully competitive with the conventionally published, printed programming textbooks that are available on the market. (Well, all right, I’ll confess that I think it’s better.)


The Seventh Edition of “Introduction to Programming using Java” is not a huge update from the sixth edition. In fact, my main motivation for the new version was to remove any use of applets or coverage of applets from the book. Applets are Java programs that run on a web page. When Java first came out, they were exciting, and it seemed like they would become a major way of creating active content for the Web. Up until the sixth edition, the web pages for this book included applets for running many of the sample programs. However, because of security issues and the emergence of other technologies, applets are no longer widely used. 

Furthermore, the most recent versions of Java made it fairly difficult and unpleasant to use the applets in the book. In place of applets, I have tried to make it as easy as possible for readers to download the sample programs and run them on their own computers. Another significant change in the seventh edition is that arrays are now introduced in Chapter 3 in a basic form that is used throughout the next three chapters. Previously, arrays were not introduced until Chapter 7, after objects and GUI programming had already been covered. Much of the more advanced coverage of arrays is still in Chapter 7. Aside from that, there are many small improvements throughout, mostly related to features that were new in Java 7.

When you begin a journey, it’s a good idea to have a mental map of the terrain you’ll be passing through. The same is true for an intellectual journey, such as learning to write computer programs. In this case, you’ll need to know the basics of what computers are and how they work. You’ll want to have some idea of what a computer program is and how one is created. Since you will be writing programs in the Java programming language, you’ll want to know something about that language in particular and about the modern computing environment for which Java is designed.

As you read this chapter, don’t worry if you can’t understand everything in detail. (In fact, it would be impossible for you to learn all the details from the brief expositions in this chapter.) Concentrate on learning enough about the big ideas to orient yourself, in preparation for the rest of the book. Most of what is covered in this chapter will be covered in much greater detail later in the book.

Monday, December 21, 2015

Fundamentals of Programming C++ by Richard L. Halterman

                       Ebook Size : 7.4 MB

                       Download : Fundamentals of Programming C++

A computer program, from one perspective, is a sequence of instructions that dictate the flow of electrical impulses within a computer system. These impulses affect the computer’s memory and interact with the display screen, keyboard, mouse, and perhaps even other computers across a network in such a way as to produce the “magic” that permits humans to perform useful tasks, solve high-level problems, and play games. One program allows a computer to assume the role of a financial calculator, while another transforms the machine into a worthy chess opponent.
The concepts of computer programming are logical and mathematical in nature. In theory, computer programs can be developed without the use of a computer. Programmers can discuss the viability of a program and reason about its correctness and efficiency by examining abstract symbols that correspond to the features of real-world programming languages but appear in no real-world programming language. While such exercises can be very valuable, in practice computer programmers are not isolated from their machines. Software is written to be used on real computer systems. Computing professionals known as software engineers develop software to drive particular systems. These systems are defined by their underlying hardware and operating system. Developers use concrete tools like compilers, debuggers, and profilers.

Sunday, December 20, 2015

Think Java: How to think like a Computer Scientist

                     Ebook Size : 1.1 MB

                     Download : Think Java: How to think like a computer scientist

Computer scientists have an approach to problem-solving, and a way of crafting solutions, that is unique, versatile and powerful. I hope that this book gives you a sense of what that approach is, and that at some point you will find yourself thinking like a computer scientist.

The goal of this book, and this class, is to teach you to think like a computer scientist. I like the way computer scientists think because they combine some of the best features of Mathematics, Engineering, and Natural Science. Like mathematicians, computer scientists use formal languages to denote ideas (specifically computations). Like engineers, they design things, assembling components into systems and evaluating trade offs among alternatives. Like scientists, they observe the behavior of complex systems, form hypotheses, and test predictions. The single most important skill for a computer scientist is problem-solving. By that I mean the ability to formulate problems, think creatively about solutions, and express a solution clearly and accurately. As it turns out, the process of learning to program is an excellent opportunity to practice problem-solving skills. That’s why this chapter is called “The way of the program.” On one level, you will be learning to program, which is a useful skill by itself. On another level you will use programming as a means to an end. As we go along, that end will become clearer.
Some books introduce objects immediately; others warm up with a more procedural style and develop object-oriented style more gradually. This book is probably the extreme of the “objects late” approach.