Operating Systems
Programming Languages
Microsoft Technologies
Computer Science
Formal Methods
MM & Game Dev.
Theory Computing
DS & Algorithms
Software Engineering
Web Programming
Web Technologies

Contact Us | What's New | Missing Link | Feedback

CS -> Theory

Book Title : An Introduction to Computing
eBook download format(s) : pdf html 
Author(s) : Subhashis Banerjee
Section : CS -> Theory
Book Review:

Book Description
This course is about computing. The notion of computing is much more fundamental than the notion of a computer, because computing can be done even without one. In fact, we have been computing ever since we entered primary school, mainly using pencil and paper. Since then, we have been adding, subtracting, multiplying, dividing, computing lengths, areas, volumes and many many other things. In all these computations we follow some definite, unambiguous set of rules. This course is about studying these rules for a variety of problems and writing them down explicitly.

When we explicitly write down the rules (or instructions) for solving a given computing problem, we call it an algorithm. Thus algorithms are primarily vehicles for communication; for specifying solutions to computational problems, unambiguously, so that others (or even computers) can understand the solutions. When an algorithm is written according to a particular syntax of a language which can be interpreted by a digital computer, we call it a program. This last step is necessary when we wish to carry out our computations using a computer.

While writing down algorithms, it is important to choose an underlying model of computation, i.e., to choose appropriate primitives to describe an algorithm. This choice determines the kind of computations that can be carried out in the model.

With each of these models of computing, the rules for specifying a solution (algorithms) are different, and the precision of the solution also differs. Thus, in our study of algorithms and programs, it becomes important to first choose a reasonable model of computation. In these notes we will describe our choice of computational models which are widely used in modern computing using digital computers.

Once a computational model in available, and we can specify an algorithm (or a program) to solve a given problem, we have to ensure that the algorithm is correct. We would also wish that our algorithms are efficient. Correctness and efficiency of algorithm design are central issues in this course. In these notes, we will endeavour to develop methodologies for the design of correct algorithms.

add to                 Digg!

You may use anyone of the download options

eBook VersionLook @ Amazon
Front Cover

Missing Link?, Report It and try these 2 + 1 alternates...

Tell a Friend!

Similar Book titles in CS -> Theory section:
Introduction to Computer Science I
Fundamentals of Computing
An Introduction to the Theory of Computation (Principles of Computer Science Series)
Introduction to Symbolic Computation
Fundamentals of Grid Computing
An Introduction to Multigrid Methods
Categories, Types And Structures - An Introduction to Category Theory for The Working Computer Scientist
A Short Introduction to Queueing Theory
Introduction to Computational Complexity
A Gentle Introduction to Haskell
Introduction to Objective Caml

Similar Book titles in Other sections:

Section: Bio-Chemistry
EMBnet Biocomputing Tutorials
Introduction to Glycolysis
Computational Molecular Biology: An Introduction

Section: CS -> Compilers and Languages
Semantics with Applications: A Formal Introduction
An Introduction to GCC
Introduction to Programming Languages
Data, Syntax and Semantics - An Introduction to Modelling Programming Languages
Introduction to Machine Learning
Show all..

Section: Data Structures and Algorithms
Introduction to Computer Graphics
Introduction to Algorithms

Section: Parallel Computing
Fundamentals of Grid Computing

Section: DB -> Datawarehousing
Data Mining - An Introduction Student Notes

Section: DB -> Others
Introduction to Databases for the Web
Introduction to Databases for Web Developers
Introduction to Sybase

Section: DB -> Postgre SQL
PostgreSQL: Introduction and Concepts
An Introduction to MySQL

Section: DB -> SQL
Introduction to SQL
A Gentle Introduction to SQL
Structured Query Language (SQL) : A Practical Introduction

Section: Device Drivers
Introduction to Writing Windows CE Display Drivers

Section: Logic Design and Architecture
An Introduction to VHDL

Section: Microprocessor
CAN (Controller Area Network): Introduction and Fundamentals
Introduction to Microcontrollers
Introduction to PLC controllers
Introduction to 8080/8085 Assembly Language Programming

Section: Peripherals
Introduction to PCI

Section: Advanced Java
Introduction to Computer Science Using Java

Section: Java Enterprise Edition
Enterprise Java Beans, an Introduction

Section: Java User Interface
Java 2D: An Introduction and Tutorial

Section: Java Language
Introduction to Programming Using Java
Introduction to Interactive Programming In Java
Introduction to Programming (in Java) - An Interdisciplinary Approach
Introduction to Neural Networks with Java

Section: Java Networking
Java Thin Client for Network Computing

Section: Mathematics
An Introduction to Neural Networks
Introduction to Group Theory
A Computational Introduction to Number Theory and Algebra
Algorithms For Computing With Modular Forms
Numerical Computing with MATLAB
Show all..

Section: Miscellaneous
An introduction to Cryptography
Introduction to Sound Processing
E-Commerce: An Introduction
Introduction to Marketing Models
A Gentle Introduction to TeX, a Manual for Self-study
Show all..

Section: Microsoft C Sharp (C#)
A Programmer's Introduction to C# (Second Edition)
Programmer Introduction to C#

Section: Networking
Introduction to Data Communications
Introduction to Computer, Internet & Network Systems Security
PVM: Parallel Virtual Machine: A Users' Guide and Tutorial for Network Parallel Computing

Section: GNU/Linux OS
Introduction to Linux
Introduction to Socket Programming
An Introduction to Tkinter
The Easiest Linux Guide You'll Ever Read - an Introduction to Linux for Windows Users

Section: Embedded and RTOS
Introduction to Robotics: Mechanics and Control

Section: OS Theory
A Short Introduction to Operating Systems

Section: Unix OS
Introduction to Unix for Web Developers

Section: Assembly Language
Introduction to RISC Assembly Language Programming
Programmed Introduction to MIPS Assembly Language
Introduction to Reverse Engineering Software

Section: C Language
Introduction to C and C++ Programming
Introduction to C Programming

Section: C++ Language
An Introduction to C++ and Object Oriented Programming
An Introduction to C++ Programming
Compilers and Compiler Generators: an introduction with C++
Introduction to C++ Programming I
Introduction to Object-Oriented Programming Using C++
Show all..

Section: Other Programming
Common Lisp: A Gentle Introduction to Symbolic Computation
Ada Distilled: An Introduction to Ada Programming
An Introduction to Programming in Emacs Lisp
An Introduction to Logic Programming Through Prolog
Job Control Language (JCL) Introduction
Show all..

Section: Scripting
An Introduction to Scheme and its Implementation
Introduction to TCL/TK
Concrete Abstractions: An Introduction to Computer Science Using Scheme
An Introduction to Python

Section: Smalltalk
Smalltalk: An Introduction to Application Development Using VisualWorks
Smalltalk and Object Orientation: An Introduction
Squeak: Open Personal Computing and Multimedia

Section: Redbooks Draft
IBM/Cisco Multiprotocol Routing: An Introduction and Implementation
GDPS Family - An Introduction to Concepts and Capabilities
IBM System Storage DS3000: Introduction and Implementation Guide
IBM System z9 Business Class Technical Introduction
Introduction to Workload Partition Management in IBM AIX Version 6
Show all..

Section: Redbooks
IBM TotalStorage: Introduction to SAN Routing
IBM System z9 Business Class Technical Introduction
Introduction to the New Mainframe: z/OS Basics
AIX V6 Advanced Security Features Introduction and Configuration
SAN Multiprotocol Routing: An Introduction and Implementation
Show all..

Section: Redpapers
IBM System p5 510 and 510Q Technical Overview and Introduction
IBM BladeCenter JS21 Technical Overview and Introduction
IBM System p5 185 Technical Overview and Introduction
IBM System p5 560Q Technical Overview and Introduction
IBM IntelliStation POWER 185 Technical Overview and Introduction
Show all..

Section: Redpapers Draft
IBM System p5 505 and 505Q Technical Overview and Introduction
IBM System p5 550 and 550Q Technical Overview and Introduction
IBM System p5 510 and 510Q Technical Overview and Introduction
IBM System p5 590 and 595 Technical Overview and Introduction
System x3755 Technical Introduction
Show all..

Section: Software Engineering
How to Design Programs: An Introduction to Programming and Computing
Task-Centered User Interface Design - A Practical Introduction

Section: Web Programming
Voodoo's Introduction to JavaScript
Introduction to Databases for the Web
A Programmer's Introduction to PHP 4.0

Section: Web Technology
Introduction to Dynamic HTML
Introduction to Adobe Photoshop
Introduction to Web Design
Introduction to HTML
Introduction to Web Design
Show all..

Section: XML, XSL & UML
A Gentle Introduction to XML
Introduction to XML for Web Developers
A Technical Introduction to XML (N. Walsh)
Introduction to XForms
Introduction to XML Programming
Show all..

Similar Books from Amazon :

Tell a Friend!

©2008 - Home - Privacy Policy - Program Policy, Terms and Conditions