Computer Science & Information Systems

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.

 

star01star02star03star04star05

(1 review)

An Introduction to Computer Networks

Peter Lars Dordal, Loyola University of Chicago

An Introduction to Computer Networks is a free and open general-purpose computer-networking textbook, complete with diagrams and exercises.

(0 reviews)

Business Information Systems: Design an App for That

Lauren Kenyo, Ohio University
Sarah Pels, Ohio University
Dr Jacqueline Pike, Duquesne University
Dr Raymond Frost, Ohio University

Business Information Systems: Design an App for That is a text for students in an introductory Management Information Systems course. The book provides insight into what a career in MIS looks like and explains that there is more to the field than just technical programming.

star01star02star03star04star05

(1 review)

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.

star01star02star03star04star05

(1 review)

Database Design - 2nd Edition

Adrienne Watt, City University

Database Design - 2nd Edition covers database systems and database design concepts. New to this edition are SQL info, additional examples, key terms and review exercises at the end of each chapter.

star01star02star03star04star05

(1 review)

Deep into Pharo

Alexandre Bergel, University of Chile
Damien Cassou, University of Lille 1
Jannik Laval, University of Lyon
Stéphane Ducasse, INRIA Lille

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

Deep into Pharo is the second volume of a series of books covering Pharo. Whereas the first volume is intended for newcomers, this second volume covers deeper topics.You will learn about Pharo frameworks and libraries such as Glamour, PetitParser, Roassal, FileSystem, Regex, and Socket.

You will explore the language with chapters on exceptions, blocks, small integers, and floats.

You will discover tools such as profilers, Metacello and Gofer.

(0 reviews)

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

Charles W. 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.

star01star02star03star04star05

(4 reviews)

Eloquent JavaScript: A Modern Introduction to Programming

Marijn Haverbeke

This is a book about JavaScript, programming, and the wonders of the digital. 

star01star02star03star04star05

(1 review)

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.

star01star02star03star04star05

(7 reviews)

Foundations of Computation

Carol Critchlow, Hobart and William Smith Colleges
David Eck, Hobart and William Smith Colleges

Foundations of Computation is a textbook for a one semester introductory course in theoretical computer science. It includes topics from discrete mathematics, automata theory, formal language theory, and the theory of computation, along with practical applications to computer science. It has no prerequisites other than a general familiarity with computer programming.

star01star02star03star04star05

(1 review)

How to Think Like a Computer Scientist: Learning with Python

Allen Downey, Franklin W. Olin College of Engineering
Chris Meyers, Lane Community College
Jeff Elkner, Yorktown High School

 

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

 

star01star02star03star04star05

(3 reviews)

Information Systems for Business and Beyond

David T. Bourgeois, Biola University

This book is written as an introductory text, meant for those with little or no experience with computers or information systems. While sometimes the descriptions can get a little bit technical, every effort has been made to convey the information essential to understanding a topic while not getting bogged down in detailed terminology or esoteric discussions.

star01star02star03star04star05

(6 reviews)

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.

star01star02star03star04star05

(4 reviews)

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.

(0 reviews)

Introduction to Computer Graphics

David J. 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.

(0 reviews)

Introduction to Programming Using Java, Seventh Edition

David J. Eck, Hobart and William Smith Colleges

 This book is directed mainly towards beginning programmers, although it might also be useful for experienced programmers who want to learn something about Java.

star01star02star03star04star05

(1 review)

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. This textbook offers an accessible yet technically-oriented introduction to the modeling and analysis of complex systems. The topics covered include: fundamentals of modeling, basics of dynamical systems, discrete-time models, continuous-time models, bifurcations, chaos, cellular automata, continuous field models, static networks, dynamic networks, and agent-based models.

star01star02star03star04star05

(1 review)

Java with BlueJ

Ron McFadyen, University of Winnipeg

This book is Part I 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.

(0 reviews)

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.

(0 reviews)

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.

star01star02star03star04star05

(1 review)

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").

(0 reviews)

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.

star01star02star03star04star05

(1 review)

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 sufficiently 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.

(0 reviews)

Pharo by Example

Andrew P. Black, Portland State University
Damien Pollet, University of Lille
Oscar Nierstrasz, University of Bern
Stéphane Ducasse, INRIA Lille

Pharo 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.

(0 reviews)

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.

star01star02star03star04star05

(6 reviews)

Programming Fundamentals - A Modular Structured Approach using C++

Kenneth Leroy 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.

 

star01star02star03star04star05

(2 reviews)

Programming Languages: Application and Interpretation

Dr Shriram Krishnamurthi, Brown University

The book was designed as the textbook for the programming languages course at Brown University, which is taken primarily by third and fourth year undergraduates and beginning graduate (both MS and PhD) students.

star01star02star03star04star05

(1 review)

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.

star01star02star03star04star05

(2 reviews)

Signal Computing: Digital Signals in the Software Domain

Bilin Zhang Stiber, University of Washington Bothell
Eric C. Larson, Southern Methodist University
Michael D. Stiber, University of Washington Bothell

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 capture (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 algorithms, and communications.

(0 reviews)

Spatial Thinking in Planning Practice: An Introduction to GIS

Eugenio Arriaga Cordero, Portland State University
Vivek Shandas, Portland State University
Yiping Fang, Portland State University, Portland, OR

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.

Some links may not be available to researchers outside of Portland State University. A version that includes citations to the referenced book chapters is provided.

star01star02star03star04star05

(3 reviews)

Squeak by Example

Andrew P. Black, Portland State University
Damien Pollet, University of Lille
Oscar Nierstrasz, University of Bern
Stéphane Ducasse, INRIA 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. Squeak by Example, intended for both students and developers, will guide you gently through the Squeak language and environment by means of a series of examples and exercises.

(0 reviews)

The Little Book of Semaphores

Allen B. 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.

star01star02star03star04star05

(1 review)

The Missing Link: An Introduction to Web Development and Programming

Michael Mendez

This text provides the developer with an understanding of the various elements of web development by focusing on the concepts and fundamentals through the examples within, providing a foundation that allows easier transition to other languages and a better understanding of how to approach their work. The reader will be introduced to topics in a manner that follows most project development methods, from initial conceptualization and design through front end development, back end development, and introducing additional concepts like accessibility and security, while focusing on responsive design techniques. Each section of the text includes opportunities to practice the material and assess increased knowledge after examining the topics.

star01star02star03star04star05

(6 reviews)

Think Bayes: Bayesian Statistics Made Simple

Allen B. Downey, Franklin W. Olin College of Engineering

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

star01star02star03star04star05

(1 review)

Think Complexity: Exploring Complexity Science with Python

Allen B. 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.

(0 reviews)

Think DSP: Digital Signal Processing in Python

Allen B. Downey, Franklin W. Olin College of Engineering

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

(0 reviews)

Think Java: How To Think Like a Computer Scientist

Allen Downey, Franklin W. Olin College of Engineering
Chris Mayfield, James Madison University

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

star01star02star03star04star05

(3 reviews)

Think Python: How to Think Like a Computer Scientist

Allen B. 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.

star01star02star03star04star05

(2 reviews)

Think Stats: Probability and Statistics for Programmers

Allen B. Downey, Franklin W. Olin College of Engineering

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

star01star02star03star04star05

(1 review)