Digital library
Textbooks, references and open learning resources.

External
Think Complexity: Exploring Complexity Science with Python
Allen B. Downey · Olin College
In the contents: 01: Complexity Science · 1.01: The changing criteria of science

External
Structure and Interpretation of Computer Programs
Harold Abelson, Gerald Sussman & Julie Sussman · Massachusetts Institute of Technology
The material in this book has been the basis of MIT's entry-level computer science subject and emphasizes several new themes. The most important of these is the central role played by different approaches to dealing with time in computational models: objects with state, concurrent programming, functional programming, lazy evaluation, and nondeterministic programming. We have included new sections on concurrency and nondeterminism, and we have tried to integrate this theme throughout the book.

External
Data Structures
Wikipedia · LibreTexts
This book is about the creation and analysis of efficient data structures. To understand the material in this book you should be comfortable enough in a programming language to be capable of working with and writing your own variables, arithmetic expressions, if-else conditions, loops, subroutines (also known as functions), pointers (also known as references or object handles), structures (also known as records or classes), simple input and output, and simple recursion.

External
CSCI 110: Programming with C++
Sandra Ruiz · Crafton Hills College
Introduction to computer science, including programming, theory, and applications. Introduction to computer software design, implementation, methods, environment, and problem solving using the C++ language. Topics include data types, variables, expressions, input/output, control structures, functions, arrays, strings, and introduction to object-oriented programming

External
Foundations of Computation
Carol Critchlow & David J. Eck · Hobart and William Smith Colleges
Foundations of Computation is a free textbook for a one-semester course in theoretical computer science. 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.

External
A Guide to MATLAB
Austin Bray & Reza Montazami · LibreTexts
This textbook provides an introduction to the MATLAB programming language for first-year mechanical engineering students enrolled in ME 160. Designed to follow the content taught in class, this book provides a supplement to in-class learning that is presented at a level that is understandable to a student with no experience coding before coming to Iowa State University.

External
Think Data Structures - Algorithms and Information Retrieval in Java
Allen B. Downey · Olin College
This book is intended for college students in computer science and related fields, as well as professional software engineers, people training in software engineering, and people preparing for technical interviews.

External
Discrete Math with SageMath
Hellen Colman · City Colleges of Chicago
This book is intended to provide concise and complete instructions on how to use Sage to solve problems in Discrete Math for a first or second year undergraduate course for math and computer science majors. Our goal is to streamline the learning process with SageMath. This approach helps students focus more on mathematics and reduces the friction of learning how to code. This is a student-created textbook (Open Pedagogy) for more effective alternative in student learning and engagement.

External
Delftse Foundations of Computation
Stefan Hugtenburg & Neil Yorke-Smith · Delft University of Technology
Delftse Foundations of Computation is a textbook for a one quarter introductory course in theoretical computer science. It includes topics from propositional and predicate logic, proof techniques, set 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.

External
Pharo by Example 5.0
Ducasse, Zagidulin, Hess, and Chloupis · LibreTexts
Pharo by Example 5.0, intended for both students and developers, will guide you gently through the Pharo language and environment by means of a series of examples and exercises. In Pharo everything is an object, and anything can change at run-time under your fingers. Pharo is written in itself so you can explore a complete world. You can feel and talk to objects.

External
Byte of Python
Swaroop C H · LibreTexts
"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.

External
Think Java - How to Think Like a Computer Scientist
Allen B. Downey · lin College
In the contents: 9.02: What Is Computer Science

External
Algorithm Design and Analysis
Godfry Justo · African Virtual University
There are both practical and theoretical reasons to study algorithms. From a practical standpoint, you have to know a standard set of important algorithms from different areas of computing; in addition, you should be able to design new algorithms and analyze their efficiency. From the theoretical standpoint, the study of algorithms, sometimes called algorithmics, has come to be as the cornerstone of computer science.

External
Calculus - Early Transcendentals
LibreTexts · LibreTexts
In the contents: 3.07: Rates of Change in the Natural and Social Sciences · 7.06: Integration Using Tables and Computer Algebra Systems

External
Linux - The Penguin Marches On
Patrick McClanahan · San Joaquin Delta College
LibreTexts

External
Graphic Design and Print Production Fundamentals
Graphic Communications Open Textbook Collective · BCCampus
In the contents: 4.05: Colour Science

External
Introduction to Ocean Sciences 6e
Douglas A. Segar · American Meteorological Society
In the contents: 3.09: Computers and Modeling

External
Public Speaking
Brooke-Ashley Lipson Poo · California Polytechnic State University
In the contents: 14.01: Introduction to Computer Mediated Communication (CMC) and Speaking Online

External
Communication Literacy: An Introduction to Communication Studies
Desiree Montenegro · Cerritos College
In the contents: 9.02: Computer-Mediated-Communication

External
Biopsychology
Open Education Resource Initative · OERI
In the contents: 02: Research Methods and Ethical Considerations of Biological Psychology and Neuroscience · 16.04: Social Neuroscience · 18.06: Chapter 10- Computer Models and Learning in Artificial Neural Networks