Best New Free Computer IT Training Tutorial Resources
Free Computer and I.T. Books

March 4, 2011

Computer Science Online Book

This free online computer science book, Introduction to Computer Science (at Princeton University), is an interdisciplinary approach that teaches all of the classic elements of programming, using an "objects-in-the-middle" approach that emphasizes data abstraction. The book focuses four areas of computer science: programming, machine architecture, theory, and systems. The programming topics and concepts are presented by demonstrating specific applications, taken from fields ranging from materials science to genomics to astrophysics to internet commerce. Also available is the program code. You can use this online book to learn or increase your programming skills. Section 1.1 contains detailed instructions for installing a Java programming environment on your system.

Chapter 1: Elements of Programming
introduces variables, assignment statements, built-in types of data, conditionals and loops, arrays, and input/output, including graphics and sound.

Chapter 2: Functions
introduces modular programming. We stress the fundamental idea of dividing a program into components that can be independently debugged, maintained, and reused.

Chapter 3: Object Oriented Programming
introduces data abstraction. We emphasize the concept of a data type and its implementation using Java's class mechanism.

Chapter 4: Algorithms and Data Structures
introduces classical algorithms for sorting and searching and fundamental data structures, including stacks, queues, and symbol tables.

Chapter 5: A Computing Machine
introduces an imaginary machine that is similar to real computers. We specify the machine in full detail and consider machine-language programs.

Chapter 6: Circuits
introduces circuits and logical design, culminating in a description of how a machine might be built from the ground up.

Chapter 7: Theory of Computation
introduces the scientific discipline concerned with understanding (efficient) computational phenomena, whether it be man-made, in nature, or imaginary.

Chapter 8: Systems
introduces the basic components of computer systems that support programming: compilers, operating systems, networks, and application systems.

Chapter 9: Scientific Computation
introduces some of the most important algorithms that play crucial roles in our computational infrastructure, including numerical integration, matrix computation, data analysis, and Monte Carlo simulation.

Here are Lecture Slides that accompany this Computer Science book.

A Computing Machine:
0  Prologue  LFSR
5.1 - 5.3  A von Neumann Machine  Visual X-TOY
5.4 - 5.5  Machine Language Programming  Crazy 8

Building a Computer:
6.1  Boolean Logic and Gates  Hydraulic computer
Sequential Circuits
TOY Machine Architecture
Theory of Computation:
7.1 - 7.3  Regular Expressions and DFAs  DFA
7.4 - 7.6  Turing Machines  Turing machine simulator  Adder
7.7  Intractability
7.8  Cryptography  Crypto history

8.4  Networking

Scientific Computing:
9.1  Floating Point
9.8  Monte Carlo Simulation

Tags for this post>> | |

Powered by WordPress