Computer Science Books


Computer Science

This section contains free e-books and guides on Computer Science, some of the resources in this section can be viewed online and some of them can be downloaded.

Recently Added Books

Start Concurrent by Barry Wittman

This page provides the book Start Concurrent: A Gentle Introduction to Concurrent Programming by Barry Wittman that covers the following topics related to Concurrent Programming : Computer Basics, Problem Solving and Programming, Primitive Types and Strings, Selection, Repetition, Arrays, Simple Graphical User Interfaces, Methods, Classes, Interfaces, Inheritance, Exceptions, Concurrent Programming, Synchronization, Constructing Graphical User Interfaces, Testing and Debugging, Polymorphism, Dynamic Data Structures, Recursion, File I/O, Network Communication.

sNA Pages

Concurrent Programming in Harmony by Cornell

This PDF covers the following topics related to Concurrent Programming : On Concurrent Programming, Hello World!, The Problem of Concurrent Programming, The Harmony Virtual Machine, Critical Sections, Petersonís Algorithm, Harmony Methods and Pointers, Specification, Spinlock, Lock Implementations, Concurrent Data Structures, Fine-Grained Locking, Testing: Checking Behaviors, Debugging, Conditional Waiting, Reader/Writer Locks, Bounded Buffer, Split Binary Semaphores, Starvation, Monitors, Deadlock, Actors and Message Passing, Barrier Synchronization, Interrupts, Non-Blocking Synchronization, Alternating Bit Protocol, Leader Election, Transactions and Two Phase Commit, Chain Replication, Working with Actions, Replicated Atomic Read/Write Register, Distributed Consensus, Paxos, Needham-Schroeder Authentication Protocol.

s225 Pages

Advanced Algorithms by Anupam Gupta

The PDF covers the following topics related to Computer Algorithms : Discrete Algorithms, Minimum Spanning Trees, Arborescences: Directed Spanning Trees, Dynamic Algorithms for Graph Connectivity, Shortest Paths in Graphs, Low-Stretch Spanning Trees, Graph Matchings I: Combinatorial Algorithms, Graph Matchings II: Weighted Matchings, Graph Matchings III: Algebraic Algorithms, The Curse of Dimensionality, and Dimension Reduction, Dimension Reduction and the JL Lemma, Streaming Algorithms, Dimension Reduction: Singular Value Decompositions, From Discrete to Continuous Algorithms, Online Learning: Experts and Bandits, Solving Linear Programs using Experts, Approximate Max-Flows using Experts, The Gradient Descent Framework, Mirror Descent, The Centroid and Ellipsoid Algorithms, Interior-Point Methods, Combating Intractability, Approximation Algorithms via SDPs, Online Algorithms, Additional Topics, Prophets and Secretaries.

s309 Pages

Lecture Notes On Design And Analysis Of Algorithms

This note covers the following topics: Design and analysis of algorithms, Growth of Functions, Recurrences, Solution of Recurrences by substitution, Recursion tree method, Master Method, Worst case analysis of merge sort, quick sort and binary search, Design and analysis of Divide and Conquer Algorithms, Heaps and Heap sort, Priority Queue, Lower Bounds for Sorting, Dynamic Programming algorithms, Matrix Chain Multiplication, Elements of Dynamic Programming, Longest Common Subsequence, Greedy Algorithms, Activity Selection Problem, Elements of Greedy Strategy, Fractional Knapsack Problem, Huffman Codes, Graph Algorithm - BFS and DFS, Minimum Spanning Trees, Kruskal algorithm, Prim's Algorithm, Fourier transforms and Rabin-Karp Algorithm.

s125 Pages

Introduction to Computer Architecture by UC

Computer Architecture studies the techniques used to design and implement the principle components of a computer system and the mechanisms that can be used to quantitatively evaluate the expected performance capabilities of the different design possibilities. This page covers the following topics related to Computer Architecture : Introduction, Historical Overview, Fundamentals of Computer Design, Optimizations of the Memory Hierarchy,Instruction Level Parallelism , Data Parallelism, Thread-Level Parallelism, Warehouse Computing, Domain Specific Architecture.

sNA Pages

Lecture notes On Computer organization and architecture

This ebook contains following topics: Basic Computer Organization, Register transfer, CPU design, Memory organization, Pipeline and Parallel processing

s125 Pages

Computer Graphics by Mandeep Kaur

The PDF covers the following topics related to Computer Graphics : Fundamentals of Computer Graphics, Colors in Computer Graphics, Overview of Graphics I/O Devices, Scan Conversion, Scan Conversion, 2-D Transformation, 2-D Viewing, 3-D in Computer Graphics, Clipping, Hidden Surfaces, Color and Shading Model, Advanced Computer Graphics, Animation in Computer Graphics.

s234 Pages

Computer Graphics by AAGASC

The PDF covers the following topics related to Computer Graphics : Overview of Computer Graphics System, Output Primitives, 2D Geometric Transformations, Graphical User Interfaces and Interactive Input Methods, 3D Geometric and Modeling Transformations.

s100 Pages

Computer Science by Dr. Chris Bourke

The PDF covers the following topics related to Computer Science : Introduction, Basics, Conditionals, Loops, Functions, Error Handling, Arrays, Collections and Dynamic Memory, Strings, File Input/Output, Encapsulation and Objects, Recursion, Searching and Sorting, Graphical User Interfaces and Event Driven Programming, Introduction to Databases and Database Connectivity, Basics, Conditionals, Loops, Functions, Error Handling, Arrays, Strings, File I/O, Structures, Recursion, Searching and Sorting, The Java Programming Language, Conditionals, Loops, Methods, Error Handling and Exceptions, Arrays, Strings , File Input, Objects, Searching and Sorting, etc.

s647 Pages

Logic for Computer Science

The PDF covers the following topics related to Computer Science : Introduction to Logics, Propositional Calculus, Predicate Calculus, Applications of Predicate Calculus, Automated Deduction in Propositional Calculus, Automated Deduction in Predicate Calculus, Second-Order Logic, Second-Order Quantifier Elimination, Modal Logics, Temporal Logic, Logics of Programs, Fixpoint Calculus, Rough Concepts.

s125 Pages

Functional Programming by Loyola Marymount University

This page covers the following topics related to Functional Programming : The Basics, Language Support, Moving From Imperative to Functional, Higher Order Functions, Closures, Purity and Side Effects, Theoretical Foundations, Functional vs. Object-Oriented, Point-Free Programming, Summary.

sNA Pages

Functional Programming Lecture Notes by David Walker

This note covers the following topics: O'Caml, Simple Data, Thinking Recursively, Poly-HO: Polymorphism and Higher-Order Programming, Pipelines, Datatypes, The Functional Evaluation Model, Functional Space Model, Equational Reasoning, Modules and Functors, Modular Reasoning, Mutable Data Structures and Imperative Interfaces, Threads, Locks and Mutable Data, Parallel Complexity Model, Parallel Scans and Filters.

sNA Pages

Information Theory for Data Communications and Processing

The PDF covers the following topics related to Information Theory : Information Theory for Data Communications and Processing, On the Information Bottleneck Problems: Models, Connections,Applications and Information Theoretic Views, Variational Information Bottleneck for Unsupervised Clustering: Deep Gaussian Mixture Embedding, Asymptotic Rate-Distortion Analysis of Symmetric Remote Gaussian Source Coding: Centralized Encoding vs. Distributed Encoding, Non-Orthogonal eMBB-URLLC Radio Access for Cloud Radio Access Networks with Analog Fronthauling, Robust Baseband Compression Against Congestion in Packet-Based Fronthaul Networks Using Multiple Description Coding, Amplitude Constrained MIMO Channels: Properties of Optimal Input Distributions and Bounds on the Capacity, Quasi-Concavity for Gaussian Multicast Relay Channels, Gaussian Multiple Access Channels with One-Bit Quantizer at the Receiver, Efficient Algorithms for Coded Multicasting in Heterogeneous Caching Networks, Cross-Entropy Method for Content Placement and User Association in Cache-Enabled Coordinated Ultra-Dense Networks, Symmetry, Outer Bounds, and Code Constructions: A Computer-Aided Investigation on the Fundamental Limits of Caching.

s296 Pages

Information Theory and Coding cam

The PDF covers the following topics related to Information Theory : Foundations: probability, uncertainty, information, Entropies defined, and why they are measures of information, Source coding theorem; prefix, variable-, and fixed-length codes, Channel types, properties, noise, and channel capacity, Continuous information, density, noisy channel coding theorem, Fourier series, convergence, orthogonal representation, Useful Fourier theorems, transform pairs, Sampling, aliasing, Discrete Fourier transform, Fast Fourier Transform Algorithms, The quantised degrees-of-freedom in a continuous signal, Gabor-Heisenberg-Weyl uncertainty relation, Kolmogorov complexity.

s75 Pages

Numerical Computation UniOviedo

This PDF covers the following topics related to Numerical Computation : Finite arithmetic and error analysis, Nonlinear equations, Interpolation and approximation, Numerical differentiation and integration, Systems of linear equations, Optimization.

s114 Pages

Numerical Computation by Peter Bastian

This PDF covers the following topics related to Numerical Computation : Modeling Immiscible Fluid Flow in Porous Media, Basic Properties of Multiphase Flow Equations, Fully Implicit Finite Volume Discretization, Solution of Algebraic Equations, Parallelization, UG: A Framework for Unstructured Grid Computations, Numerical Results.

s236 Pages

Object Oriented Programming with C++ and Java

This PDF covers the following topics related to Object Oriented Programming with C++ and Java : Introduction to Programming Language, Introduction to Object Oriented Programming, Introduction to Java, Data Types, Variables and Operators in C++, Function, Arguments and Overloading, Classes and Object in C + +, Unions, Nested Classes, Constructors and Destracters, Inheritance in C++, Polymorphism in C++, Java Architecture, Data Types, Operators and Control Structures in Java, Classes and Objects in Java, Inheritance in Java, Polymorphism in Java, Interfaces in Java Inner Class, Garbage Collection, Packages and Class Libraries, Classes, Exception Handling, IO Stream, Applets and Application, Multithreading and Multitasking, Threads, Thread States and Priorities, Synchronization, AWT GUI Components, Components, Event Listener, Controls & Events, Applet Versus Application, Applet Life Cycle.

s475 Pages

Object Oriented Analysis and Design KU

This PDF covers the following topics related to Object Oriented Analysis and Design : Object Orientation, System development, Review of objects, Object relationship, Dynamic binding, OOSD life cycle, Overview of Methodologies, Rambaugh methodology, OMT &

s83 Pages

Lecture Notes On Operating Systems Mrs. Sk Abeeda

The objective of this book is to make the students understand the basic operating system concepts such as processes, threads, scheduling, synchronization, deadlocks, memory management, file and I/O subsystems and protection.

s222 Pages

Operating Systems Lecture Notes by Stanford University

This lecture note explains important systems concepts in general. Topics covered includes: Threads and Processes, Concurrency and Synchronization, Scheduling, Virtual Memory, I/O, Disks, File systems, Network file systems, Protection and Security, Virtual machines, Cutting edge topics.

sNA Pages

Theory in Programming Practice

This note explains the following topics: Text Compression, Error Detection and Correction, Cryptography, Finite State Machines, Recursion and Induction, Relational Database.

s250 Pages

An Introduction to Coding Theory Lecture Notes

Linear codes, Syndrome decoding of linear codes, The Hamming codes, The binary Golay codes, The ternary Golay codes, Perfect codes and data compression, MacWillimas identities, Pless symmetry codes, Cyclic codes, Idempotent generators of cyclic codes

s68 Pages