OER Textbooks | Computers and Information Technology

One of the most common complaints from faculty about using OER materials is that they don’t know how to find materials.  I’ve started to link resources and created a list of OER Textbooks organized by academic discipline.

Designing Business Information Systems: Apps, Websites, and More

This textbook is housed on the oddly named Lardbucket.org and was developed by a professional publishing company.

Geographic Information System Basics

This textbook is housed on the oddly named Lardbucket.org and was developed by a professional publishing company.

Getting the Most Out of Information Systems

This textbook is housed on the oddly named Lardbucket.org and was developed by a professional publishing company.

Getting the Most Out of Information Systems: A Manager’s Guide

This textbook is housed on the oddly named Lardbucket.org and was developed by a professional publishing company.

Using Microsoft Excel

This textbook is housed on the oddly named Lardbucket.org and was developed by a professional publishing company.

A Byte of Python

Swaroop C H

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.

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

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.

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.

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.


Joy Morris, University of Lethbridge

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

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.

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.

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.

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

Héctor Cardona

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

Eloquent JavaScript: A Modern Introduction to Programming

Marijn Haverbeke

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

Embedded Controllers Using C and Arduino / 2E

James M. 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.

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.

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.

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.

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.

Graphic Design and Print Production Fundamentals

Alan Martin, British Columbia Institute of Technology
Alex Haas, Emily Carr University
Ken Jeffery, British Columbia Institute of Technology
Roberto Medeiros, Ricoh Canada
Steven Tomljanovic, British Columbia Institute of Technology
Wayne Collins, 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.

High Performance Computing

Kevin Dowd
Dr Charles Severance

The purpose of this book is to teach new programmers and scientists about the basics of High Performance Computing.

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.

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.

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.

Inteligencia Artificial

Aurora Torres Soto
Fátima Sayuri Quezada
Julio Ponce, Universidad Autonoma de Aguascalientes

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.

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.

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.

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 assembly language programming texts, it covers basic operators and instructions, subprogram calling, loading and storing memory, program control, and the conversion of the assembly language program into machine code.

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.

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.

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.

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.

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.

Microprocesadores Fundamentos y Aplicaciones

Carlos Valdivieso
Ronald M. Solís

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.

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

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.

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.

Pharo by Example 5.0

Dimitris Chloupis
Dmitri Zagidulin
Nicolai Hess
Stéphane Ducasse, INRIA Lille

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

Pharo by Example50 is the second edition of Pharo by Example. It is based on Pharo 50. It covers all the elements of the language, core libraries and the IDE. In addition it shows how to build a simple web application with Seaside (a powerful web framework).

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.

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.

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.

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.

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.

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.

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.

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.

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

Jaime Muñoz Arteaga
Viviana Bustos Amador
Yosly Caridad Hernández

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.



Last Modified:  07/29/2018


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.