Wednesday, 28 August 2013

Memory Technology and Introduction to Cache

Primary technology today: transistor RAM (text, section C.9)
static RAM (SRAM):
  • uses flip-flops, like a register file
  • non-destructive read-out
  • fast (down to 1 ns access time for small memories)
dynamic RAM (DRAM):
  • uses a single transistor to store each bit
  • simpler structure makes memory cheaper (now < 5 cents/MB)
  • and allows for larger capacity chips (now typically 1 - 2 Gb on a chip)
  • destructive read-out
  • requires regular refresh
  • slower (access time for random word (latency) as high as 50 ns)
Large DRAMs are organized as a 2-dimensional array;  bits in the same row can be accessed faster than random bits.

Recent DRAMs aim to improve streaming rate -- rate at which successive bytes can be read out -- through interfaces such as SDRAMs (synchronous DRAMs -- DRAMs operating synchronously with CPU clock) and DDR DRAMS (double data rate DRAMs). For some applications, memory does not have to change --- use ROM (read-only memory).
Static and dynamic RAM are both volatile: data disappears when power is lost. For some applications, data must be preserved, so a special (slow) non-volatile RAM is used.

Caches

Memory Hierarchy (Text, Section 5.1)

There is a trade-off between memory speed, cost, and capacity:
  • SRAM -- fast, expensive, small (smaller SRAMs are faster)
  • DRAM
  • disk -- slow, large, cheap
A cost effective system must have a mix of all of these memories, which means that the system must manage its data so that it is rapidly available when it is needed. In earlier machines, all of this memory management was done explicitly by the programmer; now more of it is done automatically and invisibly by the system. The ideal is to create a system with the cost and capacity of the cheapest technology along with the speed of the fastest.

Locality

If memory access was entirely random, automatic memory management would not be possible. Management relies on:
  • temporal locality: if a program referenced a location, it is more likely to reference this location again in the near future than it is to reference another random location
  • spatial locality: if a program referenced a location, it is more likely to reference nearby locations in the near future than it is to reference other random locations

Cache (Text, Section 5.2)

A cache is an (automatically-managed) level of memory between main memory and the CPU (registers). The goal with a cache is to get the speed of a small SRAM with the capacity of main memory. Each entry in the cache includes the data, the memory address (or a partial address, called the tag), and a valid bit.
One issue in cache design is cache addressing:  determining where a word from main memory may be placed in the cache (Fig. 5.13).
  • fully associative:
    • any word of memory can be stored into any word of the cache
    • not practical except for very small caches
    • if cache is full, evict least recently used entry in cache
  • direct mapped
    • if cache has N words, location k of memory goes into word (k mod N) of cache
    • simplest cache design (Fig. 5.7) (or see Prof. Gottlieb's diagrams)
    • conflict between memory locations with same (k mod N) reduces performance, as compared to fully associative cache
  • set associative
    • typical designs are 2-way or 4-way set associative
    • somewhat greater complexity than direct mapped (more comparators and multiplexers) (Fig. 5.17 or Prof. Gottlieb's diagrams)
    • for 2-way, organize cache as S=N/2 sets of 2 words each
    • location k of memory goes into set (k mod S) of cache
    • approaches performance of fully associative

Multi-cores, multi-threading, multiprocessors

The limits of single-thread performance

  • As discussed before, CPU frequencies are no longer increasing because of heat limitations
  • Data and control dependencies limit the level of single-thread (micro) parallelism
  • Together these sharply limit single-thread performance
  • So increased performance must come from multi-thread (macro) parallelism
If we can effectively use multi-thread parallellism, it may even be beneficial to employ less-than-maximal single-thread-performance
  • power consumption is an important factor in costs for large systems (an extreme ex.:  the Cray Jaguar consumes 7 megawatts)
  • systems are now benchmarked in operations per second per watt (SPECpower;  text, pp. 49-50)

Providing multiple threads

Multiple threads can be provided by
  • multithreading a single core
  • putting multiple cores on a chip
  • putting multiiple chips in a system
Multithreading (text, sec. 7.5)
  • allows multiple threads to share functional units of a single processor
  • a separate copy of process state (PC, registers) is kept for each thread
  • fine-grain multithreading switches threads after each instruction
    • reduces stalls due to data hazards, cache misses
  • coarse-grain multithreading switches only on stalls
  • simultaneous multithreading takes advantage of functional unit parallelism on dynamically-scheduled,, multiple-issue processors by running instructions from multiple threads simultaneously
  • many current CPUs support multithreading
    • Sun UltraSPARC T2 chip (2007) has 8 cores which can each run 8 threads
      • relatively simple cores, small cache
      • well designed for server market
    • Intel has "hyperthreading" with 2 threads per core on Core i7 and Atom
Multiple cores per chip
  • 2, 4, and 6 cores per chip now common
  • steady increase reflecting Moore's law
  • Intel just anounced a prototype 48-core chip
Multiple chips in a system
  • 2 or 4 processor chips on a board
  • with small server boards ("blades"), up to 128 blades in a rack

Using multiple threads:  algorithms and applications

Applications differ in the degree to which they can be parallelized and the communication required between threads
  • web servers are very favorable:  lots of parallelism (multiple users), little communication
  • physical simulations (weather, nuclear, biological, fluid flow [planes]) -- parallelize by dividing space, communicate boundary values
Amdahl's law (text, p. 51):
  • if we speed up a fraction P of our program by a factor of S, overall speedup is
                                1 / ( (1 - P) + (P / S) )
  • with lots of threads, speed-up of overall program is often limited by portion that remains sequential

Communication (text, sec. 7.3 and 7.4)

Shared-memory multiprocessors
  • provide a single address space seen by all processors
  • generally the case for multithreading and multicore
  • supports a high degree of communication:  processes communicate through shared variables in memory
  • facilitates conversion of serial programs to parallel
  • requires considerable hardware to handle heavy communication
    • bus is cheap but communication bottleneck
    • crossbar switch is expensive
    • intermediate networks (2d grid, n-cube (text, sec. 7.8)) provide intermediate solutions
  • uniform memory architecture:  all memory has roughly the same access time
  • non-uniform memory architecture:  some memory can be accessed much more quickly (typically, local to processor)
Message passing multiprocessors
  • requires explicit sending and receiving operations for communication between processors

Time and Frequency for Computer Architecture

Types of computers

Digital vs. analog computer systems: we will only discuss digital systems (systems where signals take on only a discrete number of states, rather than a continuous range of values) Binary nature of essentially all hardware components: switches which are open or closed, bistable memory elements (which hold a single bit of information)
Electronic systems (as contrasted to mechanical or fluidic computers): information represented by electical signals
  • define correspondence between 0/1 and particular values of voltage or current
  • basic element is a switch: device whereby one electrical signal can be used to control another
  • switches can be used to perform logical functions (and, or, not)

Time and frequency

Time is measured in seconds and in fractions of a second:
millisecond (ms): 0.001 second
microsecond (us): 0.000 001 second
nanosecond (ns): 0.000 000 001 second
picoseconds (ps): 0.000 000 000 001 second
For a repetitive phenomenon, the rate at which it repeats is the frequency, measured in cycles per second or Hertz. For higher frequencies we have
1 kilohertz (kHz) = 1 000 cycles / second
1 megahertz (MHz) = 1 000 000 cycles / second
1 gigahertz (GHz) = 1 000 000 000 cycles / second
There is a reciprocal relationship between frequency and the time for a cycle (the 'period'):
frequency = 1 / clock period
clock period = 1 / frequency
For example, if a CPU operates at 100 Hz, its "clock cycle" is 0.01 second = 10 ms; if it operates at 100 MHz, its clock cycle is 0.000 000 01 second = 10 ns.

Switching elements and computer generations

(text, sec. 1.10 (on CD)) Relays were used in the earliest equipment: electronic accounting machines, and early computers made in the 1930's and early 1940's at Bell Labs and by Zuse in Germany. Relays are mechanical and hence relatively slow --- their response time is measured in milliseconds.
Vacuum tubes were dominant about 1945 to 1960 ('first generation of computers'). The first general purpose computer was the ENIAC (1946): 18,000 tubes, 20 10-digit accumulators, 100 kHz clock, 200 microsecond add time, 200 KW power. Tubes were much faster than relays (because they had no mechanical moving parts), but they were bulky, required high power, and had a relatively short life (crucial because of the large number of components).
Discrete transistors ('second generation computers') were used in computers starting around 1960. They took less power , were smaller, and had a longer lifetime than vacuum tubes.
Integrated circuits ('third generation computers') were created by fabricating several transistors on a single chip, allowing computers to be made smaller. IC's were introduced in the late 1960's, and gradually increased their level of integration (number of transistors on a chip).
Very large scale integration ('fourth generation computers') represented the ability to put more and more transistors on a chip, until an entire processor (a microprocessor) could be fabricated on a single chip. Initially VLSI was used to make personal computers (Apple II - 1977; IBM PC - 1981); now all computers are made from VLSI.

Technology Trends

We continue to learn, at a steady pace, how to fabricate smaller and smaller transistors. This allows for
  • a higher level of integration (currently, hundreds of millions of gates on a chip)
  • (until recently) faster circuits (compare the initial PC of 5 Mhz with current PCs of 2-3 GHz)
The cost of a chip has remained (very roughly) constant, so price/performance has been rapidly decreasing. How should this extra circuitry and extra performance be used?

Sunday, 18 August 2013

General Notes for paper-1

  • The UGC, was formally established only in November 1956 as a statutory body of the Government of India through an Act of Parliament for the coordination, determination and maintenance of standards of university education in India.
  • National Assessment and Accreditation Council (NAAC) was established by the UGC in September 1994 at Bangalore for evaluating the performance of the Universities and Colleges in the Country.
  • UGC chairman Prof.Sukhadeo Thorat conferred with Mother Teresa Lifetime achievement award 2010
  • An Inter-University Centre of UGC the INFLIBNET(information and Library network) serves towards modernization of Libraries, serves as Information Centre for transfer and access of information, supporting scholarships and learning and academic pursuits through a National Network of Libraries in around 264 Universities, Colleges and R &D Institutions across the country. 
  • Inter University Accelerator Centre was the first Inter-University Centre to be established by the UGC in 1984(formerly nuclear science centre).
  • The UGC has established 4 National Facilities Centre in the selected universities as per details given below:-

    1. Western Regional Instrumentation Centre, Mumbai
    2. M.S.T. Radar Facilities, Sri Venkateshwar University, Tirupati
    3. Inter University Centre for Humanities and Social Sciences IUCHSS, Indian Institute of Advanced Study, Shimla
    4. Crystal Growth Centre, Anna University, Madras 

    NCTE & Intel renewed the MoU on 12th Jan 2010 in a high profile event attended by all the senior officials of NCTE and Intel. Shri Hasib Ahmad Member Secretary from NCTE and Mr.Rahul Bedi  of Intel were the signatories of the MoU.

    Schedules

    Schedules are lists in the Constitution that categorizes and tabulates bureaucratic activity and policy of the Government.
    First Schedule (Articles 1 and 4): States and Union Territories  – This lists the states and territories on of India, lists any changes to their borders and the laws used to make that change.
    Second Schedule (Articles 59, 65, 75, 97, 125, 148, 158, 164, 186 and 221) — Emoluments for High-Level Officials  – This lists the salaries of officials holding public office, judges, and Comptroller and Auditor-General of India.
    Third Schedule (Articles 75, 99, 124, 148, 164, 188 and 219) — Forms of Oaths  – This lists the oaths of offices for elected officials and judges.
    Fourth Schedule (Articles 4 and 80)  – This details the allocation of seats in the Rajya Sabha (the upper house of Parliament) per State or Union Territory.
    Fifth Schedule (Article 244)  – This provides for the administration and control of Scheduled Areas[Note 1] and Scheduled Tribes[Note 2] (areas and tribes needing special protection due to disadvantageous conditions).
    Sixth Schedule (Articles 244 and 275) — Provisions for the administration of tribal areas in Assam.
    Seventh Schedule (Article 246) — The union (central government), state, and concurrent lists of responsibilities.
    Eighth Schedule (Articles 344 and 351) — The official languages.
    Ninth Schedule (Article 31-B) – This covers land and tenure reforms; the accession of Sikkim with India. It may be reviewed by the courts.
    Tenth Schedule (Articles 102 and 191) — “Anti-defection” provisions for Members of Parliament and Members of the State Legislatures.
    Eleventh Schedule (Article 243-G) — Panchayat Raj (rural development).
    Twelfth Schedule (Article 243-W) — Municipalities (urban planning).

RESEARCH APTITUDE

A careful,systematic,patient study and investigation in some field of knowledge,undertaken to establish facts or principles is called research.
RESEARCH may be APPLIED or BASIC

The purpose of APPLIED research is to solve an immediate,practical problem.
Basic Research(pure) adds to the existing body of knowledge;doesn't necessarily provide results of immediate,practical use.


                                                 













Descriptive Research describes,interprets and clarifies a situation or a problem.e.g types of services provided by an organization,how a child feels living in a home with domestic violence.

Correlational Research is to discover or establish the existence of a relationship/interdependence/association between two or more aspects of a situation e.g what is the impact of advertising campaign on the sale of the product?

Explanatory research attempts to clarify why and how there is arelationship between between two aspects of a situation or phenomenon.e.g why stressful living results in heart attacks.

Exploratory research is usually carried out when researcher wants to explore areas about which he has little or no knowledge.

Qualitative research purpose is to describe a situation,phenomenon,problem or event e.g. an account of different opinions people have about an issue.

Quantitative research  is if you want to quantify the variation in the phenomenon and analysis is done to ascertain the magnitude of variation.e.g. how many people have a particular problem?How many people hold a particular attitude?

SAMPLING 

Read about sampling-
http://www.socialresearchmethods.net/tutorial/Mugo/tutorial.htm

TOC Sample Questions

Q. Write a r.e to denote a language L which accepts all the strings which begin or end with either 00 or 11.

Ans:
The r.e consists of two parts:
L1=(00+11) (any no of 0’s and 1’s)
=(00+11)(0+1)*
L2=(any no of 0’s and 1’s)(00+11)
=(0+1)*(00+11)
Hence r.e R=L1+L2
=[(00+11)(0+1)*] + [(0+1)* (00+11)]

Q.Construct a r.e for the language which accepts all strings with atleast two c’s over
the set ={c,b}

Ans:
(b+c)* c (b+c)* c (b+c)*

Q.Construct a r.e for the language over the set ={a,b} in which total number of
a’s are divisible by 3

Ans:
( b* a b* a b* a b*)*

Q.what is:
(i) (0+1)*
(ii)(01)*
(iii)(0+1)
(iv)(0+1)+

Ans:
(0+1)*= { , 0 , 1 , 01 , 10 ,001 ,101 ,101001,…………………}
Any combinations of 0’s and 1’s.

(01)*={ , 01 ,0101 ,010101 ,…………………………………..}
All combinations with the pattern 01.

(0+1)= 0 or 1,No other possibilities.

(0+1)+= {0,1,01,10,1000,0101,………………………………….}

Q.Reg exp denoting a language over ={1} having
(i)even length of string (ii)odd length of a string
Ans:
(i) Even length of string R=(11)*
(ii) Odd length of the string R=1(11)*

Q.Reg exp for:
(i)All strings over {0,1} with the substring ‘0101’
(ii)All strings beginning with ’11 ‘ and ending with ‘ab’
(iii)Set of all strings over {a,b}with 3 consecutive b’s.
(iv)Set of all strings that end with ‘1’and has no substring ‘00’

Ans:
(i)(0+1)* 0101(0+1)*
(ii)11(1+a+b)* ab
(iii)(a+b)* bbb (a+b)*
(iv)(1+01)* (10+11)* 1

Q. Reg exp for the language such that every string will have atleast one ‘a’ followed
by atleast one ‘b’.

Ans: R=a+b+

Q. What are the applications of pumping lemma?
Ans:
Pumping lemma is used to check if a language is regular or not.
(i) Assume that the language(L) is regular.
(ii) Select a constant ‘n’.
(iii) Select a string(z) in L, such that |z|>n.
(iv) Split the word z into u,v and w such that |uv|<=n and |v|>=1.
(v) You achieve a contradiction to pumping lemma that there exists an ‘i’
Such that uviw is not in L.Then L is not a regular language.

Q. Find the grammar for the language L={a2n bc ,where n>1 }

Ans:
let G=( {S,A,B}, {a,b,c} ,P , {S} ) where P:
S->Abc
A->aaA |

Q. 16.Find the language generated by :
S->0S1 | 0A | 0 |1B | 1
A->0A | 0 , B->1B | 1

Ans:
The minimum string is S-> 0 | 1
S->0S1=>001
S->0S1=>011
S->0S1=>00S11=>000S111=>0000A111=>00000111
Thus L={ 0n 1 m | m not equal to n, and n,m >=1}

Q.Construct the grammar for the language L={ an b an | n>=1}.

Ans: The grammar has the production P as:
S->aAa
A->aAa | b
The grammar is thus : G=( {S,A} ,{a,b} ,P,S)

Q. Construct a grammar for the language L which has all the strings which are all
palindrome over ={a, b}.

Ans:
G=({S}, {a,b} , P, S )
P:{ S -> aSa ,
S-> b S b,
S-> a,
S->b,
S-> } which is in palindrome.

Q. Let G= ( {S,C} ,{a,b},P,S) where P consists of S->aCa , C->aCa |b. Find L(G).

Ans:
S-> aCa => aba
S->aCa=> a aCa a=>aabaa
S->aCa=> a aCa a=> a a aCa a a =>aaabaaa
Thus L(G)= { anban ,where n>=1 }

Q. Find L(G) where G= ( {S} ,{0,1}, {S->0S1 ,S-> },S )

Ans :
S-> , is in L(G)
S-> 0S1 =>0 1=>01
S->0S1=>0 0S11=>0011
Thus L(G)= { 0n1n | n>=0}

Que. Given the following expression grammar:

E->E * F | F+E | F
F-> F-F | id

Which of the following is true?

A * has higher precedence than +
B - has higher precedence than *
C + and - have same precedence
D + has higher precedence than *

Que. Consider the following two statements:

S1: {(O^2n) |n>/=1} is a regu1ar language
S2: {(O^m)(1^n)(O^m+n)|m>/=l and n>/=l} is a regu1ar language

Which of the following statements is correct?

A Only S1 is correct
B Only S2 is correct
C Both S1 and S2 are correct
D None of S1 andS2 is correct

Que. Which of the following statements in true?

A If a language is context free it can always be accepted by a deterministic
push-down automaton
B The union of two context free languages is context free
C The intersection of two context free languages is context free
D The complement of a context free language is context free

Que. Which of the following statements is false?

A An unambiguous grammar has same leftmost and rightmost derivation
B An LL(1) parser is a top-down parser
C LALR is more powerful than SLR
D An ambiguous grammar can never be LR(k) for any k

Que. Consider the following languages:

L1={w w l w (belongs) to) {a,b}*}
L2={ww^R | w (belongs) {a, b}*, w R is the reverse of w}
L3 = { 0^2i | i is an integer}
L4 = {[(O)^i]^2| i is an integer}

Which of the languages are regular?


A Only L1 and L2
B Only L2, L3, and L4
C Only L3 and L4
D Only L3

Que. Context free language are closed under

A union, intesection
B union,kleene closure
C intesection,complement
D complement,kleene closure


Que. Context free languages are


A closed under union
B closed under complementation
C closed under intersection
D all of the above

Que. Which one is equivalent (i) (00)*(e+0) (ii) (00)* (iii) 0* (iv)
0(00)*


A (i) and (ii)
B (ii) and (iii)
C (i) and (iii)
D (iii) and (iv)

Que. Type O grammer is

A (C)both and (b) above
B (C)both (a) and above
C both (a) and (b) above
D none of these

Que. Consider a DFA over S = {a, b} accepting all strings which have number of a's divisible by 6 and number of b's divisible by 8. What is the minimum number of states that the DFA will have?

A 8
B 14
C 15
D 48 

Algorithm lecture Notes

C Lecture Notes

       click here

Algorithm lecture Notes


2)Topicwise Notes

  1. Introduction
  2. Mathematics for Algorithmic
  3. Greedy Algorithms
  4. Divide & Conquer Algorithms
  5. Dynamic Programming Algorithms
  6. Amortized Analysis
  7. Hash Table
  8. Binary Search Tree
  9. Graph Algorithms
  10. String Matching
  11. Sorting
  12. Linear-Time Sorting
  13. Computational Geometry
  14. Computational Complexity
  15. Approximate Algorithms
  16. Linear Programming
  17. Appendix
    1. Parabola
    2. Tangent
  18. Codes
  19. References

Computer Networks

  1. ISO-OSI 7-Layer Network Architecture
  2. Network Architecture(Contd) and Physical Layer
  3. Physical Layer (Contd) - Data Encoding
  4. Multiplexing, Network Topology, Aloha and CSMA/CD
  5. CSMA/CA, Contention Free Protocols and Limited Contention Protocols
  6. IEEE 802.3 and Ethernet
  7. IEEE 802.5: Token Ring Network
  8. Token Ring Network(Contd...) and IEEE 802.4: Token Bus Network
  9. Data Link Layer(DLL)
  10. Network Layer
  11. Network Layer(cont) - Routing Algorithms Classification
  12. Routing Algorithms
  13. ARP,RARP,ICMP Protocols
  14. Transport Layer Protocol (TCP)
  15. TCP (continued)
  16. TCP - Implementation Issues
  17. Unix Socket Programming - Part 1
  18. Unix Socket Programming - Part 2
  19. Unix Socket Programming - Part 3
  20. Unix Socket Programming - Part 4 and Some Topics in TCP
  21. TCP Congestion Control, Random Losses, PAWS
  22. UDP and DNS
  23. DNS(Continued), BOOTP, DHCP
  24. Routing in Internet
  25. Routing(Continued)- Algortihms
  26. Remote Procedure Call
  27. Remote Procedure Call - Using rpcgen(Contd..)
  28. Distributed Applications
  29. Applications- FTP and EMAIL
  30. PEM and SNMP
  31. Firewalls
  32. Wireless Networks
  33. Network Security
  34. Network Security(Contd...)
  35. Network Security(Contd...)
  36. Kerberos and Public Key Authentication
  37. NFS and AFS

Operating Systems Lecture Notes Martin C. Rinard

Saturday, 17 August 2013

Books on Computer Science

A Balanced Introduction to Computer Science
by David Reed, 2004, 400 pages, PDF
Computer Science: Abstraction to Implementation
by Robert M. Keller, 2001, 627 pages, 3.4MB, PDF
Computer Science from the Bottom Up
by Ian Wienand, 2013, online html
Essentials of Theoretical Computer Science
by F. D. Lewis, 2001, PDF
Foundations of Computer Science
by Hans-Peter Bischof, 1998
Foundations of Computer Science: C Edition
by Al Aho, Jeff Ullman, 1994, PDF
GRE Computer Science Test Practice Book
Educational Testing Service, 2004, 53 pages, 900KB, PDF
Introduction to Computer Science using Java
by Bradley Kjell, 2006
An Introduction to Computing
by Subhashis Banerjee, S. Arun Kumar, 2003, 157 pages, 0.6MB, PDF
Mathematical Foundations of Computer Science
by Susan Rodger, 1998, PDF/PS
Mathematics for Computer Science
by Srini Devadas, Eric Lehman, 2005, PDF
Mathematics for Computer Scientists
by Gareth J. Janacek, Mark L. Close, 2008, 153 pages, 3.9MB, PDF
The Nature of Code: Simulating Natural Systems with Processing
by Daniel Shiffman, 2012, 520 pp, online reading
A New Kind of Science
by Stephen Wolfram, 2002
Simulating Humans: Computer Graphics Animation and Control
by Norman I. Badler, Cary B. Phillips, Bonnie Lynn Webber, 1993, 283 pages, 2MB, PDF
The Structure and Function of Complex Networks
by M. E. J. Newman, 2003, 58 pages, 1.2MB, PDF
Vector Math for 3D Computer Graphics
by Bradley Kjell, 2003, 1.5MB, ZIP/PDF

Software Engineering Books

Adaptive Object-Oriented Software: The Demeter Method
by Karl Lieberherr, 1996, 651 pages, 3MB, PDF
The Elements of Computing Systems
by Noam Nisan, Shimon Schocken, 2005, PDF
Elements of Software Construction
by Robert Miller, 2011, PDF
Essential Skills for Agile Development
by Tong Ka Iok, 2004, 427 pages, 2.2MB, PDF
Foundations of Software Engineering
by Kevin Amaratunga, 2000
A Functional Pattern System for Object-Oriented Design
by Thomas Kuehne, 346 pages, 2MB, PDF
The Grand Unified Theory of Software Engineering
by Mathias Ekstedt, 2005
The Guide to the Software Engineering Body of Knowledge
by P. Bourque, R. Dupuis, A. Abran, J. W. Moore, and L. L. Tripp, 2004
Handbook of Software Reliability Engineering
edited by Michael R. Lyu, 1996, PDF
How to Design Programs: An Introduction to Programming and Computing
by Matthias Felleisen, et al, 2003
Introduction to Reverse Engineering Software
by Mike Perry, Nasko Oskov, UIUC
The New Software Engineering
by Sue Conger, 2008, 830 pages, 47MB, PDF
Object-Oriented Software Composition
by Nierstrasz, Sichritzis, 1995, 362 pages, 2.9MB, PDF
Object-Oriented System Development
by Dennis deChampeaux, Doug Lea, Penelope Faure, 1993
Project Management Book
by Michael Harding Roberts
Scientific Software Engineering in a Nutshell
by Helmut G. Katzgraber, 2010, 39 pages, 340KB, PDF
Seamless Object-Oriented Software Architecture
by Kim Walden, Jean-Marc Nerson, 1994, 458 pages, 2MB, PDF
Software Architecture
by A. Bijlsma, B.J. Heeren, E.E. Roubtsova, S. Stuurman, 2011, 162 pages, 2.3MB, PDF
Software Engineering
by Ivan Marsic, 2008, 389 pages, 4.7MB, PDF
Software Engineering for Internet Applications
by Eve Andersson, Philip Greenspun, Andrew Grumet, 2006
Software Engineering with Reusable Components
by Johannes Sametinger, 2001, 285 pages, 1.2MB, PDF
Software Fault Tolerance
by Michael R. Lyu, 1995, PDF
Software Foundations
by Benjamin C. Pierce, at al. 2010
Specifying Systems: TLA+ Language and Tools for Hardware and Software Engineers
by Leslie Lamport, 2002, 382 pages, 2.5MB, PDF
Templates for the Solution of Linear Systems
by Richard Barrett et al., 1987, 117 pages, 740 KB, PDF
The Z Notation: A Reference Manual
by J. M. Spivey, 1992

Information Science Books

Advances in Human Computer Interaction
by Shane Pinder, 2008, 600 pages, 35MB, ZIP/PDF
Advances in Knowledge Representation
edited by Carlos Ramirez Gutierrez, 2012, 272 pp, 16MB, PDF
Application of Geographic Information Systems
edited by Bhuiyan Monwar Alam, 2012, 372 pp, 40MB, PDF
Atlas of Cyberspace
by Martin Dodge, Rob Kitchin, 2002, 281 pages, PDF
Bibliometrics as a Research Field
by W. Glaenzel, 2003, 115 pp, 1.7MB, PDF
The Boundaries of Humanity: Humans, Animals, Machines
by J. Sheehan, M. Sosna, 1991
Data Modeling Techniques for Data Warehousing
by Chuck Ballard, et al., 1998, 216 pages, 1.3MB, PDF
Discovering Information Systems
by Jean-Paul Van Belle, Jane Nash, Mike Eccles, 2003, 175 pages, 1.7MB, PDF
The Fourth Paradigm: Data-Intensive Scientific Discovery
edited by Tony Hey, Stewart Tansley, Kristin Tolle, 2009, PDF
Handbook of Knowledge Representation
by Frank van Harmelen, Vladimir Lifschitz, Bruce Porter, 2008, 1035 pages, 11MB, PDF
Human Computer Interaction
by Ioannis Pavlidis, 2008, 370 pages, 38MB, PDF
Human Computer Interaction: New Developments
by Kikuo Asai, 2008, 382 pages, 25MB, PDF
Information Retrieval
by C. J. van Rijsbergen, 1979, 224 pages, PDF
Information Retrieval: A Survey
by Ed Greengrass, 2000, 224 pages, 1.1MB, PDF
Information Retrieval Interaction
by Peter Ingwersen, 2002, 256 pages, 3.5MB, PDF
Information Systems
by Richard T. Watson, 2007, 250 pages, 8.3MB, PDF
Information Systems Foundations: Constructing and Criticising
by Dennis Hart, Shirley Gregor, 2005, 234 pages, 11MB, PDF
Introduction to Information Retrieval
by C. D. Manning, P. Raghavan, H. Schuetze, 2008, 496 pages, 6.3MB, PDF
Knowledge Technologies
by Nick Milton, 2008, 141 pp, 900KB, PDF
Linked Data: Evolving the Web into a Global Data Space
by Tom Heath, Christian Bizer, 2011
Strategies for Sustaining Digital Libraries
by Katherine Skinner, Martin Halbert, 2008, 123 pages, 1.8MB, PDF
Usage Bibliometrics
by Michael J. Kurtz, Johan Bollen, 2011, 64 pages, 17MB, PDF
User Interfaces
edited by Rita Matrai, 2010, 280 pages, 26MB, PDF

Computational Science Books

Advanced Scientific Computing
by Zdzislaw Meglicki, 2001
Axiom: The Scientific Computation System
by Richard D. Jenks, Robert S. Sutor, 2003, 1200 pages, 3.8MB, PDF
Chaotic Systems
edited by Esteban Tlelo-Cuautle, 2011, 310 pages, 25MB, PDF
Computational Science Education Project
CSEP, 1996
Computer Algebra, Algorithms, Systems and Applications
by Richard Liska, at al. 1996
Computer Simulation Techniques - The Definitive Introduction
by Harry Perros, 2008, 176 pages, 3.8MB, PDF
Encyclopedia of Computational Neuroscience
Scholarpedia, 2009
Computational Modeling and Complexity Science
by Allen Downey, 2008, 97 pages, 1.4MB, PDF
Fundamental Numerical Methods and Data Analysis
by George W. Collins, II, 2003, 254 pages, PDF
Introduction to Bioinformatics
by Sabu M. Thampi, 2009, 155 pages, 2.5MB, PDF
Introduction to High-Performance Scientific Computing
by Victor Eijkhout, 2010, 234 pages, 1.9MB, PDF
Linear Optimisation and Numerical Analysis
by Ian Craw, 2002, 151 pages, 1.1MB, PDF
Mathematical Computation
by Ian Craw, 2003, 156 pages, 940KB, PDF
Modelling and Simulation
edited by Giuseppe Petrone and Giuliano Cammarata, 2008, 688 pages, 80MB, PDF
Modeling Simulation and Optimization: Focus on Applications
edited by Shkelzen Cakaj, 2010, 320 pages, 14MB, PDF
Modeling with Data: Tools and Techniques for Scientific Computing
by Ben Klemens, 2008, 468 pages, PDF
Numerical Analysis for Engineering
by Douglas W. Harder, Richard Khoury, 2010
Numerical Methods Course Notes
by Steven E. Pav, 2005, 180 pages, 980KB, PDF
Numerical Methods with Applications
by Autar K Kaw, Egwu Eric Kalu, 2008, 728 pages, PDF/DOC
Numerical Recipes in Fortran 90
by William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery, 1996
A practical guide to computer simulations
by Alexander K. Hartmann and Heiko Rieger, 2001, PDF/PS
Queueing Theory
by Ivo Adan, Jacques Resing, 2002, 180 pages, 810KB, PDF
Self-Organizing Maps
edited by George K Matsopoulos, 2010, 430 pages, 36MB, PDF
Understanding Computer Simulation
by Roger McHaney, 2009, 172 pages, 4.3MB, PDF

Computer Security & Cryptography Books

Advanced Topics in Cryptography
MIT OpenCourseWare, 2003
Basic Cryptanalysis
United States Department of the Army, 1990, PDF/PS
A brief introduction of quantum cryptography for engineers
by Bing Qi, Li Qian, Hoi-Kwong Lo, 2010, 36 pages, 640KB, PDF
Coding Theory and Cryptography: From Enigma and Geheimschreiber to Quantum Theory edited by David Joyner, 2000, PS/PDF
Cryptography, A Study on Secret Writings
by Andre Langie, 1922, 192 pages, 15MB, PDF
Cryptography and Cryptanalysis
by Anna Lysyanskaya, 2001, PS
Cryptography and Data Security
by Dorothy Elizabeth Rob, ling Denning, 1982, 419 pages, 19MB, PDF
Cryptography and Security in Computing
by Jaydip Sen (ed.), 2012, 242 pp, 4.1MB, PDF
Cyber Infrastructure Protection
by Tarek N. Saadawi, Louis H. Jordan Jr. 2011, 324 pages, 3.2MB, PDF
The Developer Highway Code
by Paul Maher, Alex Mackman, 2006, 163 pages, 6.6MB, PDF
Fundamentals of Cryptology: A Professional Reference and Interactive Tutorial
by Henk C. A. van Tilborg, 1999, 503 pages, 2.9MB, PDF
Hacking Secret Ciphers with Python
by Al Sweigart, 2013, 436 pp, 6.8MB, PDF
Handbook of Applied Cryptography
by Alfred Menezes, Paul van Oorschot, Scott Vanstone, 1996, 816 pages, PDF
Introduction to Modern Cryptography
by Mihir Bellare, Phillip Rogaway, 2005, PDF
The Laws of Cryptography with Java Code
by Neal R. Wagner, 2003, 334 pages, 1.1MB, PDF
Mathematical Cryptology
by Keijo Ruohonen, 2010, 136 pp, 1.1MB, PDF
Military Cryptanalysis
by William F. Friedman, 1936, PDF
Modern Cryptography
by Phillip Rogaway, 2000, PS
Quantum Cryptography
by N. Gisin, G. Ribordy, W. Tittel, H. Zbinden, 2001, 57 pages, 1.4MB, PDF
Security Enhanced Applications for Information Systems
by Christos Kalloniatis, 2012, 224 pp, 5.2MB, PDF
Selected Aspects of Computer Security in Open Systems
by Danny Smith, 1993
Visual Cryptography and Its Applications
by Jonathan Weir, WeiQi Yan, 2012, 144 pp, 6.2MB, PDF

Computer Architecture & Engineering Books

Architecture and Programming of 8051 Microcontrollers
by Milan Verle, 2010
An Architecture for Combinator Graph Reduction
by Philip J. Koopman, 1990, PDF
Basic Concepts in Quantum Computation
by Artur Ekert, Patrick Hayden, Hitoshi Inamori, 2000, 37 pages, 350KB, PDF
Computer Organization and Design Fundamentals
by David Tarnoff, 2008, PDF
Digital Systems Design
by Ramaswamy Palaniappan, 2011, 130 pp, 4.2MB, PDF
The Elements of Computing Systems
by Noam Nisan, Shimon Schocken, 2005, PDF
Integrated Communications Management of Broadband Networks
by David Griffin, 1996, PDF
Introduction to Digital Filters: with Audio Applications
by Julius O. Smith III, 2007
Introduction to Embedded Systems
by Edward A. Lee, Sanjit A. Seshia, 2011, 501 pages, 29MB, PDF
An Introduction to Quantum Computing for Non-Physicists
by Eleanor G. Rieffel, Wolfgang Polak, 2000, 45 pages, 350KB, PDF
Microprocessor Design
Wikibooks, 2012, 128 pp, 4.5MB, PDF
Mixed-signal and DSP Design Techniques
by Walt Kester, 2002, 368 pages, PDF
Modern Computer Arithmetic
by Richard P. Brent, Paul Zimmermann, 2009, 239 pages, 1.9MB, PDF
Multiprocessor Scheduling, Theory and Applications
edited by Eugene Levner, 2007, 436 pages, 4.7MB, PDF
Network Programming
by Katta G. Murty, 2006, PDF
Neural Networks in Hardware: Architectures, Products and Applications
by Clark S. Lindsey, 1998
Principles of Computer System Design: An Introduction
by Jerome H. Saltzer, M. Frans Kaashoek, 2009, 576 pages, PDF
Quantum Computer Science
by David Mermin, 2007, PDF/PS
The Scientist and Engineer's Guide to Digital Signal Processing
by Steven W. Smith, 1999, 650 pages, 6.2MB, RAR/PDF
Stack Computers: the new wave
by Philip J. Koopman, Jr. 1989

Artificial Intelligence Books

Active Contours: The Application of Techniques from Graphics, Vision, Control Theory and Statistics to Visual Tracking of Shapes in Motion by Andrew Blake, Michael Isard, 2000
Advances in Robotics, Automation and Control
by Jesus Aramburo, Antonio R. Trevino, 2008, 472 pages, 29MB, ZIP/PDF
Advances in Service Robotics
by Ho Seok Ahn, 2008, 342 pages, 57MB, ZIP/PDF
Affective Computing
by Jimmy Or, 2008, 284 pages, 35MB, ZIP/PDF
Ambient Intelligence
edited by Felix Jesus Villanueva Molina, 2010, PDF
Anisotropic Diffusion in Image Processing
by Joachim Weickert, 1998, 184 pages, 3.2MB, PDF
Artificial Intelligence - Agent Behaviour
by William John Teahan, 2010, 240 pages, 11MB, PDF
Artificial Intelligence - Agents and Environments
by William John Teahan, 2010, 154 pages, 8.6MB, PDF
Artificial Intelligence and Molecular Biology
by Lawrence Hunter, 1993, 480 pages, PDF
Artificial Intelligence and Responsive Optimization
by M. Khoshnevisan, S. Bhattacharya, F. Smarandache, 2003, 87 pages, 0.5MB, PDF
Artificial Intelligence: Foundations of Computational Agents
by David Poole, Alan Mackworth, 2010
Artificial Intelligence through Prolog
by Neil C. Rowe, 1988
Artificial Neural Networks
Wikibooks, 2010
Artificial Neural Networks: Architectures and Applications
by Kenji Suzuki (ed.), 2013, 256 pp, 8.9MB, PDF
Artificial Neural Networks: Methodological Advances and Biomedical Applications
by Kenji Suzuki, 2011, 362 pages, 11MB, PDF
Automation and Robotics
by Juan Manuel Ramos Arreguin, 2008, 388 pages, 29MB, ZIP/PDF
Autonomous Agents
edited by Vedran Kordic, 2010, 138 pages, 4.1MB, PDF
Bayesian Reasoning and Machine Learning
by David Barber, 2010, 644 pages, 15MB, PDF
Bioinspiration and Robotics: Walking and Climbing Robots
by Maki K. Habib, 2007, 11MB, ZIP/PDF
Brain, Vision and AI
by Cesare Rossi, 2008, 284 pages, 21MB, PDF
Brief Introduction to Educational Implications of Artificial Intelligence
by David Moursund, 2006, 75 pages, 1.1MB, PDF
Computational Intelligence and Modern Heuristics
edited by Al-Dahoud Ali, 2010, 356 pages, 25MB, PDF
Computer Vision
by Dana H. Ballard, Christopher M. Brown, 1982, 539 pages, 280MB, PDF
Computer Vision
by Xiong Zhihui, 2008, 538 pages, 66MB, PDF
Computer Vision: Algorithms and Applications
by Richard Szeliski, 2008, 655 pages, 14MB, PDF
Computer Vision: Models, Learning, and Inference
by Simon J.D. Prince, 2012, 665 pp, 105MB, PDF
Computers and Thought: A practical Introduction to Artificial Intelligence
by Mike Sharples, et al., 1989, 401 pp, online html
Computing Natural Language
edited by Atocha Aliseda, Rob van Glabbeek, Dag Westerstahl, 1998
Current Advancements in Stereo Vision
edited by Asim Bhatti, 2012, 224 pp, 12MB, PDF
Cutting Edge Robotics 2010
edited by Vedran Kordic, 2010, 440 pages, 30MB, PDF
Data Mining and Knowledge Discovery in Real Life Applications
by Julio Ponce, Adem Karahoca, 2009, 464 pages, 20MB, ZIP/PDF
Data Mining Desktop Survival Guide
by Graham Williams, 2004
Digital Image Processing
edited by Stefan G. Stanciu, 2012, 200 pp, 14MB, PDF
Distributed Control of Robotic Networks
by Francesco Bullo, Jorge Cortes, Sonia Martinez, 2009, 323 pages, 10MB, PDF
The Elements of Statistical Learning: Data Mining, Inference, and Prediction
by T. Hastie, R. Tibshirani, J. Friedman, 2009, 764 pages, 8.2MB, PDF
Encyclopedia of Computational Intelligence
Scholarpedia, 2009
Face Recognition
edited by Milos Oravec, 2010, 412 pages, 28MB, PDF
Fault Detection
edited by Wei Zhang, 2010, 512 pages, 12MB, PDF
A First Encounter with Machine Learning
by Max Welling, 2011, 93 pp, 420KB, PDF
Foundations of Constraint Satisfaction
by Edward Tsang, 1993, PDF
From Bricks to Brains: The Embodied Cognitive Science of LEGO
by M. Dawson, B. Dupuis, M. Wilson, 2010, 354 pages, 7.5MB, PDF
Frontiers in Evolutionary Robotics
by Hitoshi Iba, 2008, 596 pages, PDF
Frontiers in Robotics, Automation and Control
by Alexander Zemliak, 2008, 450 pages, 20MB, PDF
Gaussian Processes for Machine Learning
by Carl E. Rasmussen, Christopher K. I. Williams, 2005, 266 pages, PDF
Geometry and Screw Theory for Robotics
by Stefano Stramigioli, Herman Bruyninckx, 2001, 75 pp, 850KB, PDF
How Are We To Know?
by Nils J. Nilsson, 2006, 190 pages, PDF
Human Robot Interaction
by Nilanjan Sarkar, 2007, 522 pages, 10MB, PDF
Humanoid Robots
edited by Ben Choi, 2009, 388 pages, PDF
Humanoid Robots: Human-like Machines
edited by Matthias Hackel, 2007, 642 pages, 10MB, PDF
Humanoid Robots: New Developments
edited by Armando Carlos de Pina Filho, 2007, 582 pages, 8.5MB, PDF
Image Fusion and Its Applications
by Yufeng Zheng, 2011, 242 pages, 38MB, PDF
Image Processing and Data Analysis: The Multiscale Approach
by Jean-Luc Starck, Fionn D. Murtagh, Albert Bijaoui, 1998, 315 pages, 7.1MB, PDF
Image Processing in C: Analyzing and Enhancing Digital Images
by Dwayne Philipps, 1997, 816 pages, 9.2MB, PDF
Image Segmentation
edited by Pei-Gee Ho, 2011, 538 pages, 47MB, PDF
Intelligent Vision Systems for Industry
by Bruce G. Batchelor, 2002, 473 pages, 19MB, PDF
An Introduction to Intelligent and Autonomous Control
by P. J. Antsaklis, K. M. Passino, 1992, 448 pages, PDF
Introduction to Machine Learning
by Amnon Shashua, 2009, 109 pages, 680KB, PDF
Introduction To Machine Learning
by Nils J Nilsson, 1997, 209 pages, 2.6MB, PDF
An Introduction to Neural Networks
by Ben Krose, Patrick van der Smagt, 1996, 135 pp, 2.1MB, PDF
Introduction to Neural Networks for Java
by Jeff Heaton, 2008
Introduction to Programming for Image Analysis with VTK
by Xenophon Papademetris, 2006, 238 pages, 5.4MB, PDF
An Introduction to Stochastic Attribute-Value Grammars
by Rob Malouf, Miles Osborne, 2001, 159 pp, 1.8MB, PDF
Logic for Computer Science
by Jean H. Gallier, 1986, 528 pages, 1.5MB, ZIP/PDF
Machine Interpretation of Line Drawings
by Kokichi Sugihara, 1986, 236 pages, 3.7MB, PDF
Machine Learning
edited by Abdelhamid Mellouk and Abdennacer Chebira, 2009
Machine Learning
by Rohit Singh, Tommi Jaakkola, Ali Mohammad, 2006, PDF
Machine Learning, Neural and Statistical Classification
by D. Michie, D. J. Spiegelhalter, 1994, 298 pages, 1.7MB, PDF
Machine Perception
by Ramakant Nevatia, 1982, 224 pages, PDF
Machine Translation: an Introductory Guide
by Doug Arnold, at al. 1994
Machine Vision
by R. Jain, R. Kasturi, B. G. Schunck, 1995, PDF
Machine Vision: Automated Visual Inspection and Robot Vision
by David Vernon, 1991, 260 pages, PDF
A Mathematical Introduction to Robotic Manipulation
by Richard M. Murray, Zexiang Li, S. Shankar Sastry, 1994, 474 pp, 2.7MB, PDF
Medical Robotics
edited by Vanja Bozovic, 2008, 526 pages, 11MB, PDF
Mobile Robotics, Moving Intelligence
edited by Jonas Buchli, 2006, 586 pages, 9.2MB, PDF
Mobile Robots: Perception and Navigation
edited by Sascha Kolski, 2007, 704 pages, 11MB, PDF
Mobile Robots: Towards New Applications
by Aleksandar Lazinica, 2006, 600 pages, 8MB, PDF
Modern Speech Recognition Approaches with Case Studies
by S. Ramakrishnan (ed.), 2012, 326 pp, 8.8MB, PDF
Multiagent Systems: Algorithmic, Game-Theoretic, and Logical Foundations
by Yoav Shoham, Kevin Leyton-Brown, 2008, 532 pages, 3.7MB, PDF
Multi-Relational Data Mining
by Arno Jan Knobbe, 2006, 130 pages, 930KB, PDF
Natural Image Statistics
by Aapo Hyvarinen, Jarmo Hurri, Patrik O. Hoyer, 2009, 487 pages, 9MB, PDF
Natural Language Processing in Prolog
by Gerald Gazdar and Chris Mellish, 1989
Natural Language Processing Techniques in Prolog
by Patrick Blackburn, Kristina Striegnitz, 2002, online html
Neural Fuzzy Systems
by Robert Fuller, 1995, 348 pages, 1.5MB, PDF
Neural Networks
by Ivan F Wilde, 2009, 126 pages, PDF/PS
Neural Networks
by Rolf Pfeifer, Dana Damian, Rudolf Fuchslin, 2010, 109 pages, 1.7MB, PDF
Neural Networks: A Systematic Introduction
by Raul Rojas, 1996, 509 pages, 4.4MB, PDF
New Approaches in Automation and Robotics
edited by Harald Aschemann, 2008, 392 pages, 13MB, PDF
New Developments in Robotics Automation and Control
edited by Aleksandar Lazinica, 2008, 450 pages, 26MB, PDF
Object Detection in Real Images
by Dilip K. Prasad, 2013, 123 pp, 4.1MB, PDF
Planning Algorithms
by Steven M. LaValle, 2006, 842 pages, 13.2MB, PDF
Practical Artificial Intelligence Programming in Java
by Mark Watson, 2008, 222 pages, 1.2MB, PDF
Programming Computer Vision with Python
by Jan Erik Solem, 2012, 300 pp, 14MB, PDF
The Quest for Artificial Intelligence
by Nils J. Nilsson, 2009, 707 pages, 15MB, PDF
Recent Advances in Face Recognition
by Kresimir Delac, Mislav Grgic, Marian Stewart Bartlett, 2008, 236 pages, 17MB, PDF
Recent Advances in Multi Robot Systems
edited by Aleksandar Lazinica, 2008, 15MB, PDF
Recurrent Neural Networks
edited by Xiaolin Hu, P. Balasubramaniam, 2008, 400 pages, 39MB, PDF
Rehabilitation Robotics
edited by Sashi S Kommu, 2007, 648 pages, 9.4MB, PDF
Reinforcement Learning
edited by C. Weber, M. Elshaw, N. M. Mayer, 2008, 424 pages, 12MB, PDF
Reinforcement Learning: An Introduction
by Richard S. Sutton, Andrew G. Barto, 1998
Robot Manipulators
edited by Marco Ceccarelli, 2008, 546 pages, 51MB, PDF
Robot Motion Planning and Control
edited by Jean-Paul Laumond, 1998, PDF
Robot Vision
by Ales Ude, 2010, 624 pages, 43MB, PDF
Robotic Soccer
edited by Pedro Lima, 2007, 598 pages, 33MB, PDF
Robotics and Automation in Construction
edited by Carlos Balaguer and Mohamed Abderrahim, 2008, PDF
Robotics Automation and Control
edited by Pavla Pecherkova, Miroslav Flidr and Jindrich Dunik, 2008, 7.7MB, PDF
Robust Speech Recognition and Understanding
edited, by M. Grimm, K. Kroschel, 2007, 460 pages, 5.6MB, PDF
Rough set data analysis: A road to non-invasive knowledge discovery
by Ivo Duentsch, Guenther Gediga, 2000, 108 pages, 1.1MB, PDF
Scene Reconstruction Pose Estimation and Tracking
edited by Rustam Stolkin, 2007, 530 pages, 12MB, PDF
Service Robot Applications
edited by Yoshihiko Takahashi, 2008, 400 pages, 44MB, PDF
Simply Logical: Intelligent Reasoning by Example
by Peter Flach, 1994, 247 pp, 3.9MB, PDF
Speech Recognition
edited by France Mihelic, Janez Zibert, 2008, 550 pages, 35MB, PDF
Speech Technologies
edited by Ivo Ipsic, 2011, 432 pages, 21MB, PDF
State of the Art in Face Recognition
by Julio Ponce, Adem Karahoca, 2009, 436 pages
Swarm Intelligence: Focus on Ant and Particle Swarm Optimization
edited by Felix T.S. Chan, Manoj K. Tiwari, 2007, 532 pages, 9.9MB, PDF
Tabu Search
by Wassim Jaziri, 2008, 278 pages, 14MB, PDF
Vision Systems
by David Marshall, 1997
Visual Reconstruction
by Andrew Blake, Andrew Zisserman, 1987, 232 pages, 38MB, PDF
Visual Servoing
edited by Rong-Fong Fung, 2010, 244 pages, 19MB, PDF
Voice Communication with Computers: Conversational Systems
by Christopher Schmandt, 1993, 342 pp, 62MB, PDF
Web Intelligence and Intelligent Agents
edited by Zeeshan-Ul-Hassan Usmani, 2010, 494 pages, 19MB, PDF
The World and Mind of Computation and Complexity
by Gregg Schaffter, 2013, 78 pp, multiple formats