Library Home


Computer Science & Information Systems

Read more about A Byte of Python

A Byte of Python

Swaroop H


"A Byte of Python" is a free book on programming using the Python language. It serves as a tutorial or guide to the Python language for a beginner audience. If all you know about computers is how to save text files, then this is the book for you.

No ratings

(0 reviews)

Read more about Algorithms and Data Structures With Applications to Graphics and Geometry

Algorithms and Data Structures With Applications to Graphics and Geometry

Jurg Nievergelt, ETH Zurich

Klaus Hinrichs, University of Muenster


An introductory coverage of algorithms and data structures with application to graphics and geometry.

(1 review)

Read more about An Introduction to Computer Networks

An Introduction to Computer Networks

Peter Dordal, Loyola University of Chicago


An Introduction to Computer Networksis a free and open general-purpose computer-networking textbook, complete with diagrams and exercises.It covers the LAN, internetworking and transport layers, focusing primarily on TCP/IP. Particular attention is paid to congestion; other special topics include queuing, real-time traffic, network management, security and the ns simulator.

(3 reviews)

Read more about Aprendiendo a Programar en Python con mi Computador: Primeros pasos rumbo a cómputos de gran escala en las Ciencias e Ingenierías

Aprendiendo a Programar en Python con mi Computador: Primeros pasos rumbo a cómputos de gran escala en las Ciencias e Ingenierías

Sergio Rojas, Universidad Simón Bolívar

Héctor Fernández, Universidad de Oriente

Juan Ruiz, Universidad de Oriente-Venezuela


Este libro está dirigido, principalmente, a Estudiantes y Docentes que quieren aprender a programarcomo forma de fortalecer sus capacidades cognoscitivas y así obtener un beneficio adicional de su computador para lograr un mejor provecho de sus estudios. Dada la orientación del libro respecto a programar para resolver problemas asociados a las Ciencias e Ingenierías, el requisito mínimo de matemáticas que hemos elegido para presentar el contenido del mismo se cubre, normalmente, en el tercer año del bachillerato. No obstante, el requisito no es obligatorio para leer el libro en su totalidad y adquirir los conocimientos de programación obviando el contenido matemático.

No ratings

(0 reviews)

Read more about Aprendizaje Colaborativo Apoyado por Computador

Aprendizaje Colaborativo Apoyado por Computador

César Collazos, Universidad del Cauca

Jaime Muñoz

Yosly Hernández


Comunidad creada para compartir experiencias en torno al uso de Tecnologías de la Información como apoyo a procesos de enseñanza-aprendizaje usando modelos de aprendizaje colaborativo

No ratings

(0 reviews)

Read more about Business Information Systems: Design an App for That

Business Information Systems: Design an App for That

Raymond Frost, Ohio University

Jacqueline Pike, Duquesne University

Lauren Kenyo, Ohio University

Sarah Pels, Ohio University


We set out to design an introductory course governed by four themes:

(4 reviews)

Read more about Combinatorics

Combinatorics

Joy Morris, University of Lethbridge


Combinatorics is an upper-level introductory course in enumeration, graph theory, and design theory.

No ratings

(0 reviews)

Read more about Computer Networking : Principles, Protocols and Practice

Computer Networking : Principles, Protocols and Practice

Olivier Bonaventure, Universite catholique de Louvain


This open textbook aims to fill the gap between the open-source implementations and the open-source network specifications by providing a detailed but pedagogical description of the key principles that guide the operation of the Internet.

(2 reviews)

Read more about Database Design - 2nd Edition

Database Design - 2nd Edition

Adrienne Watt, City University


This second edition of Database Design book covers the concepts used in database systems and the database design process. Topics include:

(5 reviews)

Read more about Deep into Pharo

Deep into Pharo

Alexandre Bergel, University of Chile

Damien Cassou, University of Lille 1

Stéphane Ducasse, INRIA Lille

Jannik Laval, University of Lyon


Pharo is a clean, innovative, open-source, live-programming environment.

No ratings

(0 reviews)

Read more about Digital Circuit Projects: An Overview of Digital Circuits Through Implementing Integrated Circuits

Digital Circuit Projects: An Overview of Digital Circuits Through Implementing Integrated Circuits

Charles Kann, Gettysburg College


Digital circuits, often called Integrated Circuits or ICs, are the central building blocks of a Central Processing Unit (CPU). To understand how a computer works, it is essential to understand the digital circuits which make up the CPU. This text introduces the most important of these digital circuits; adders, decoders, multiplexers, D flip-flops, and simple state machines.

(6 reviews)

Read more about Diseno e Implementación de Bases de Datos desde una Perspectiva Prática

Diseno e Implementación de Bases de Datos desde una Perspectiva Prática

Héctor Cardona


Modelado Conceptual y Lógico de Bases de Datos a través de ejemplos

No ratings

(0 reviews)

Read more about Eloquent JavaScript: A Modern Introduction to Programming

Eloquent JavaScript: A Modern Introduction to Programming

Marijn Haverbeke


This book contains roughly three parts. The first 11 chapters discussthe JavaScript language itself. The next eight chapters are about webbrowsers and the way JavaScript is used to program them. Finally,two chapters are devoted to Node.js, another environment to programJavaScript in.Throughout the book, there are five project chapters, which describelarger example programs to give you a taste of real programming. Inorder of appearance, we will work through building an artificial life simulation,a programming language, a platform game, a paint program,and a dynamic website.

(2 reviews)

Read more about Embedded Controllers Using C and Arduino / 2E

Embedded Controllers Using C and Arduino / 2E

James Fiore


This text is designed to introduce and expand upon material related to the C programming language and embedded controllers, and specifically, the Arduino development system and associated Atmel ATmega microcontrollers. It is intended to fit the time constraints of a typical 3 to 4 credit hour course for electrical engineering technology and computer engineering technology programs, although it could also fit the needs of a hardware-oriented course in computer science. As such, the text does not attempt to cover every aspect of the C language, the Arduino system or Atmel AVR microcontrollers. The first section deals with the C language itself. It is assumed that the student is a relative newcomer to the C language but has some experience with another high level language, for example, Python. This means concepts such as conditionals and iteration are already familiar and the student can get up and running fairly quickly. From there, the Arduino development environment is examined. Unlike the myriad Arduino books now available, this text does not simply rely on the Arduino libraries. As convenient as the libraries may be, there are other, sometimes far more efficient, ways of programming the boards. Many of the chapters examine library source code to see “what's under the hood”. This more generic approach means it will be easier for the student to use other processors and development systems instead of being tightly tied to one platform.

(1 review)

Read more about Enterprise Pharo a Web Perspective

Enterprise Pharo a Web Perspective


Enterprise Pharo is the third volume of the series, following Pharo by Example and Deep into Pharo. It covers enterprise libraries and frameworks, and in particular those useful for doing web development. The book is structured in five parts.

No ratings

(0 reviews)

Read more about Essentials of Geographic Information Systems

Essentials of Geographic Information Systems

Jonathan Campbell, UCLA

MIchael Shin, UCLA



Essentials of Geographic Information Systems integrates key concepts behind the technology with practical concerns and real-world applications. Recognizing that many potential GIS users are nonspecialists or may only need a few maps, this book is designed to be accessible, pragmatic, and concise. Essentials of Geographic Information Systems also illustrates how GIS is used to ask questions, inform choices, and guide policy. From the melting of the polar ice caps to privacy issues associated with mapping, this book provides a gentle, yet substantive, introduction to the use and application of digital maps, mapping, and GIS.


(11 reviews)

Read more about Fast Fourier Transforms

Fast Fourier Transforms

C. Sidney Burrus, Rice University


This book focuses on the discrete Fourier transform (DFT), discrete convolution, and, particularly, the fast algorithms to calculate them. These topics have been at the center of digital signal processing since its beginning, and new results in hardware, theory and applications continue to keep them important and exciting. This book uses an index map, a polynomial decomposition, an operator factorization, and a conversion to a filter to develop a very general and efficient description of fast algorithms to calculate the discrete Fourier transform (DFT). The work of Winograd is outlined, chapters by Selesnick, Pueschel, and Johnson are included, and computer programs are provided.

No ratings

(0 reviews)

Read more about Foundations of Computation

Foundations of Computation

Carol Critchlow, Hobart and William Smith Colleges

David Eck, Hobart and William Smith Colleges


Foundations of Computation is a free textbook for a one-semester course in theoretical computer science. It has been used for several years in a course at Hobart and William Smith Colleges. The course has no prerequisites other than introductory computer programming. The first half of the course covers material on logic, sets, and functions that would often be taught in a course in discrete mathematics. The second part covers material on automata, formal languages, and grammar that would ordinarily be encountered in an upper level course in theoretical computer science.

(2 reviews)

Read more about Graphic Design and Print Production Fundamentals

Graphic Design and Print Production Fundamentals

Wayne Collins, British Columbia Institute of Technology

Alex Haas, Emily Carr University

Ken Jeffery, British Columbia Institute of Technology

Alan Martin, British Columbia Institute of Technology

Roberto Medeiros, Ricoh Canada

Steven Tomljanovic, British Columbia Institute of Technology


This textbook -- written by a group of select experts with a focus on different aspects of the design process, from creation to production -- addresses the many steps of creating and then producing physical, printed, or other imaged products that people interact with on a daily basis. It covers the concept that, while most modern graphic design is created on computers using design software, the ideas and concepts don't stay on the computer. The ideas need to be completed in the computer software, then progress to an imaging (traditionally referred to as printing) process. Keywords are highlighted throughout and summarized in a Glossary at the end of the book, and each chapter includes exercises and suggested readings.

(6 reviews)

Read more about High Performance Computing

High Performance Computing

Charles Severance

Kevin Dowd


The purpose of this book is to teach new programmers and scientists about the basics of High Performance Computing. Too many parallel and high performance computing books focus on the architecture, theory and computer science surrounding HPC. This book speaks to the practicing chemistry student, physicist, or biologist who need to write and run their programs as part of their research.

No ratings

(0 reviews)

Read more about How to Think Like a Computer Scientist: C Version

How to Think Like a Computer Scientist: C Version

Allen Downey

Thomas Scheffler

The goal of this book 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.”

No ratings

(0 reviews)

Read more about How to Think Like a Computer Scientist: C++ Version

How to Think Like a Computer Scientist: C++ Version

Allen Downey

The goal of this book 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.”

No ratings

(0 reviews)

Read more about How to Think Like a Computer Scientist: Learning with Python

How to Think Like a Computer Scientist: Learning with Python

Allen Downey, Franklin W. Olin College of Engineering

Jeff Elkner, Yorktown High School

Chris Meyers, Lane Community College


How to Think Like a Computer Scientist: Learning with Pythonis an introduction to programming using Python.

(6 reviews)

Read more about Implementing a One Address CPU in Logisim

Implementing a One Address CPU in Logisim

Charles Kann, Gettysburg College


Most computer users have an incorrect, but useful, cognitive metaphor for computers in which the user says (or types or clicks) something and a mystical, almost intelligent or magical, behavior happens. It is not a stretch to describe computer users as believing computers follow the laws of magic, where some magic incantation is entered, and the computer responds with an expected, but magical, behavior. This magic computer does not actually exist. In reality computer are machines, and every action a computer performs reduces to a set of mechanical operations. In fact the first complete definition of a working computer was a mechanical machine designed by Charles Babbage in 1834, and would have run on steam power. Probably the biggest success of Computer Science (CS) in the 20th century was the development of abstractions that hide the mechanical nature of computers. The fact that average people use computers without ever considering that they are mechanistic is a triumph of CS designers. This purpose of this monograph is to break the abstract understanding of a computer, and to explain a computer's behavior in completely in mechanistic terms. It will deal specifically with the Central Processing Unit (CPU) of the computer, as this is where the magic happens. All other parts of a computer can be seen as just providing information for the CPU to operate on. This monograph will deal with a specific type of CPU, a one-address CPU, and will explain this CPU using only standard gates, specifically AND, OR, NOT, NAND and XOR gates, and 4 basic Integrated Circuits (ICs), the Decoder, Multiplexer, Adder, and Flip Flop. All of these gates and components can be described as mechanical transformations of input data to output data, and the overall CPU can then be seen as a mechanical device.

No ratings

(0 reviews)

Read more about Information Systems for Business and Beyond

Information Systems for Business and Beyond

David Bourgeois, Biola University


Welcome to Information Systems for Business and Beyond. In this book, you will be introduced to the concept of information systems, their use in business, and the larger impact they are having on our world.

(8 reviews)

Read more about Information Systems: A Manager's Guide to Harnessing Technology

Information Systems: A Manager's Guide to Harnessing Technology


Information Systems: A Manager's Guide to Harnessing Technology is intended for use in undergraduate and/or graduate courses in Management Information Systems and Information Technology.

(4 reviews)

Read more about Inteligencia Artificial

Inteligencia Artificial

Julio Ponce, Universidad Autonoma de Aguascalientes

Aurora Soto

Fátima Quezada


Este libro es una introducción al area de la Inteligencia Artificial y presenta algunas de las aplicaciones que puede tener en la vida real en diversos campos de aplicación, El libro esta compuesto de ocho capítulos los cuales abarcan los antededentes, algunos conceptos importantes para la resolución de problemas como es la representación de conocimiento, el planteamiento de los problemas. Asimismo se menciona la teoría de agentes por un lado y por otro lo que es el aprendizaje computacional. Otra area que se aborta es la computación evolutivo y los algoritmos bioinspirados para la resolución de problemas, dandole enfasis a los problemas de optimizacion. Por ultimo se menciona una nueva tendencia en el area de las ciencias computacionales como es el uso de las GPUs para trabajar de una manera mas rapida al realizar el procesamiento en paralelo.

No ratings

(0 reviews)

Read more about Introduction to Autonomous Robots

Introduction to Autonomous Robots

Nikolaus Correll, University of Colorado at Boulder


This book introduces concepts in mobile, autonomous robotics to 3rd-4th year students in Computer Science or a related discipline. The book covers principles of robot motion, forward and inverse kinematics of robotic arms and simple wheeled platforms, perception, error propagation, localization and simultaneous localization and mapping. The cover picture shows a wind-up toy that is smart enough to not fall off a table just using intelligent mechanism design and illustrate the importance of the mechanism in designing intelligent, autonomous systems. This book is open source, open to contributions, and released under a creative common license.

No ratings

(0 reviews)

Read more about Introduction to Computer Graphics

Introduction to Computer Graphics

David Eck, Hobart and William Smith Colleges


Introduction to Computer Graphics is a free, on-line textbook covering the fundamentals of computer graphics and computer graphics programming. This book is meant for use as a textbook in a one-semester course that would typically be taken by undergraduate computer science majors in their third or fourth year of college.

(3 reviews)

Read more about Introduction to MIPS Assembly Language Programming

Introduction to MIPS Assembly Language Programming

Charles Kann, Gettysburg College


This book was written to introduce students to assembly language programming in MIPS. As with all assemblylanguage programming texts, it covers basic operators and instructions, subprogram calling, loading andstoring memory, program control, and the conversion of the assembly language program into machine code.

(1 review)

Read more about Introduction to Programming Using Java, Seventh Edition

Introduction to Programming Using Java, Seventh Edition

David Eck, Hobart and William Smith Colleges


The Seventh Edition of Introduction to Programming Using Javais a free, on-line textbook on introductory programming, which uses Java as the language of instruction. This book is directed mainly towards beginning programmers, although it might also be useful for experienced programmers who want to learn something about Java. It is certainly not meant to provide complete coverage of the Java language.

(2 reviews)

Read more about Introduction to the Modeling and Analysis of Complex Systems

Introduction to the Modeling and Analysis of Complex Systems

Hiroki Sayama, State University of New York at Binghamton


Introduction to the Modeling and Analysis of Complex Systems introduces students to mathematical/computational modeling and analysis developed in the emerging interdisciplinary field of Complex Systems Science. Complex systems are systems made of a large number of microscopic components interacting with each other in nontrivial ways. Many real-world systems can be understood as complex systems, where critically important information resides in the relationships between the parts and not necessarily within the parts themselves.

(1 review)

Read more about Java with BlueJ

Java with BlueJ

Ron McFadyen, University of Winnipeg


This book is Part I of a two-part set that introduces the Java programminglanguage. The text assumes the student will be using the BlueJ developmentenvironment and provides some introductory BlueJ material. Our experiencehas been that BlueJ is easy to learn and provides a good programmingenvironment for the beginner programmer.

(2 reviews)

Read more about Java with BlueJ Part 2

Java with BlueJ Part 2

Ron McFadyen, University of Winnipeg


This book is Part II of a two-part set that introduces the Java programming language. The text assumes the student will be using the BlueJ development environment and provides some introductory BlueJ material. Our experience has been that BlueJ is easy to learn and provides a good programming environment for the beginner programmer.

No ratings

(0 reviews)

Read more about Java, Java, Java: Object-Oriented Problem Solving

Java, Java, Java: Object-Oriented Problem Solving

Ralph Morelli, Trinity College

Ralph Walde, Trinity College


We have designed this third edition of Java, Java, Java to be suitable for a typical Introduction to Computer Science (CS1) course or for a slightly more advanced Java as a Second Language course. This edition retains the “objects first” approach to programming and problem solving that was characteristic of the first two editions. Throughout the text we emphasize careful coverage of Java language features, introductory programming concepts, and object-oriented design principles.

(2 reviews)

Read more about Microprocesadores Fundamentos y Aplicaciones

Microprocesadores Fundamentos y Aplicaciones

Carlos Valdivieso

Ronald Solís


Este trabajo ha sido desarrollado gracias a la interacción como docente universitario en la enseñanza teórica y práctica de la materia de microprocesadores con diversos grupos de estudiantes por alrededor de 15 años. Es con sus exigencias, cuestionamientos y colaboraciones con sus proyectos prácticos implementados en los cursos dictados, que se ha podido construir una guía comprensiva, que trate de responder de una forma adecuada las múltiples dudas de los estudiantes en su proceso de aprendizaje. La disponibilidad de tiempo en el aula de clase muchas veces no es suficiente para responder las inquietudes de los estudiantes; así que, se espera que con este trabajo se contribuya a proporcionar al lector un cúmulo de información que le ayuden de una manera práctica y escalonada a comprender la base teórica de los microprocesadores de Intel y sus derivados (capítulos 1 al 15), con implementaciones prácticas básicas (capítulo 16). Al final se citan libros de referencia que pueden consultarse para profundizar los temas tratados.

No ratings

(0 reviews)

Read more about Nature of Geographic Information Systems

Nature of Geographic Information Systems

David DiBiase, Pennsylvania State University


The purpose of this text is to promote understanding of the Geographic Information Science and Technology enterprise (GIS&T, also known as “geospatial”).

No ratings

(0 reviews)

Read more about Object-Oriented Reengineering Patterns

Object-Oriented Reengineering Patterns

Serge Demeyer

Stéphane Ducasse

Oscar Nierstrasz

The documentation is missing or obsolete, and the original developers have departed. Your team has limited understanding of the system, and unit tests are missing for many, if not all, of the components. When you fix a bug in one place, another bug pops up somewhere else in the system. Long rebuild times make any change difficult. All of these are signs of software that is close to the breaking point.

No ratings

(0 reviews)

Read more about Open Data Structures: An Introduction

Open Data Structures: An Introduction

Pat Morin, Carleton University


Offered as an introduction to the field of data structures and algorithms, Open Data Structures covers the implementation and analysis of data structures for sequences (lists), queues, priority queues, unordered dictionaries, ordered dictionaries, and graphs. Focusing on a mathematically rigorous approach that is fast, practical, and efficient, Morin clearly and briskly presents instruction along with source code.

(1 review)

Read more about Operating Systems and Middleware: Supporting Controlled Interaction

Operating Systems and Middleware: Supporting Controlled Interaction

Max Hailperin, Gustavus Adolphus College


In this book, you will learn about all three kinds of interaction. In all three cases, interesting software techniques are needed in order to bring the computations into contact, yet keep them suffciently at arm's length that they don't compromise each other's reliability. The exciting challenge, then, is supporting controlled interaction. This includes support for computations that share a single computer and interact with one another, as your email and word processing programs do. It also includes support for data storage and network communication. This book describes how all these kinds of support are provided both by operating systems and by additional software layered on top of operating systems, which is known as middleware.

No ratings

(0 reviews)

Read more about Pharo by Example 5.0

Pharo by Example 5.0

Stéphane Ducasse, INRIA Lille

Dmitri Zagidulin

Nicolai Hess

Dimitris Chloupis


Pharo is an open-source, elegant and pure object-oriented language that supports truly immersive and life programming experience. Pharo offers excellent tools such as hot-debuggers and on the fly code update that change the programming experience. More at http://www.pharo.org.

No ratings

(0 reviews)

Read more about Physical Modeling in MATLAB

Physical Modeling in MATLAB

Allen Downey, Franklin W. Olin College of Engineering


Most books that use MATLAB are aimed at readers who know how to program. This book is for people who have never programmed before. As a result, the order of presentation is unusual. The book starts with scalar values and works up to vectors and matrices very gradually. This approach is good for beginning programmers, because it is hard to understand composite objects until you understand basic programming semantics. But there are problems:

(6 reviews)

Read more about Programming Fundamentals - A Modular Structured Approach using C++

Programming Fundamentals - A Modular Structured Approach using C++

Kenneth Busbee, Houston Community College


Programming Fundamentals - A Modular Structured Approach using C++ is written by Kenneth Leroy Busbee, a faculty member at Houston Community College in Houston, Texas. The materials used in this textbook/collection were developed by the author and others as independent modules for publication within the Connexions environment. Programming fundamentals are often divided into three college courses: Modular/Structured, Object Oriented and Data Structures. This textbook/collection covers the first of those three courses.

(5 reviews)

Read more about Programming Languages: Application and Interpretation

Programming Languages: Application and Interpretation

Shriram Krishnamurthi, Brown University


Unlike some other textbooks, this one does not follow a top-down narrative. Rather it has the flow of a conversation, with backtracking. We will often build up programs incrementally, just as a pair of programmers would. We will include mistakes, not because I don't know the answer, but because this is the best way for you to learn. Including mistakes makes it impossible for you to read passively: you must instead engage with the material, because you can never be sure of the veracity of what you're reading.

(1 review)

Read more about Python for Everybody: Exploring Data Using Python 3

Python for Everybody: Exploring Data Using Python 3

Charles Severance, University of Michigan


I never seemed to find the perfect data-oriented Python book for my course, so I set out to write just such a book. Luckily at a faculty meeting three weeks before I was about to start my new book from scratch over the holiday break, Dr. Atul Prakash showed me the Think Python book which he had used to teach his Python course that semester. It is a well-written Computer Science text with a focus on short, direct explanations and ease of learning.The overall book structure has been changed to get to doing data analysis problems as quickly as possible and have a series of running examples and exercises about data analysis from the very beginning.

(1 review)

Read more about Relational Databases and Microsoft Access

Relational Databases and Microsoft Access

Ron McFadyen, University of Winnipeg


This text is a free introductory text that introduces MS Access and relational database design. The motivation is to support a second-year course on database systems which, to the student, is either a service course providing an introduction to database concepts, or, as a prerequisite for more advanced study in the field.

(3 reviews)

Read more about Signal Computing: Digital Signals in the Software Domain

Signal Computing: Digital Signals in the Software Domain

Michael Stiber, University of Washington Bothell

Bilin Zhang Stiber, University of Washington Bothell

Eric Larson, Southern Methodist University


In this book, you will learn how digital signals are captured, represented, processed, communicated, and stored in computers. The specific topics we will cover include: physical properties of the source information (such as sound or images), devices for information cap- ture (microphones, cameras), digitization, compression, digital signal representation (JPEG, MPEG), digital signal processing (DSP), and network communication. By the end of this book, you should understand the problems and solutions facing signal computing systems development in the areas of user interfaces, information retrieval, data structures and algo- rithms, and communications.

No ratings

(0 reviews)

Read more about Spatial Thinking in Planning Practice: An Introduction to GIS

Spatial Thinking in Planning Practice: An Introduction to GIS

Yiping Fang, Portland State University, Portland, OR

Vivek Shandas, Portland State University

Eugenio Cordero, Portland State University


The goals of this textbook are to help students acquire the technical skills of using software and managing a database, and develop research skills of collecting data, analyzing information and presenting results. We emphasize that the need to investigate the potential and practicality of GIS technologies in a typical planning setting and evaluate its possible applications. GIS may not be necessary (or useful) for every planning application, and we anticipate these readings to provide the necessary foundation for discerning its appropriate use. Therefore, this textbook attempts to facilitate spatial thinking focusing more on open-ended planning questions, which require judgment and exploration, while developing the analytical capacity for understanding a variety of local and regional planning challenges.

(5 reviews)

Read more about Squeak by Example

Squeak by Example

Andrew Black, Portland State University

Stéphane Ducasse, INRIA Lille

Oscar Nierstrasz, University of Bern

Damien Pollet, University of Lille


Squeak is a modern open-source development environment for the classic Smalltalk-80 programming language. Despite being the first purely object-oriented language and environment, Smalltalk is in many ways still far ahead of its successors in promoting a vision of an environment where everything is an object, and anything can change at run-time.

No ratings

(0 reviews)

Read more about Temas de Diseño en Interacción Humano-Computadora

Temas de Diseño en Interacción Humano-Computadora

Jaime Arteaga

Yosly Hernández

Viviana Amador


El nivel académico que pretende abordar el libro es en las diferentes licenciaturas e ingenierías que consideren tópicos en el área de interacción humano computadora, así como los posgrados relacionados con la temática. El libro describe diferentes tipos de interacción que pueden ofrecer las aplicaciones interactivas donde a través de la interfaz gráfica es posible guiar y hacer fácil la tarea del usuario. Así pues, el lector puede encontrar diferentes trabajos que especifican desde los requerimientos del usuario hasta el diseño, programación y evaluación de distintas aplicaciones interactivas.

No ratings

(0 reviews)

Read more about The Little Book of Semaphores

The Little Book of Semaphores

Allen Downey, Franklin W. Olin College of Engineering


The Little Book of Semaphores is a free (in both senses of the word) textbook that introduces the principles of synchronization for concurrent programming.

(3 reviews)

Read more about The Missing Link: An Introduction to Web Development and Programming

The Missing Link: An Introduction to Web Development and Programming

Michael Mendez


Web development is an evolving amalgamation of languages that work in concert to receive, modify, and deliver information between parties using the Internet as a mechanism of delivery. While it is easy to describe conceptually, implementation is accompanied by an overwhelming variety of languages, platforms, templates, frameworks, guidelines, and standards. Navigating a project from concept to completion often requires more than mastery of one or two complementing languages, meaning today's developers need both breadth, and depth, of knowledge to be effective.

(7 reviews)

Read more about The Spec UI framework

The Spec UI framework

Johan Fabry, University of Chile

Stephane Ducasse, Cristal laboratory University of Lille


Spec is the default UI framework for Pharo. To build UI's in Spec existing widgets or even complete UI's are reused and configured to form a new UI.

No ratings

(0 reviews)

Read more about Think Bayes: Bayesian Statistics Made Simple

Think Bayes: Bayesian Statistics Made Simple

Allen Downey, Franklin W. Olin College of Engineering


Think Bayes is an introduction to Bayesian statistics using computational methods.

(1 review)

Read more about Think Complexity: Exploring Complexity Science with Python

Think Complexity: Exploring Complexity Science with Python

Allen Downey, Franklin W. Olin College of Engineering


This book is about complexity science, data structures and algorithms, intermediate programming in Python, and the philosophy of science:

No ratings

(0 reviews)

Read more about Think Data Structures: Algorithms and Information Retrieval in Java

Think Data Structures: Algorithms and Information Retrieval in Java

Allen Downey

Data structures and algorithms are among the most important inventions of the last 50 years, and they are fundamental tools software engineers need to know. But in my opinion, most of the books on these topics are too theoretical, too big, and too bottom-up:

No ratings

(0 reviews)

Read more about Think DSP: Digital Signal Processing in Python

Think DSP: Digital Signal Processing in Python

Allen Downey, Franklin W. Olin College of Engineering


Think DSP is an introduction to Digital Signal Processing in Python.

No ratings

(0 reviews)

Read more about Think Java: How To Think Like a Computer Scientist

Think Java: How To Think Like a Computer Scientist

Chris Mayfield, James Madison University

Allen Downey, Franklin W. Olin College of Engineering


Think Java is an introduction to computer science and programming intendedfor readers with little or no experience. We start with the most basic conceptsand are careful to define all terms when they are first used. The book presentseach new idea in a logical progression. Larger topics, like recursion and objectorientedprogramming, are divided into smaller examples and introduced overthe course of several chapters.

(5 reviews)

Read more about Think Python: How to Think Like a Computer Scientist

Think Python: How to Think Like a Computer Scientist

Allen Downey, Franklin W. Olin College of Engineering


Think Python is a concise introduction to software design using the Python programming language. Intended for people with no programming experience, this book starts with the most basic concepts and gradually adds new material. Some of the ideas students find most challenging, like recursion and object-oriented programming, are divided into a sequence of smaller steps and introduced over the course of several chapters.

(2 reviews)

Read more about Think Stats: Probability and Statistics for Programmers

Think Stats: Probability and Statistics for Programmers

Allen Downey, Franklin W. Olin College of Engineering


Think Stats is an introduction to Probability and Statistics for Python programmers.

(1 review)