Digital library
Textbooks, references and open learning resources.

External
A Brief Introduction to Engineering Computation with MATLAB
Serhat Beyenir · British Columbia Institute of Technology
The strategic goal of the course and book is to provide learners with an appreciation for the role computation plays in solving engineering problems. MATLAB specific skills that students are expected to be proficient at are: write scripts to solve engineering problems including interpolation, numerical integration and regression analysis, plot graphs to visualize, analyze and present numerical data, and publish reports.

External
Object-Oriented Reengineering Patterns
Serge Demeyer, Stéphane Ducasse, & Oscar Nierstrasz · LibreTexts
In the contents: 01: Reengineering Patterns · 1.02: The Reengineering Lifecycle · 1.03: Reengineering Patterns

External
An Introduction to Ontology Engineering
Maria Keet · University of Cape Town
In the contents: 02: Introduction to Ontology Engineering · 2.01: Prelude to Ontology Engineering · 2.E: Introduction to Ontology Engineering (Exercises)

External
A First Course in Electrical and Computer Engineering
Louis Scharf · Colorado State University
This book was written for an experimental freshman course at the University of Colorado. The course is now an elective that the majority of our electrical and computer engineering students take in the second semester of their freshman year, just before their first circuits course.

External
Spreadsheet software for engineering: an applied guide
Julio Terán & Phillip Chvosta · North Carolina State University
Spreadsheet Software for Engineering: An Applied Guide is a free, online textbook designed to provide engineering students with comprehensive, practical knowledge of spreadsheet applications in engineering contexts. The textbook was designed from the ground up to be interactive and engaging for the modern 21st century learner.

External
Programming Fundamentals - A Modular Structured Approach, 2ed.
Kenneth Leroy Busbee and Dave Braunschweig · LibreTexts
The goal for this text is to make it programming-language neutral, so that it may serve as an introductory programming textbook for students using any of a variety of programming languages, including C++, C#, Java, JavaScript, Python, and Swift. Programming concepts are introduced generically, with logic demonstrated in pseudocode and flowchart form, followed by examples for different programming languages. Emphasis is placed on a modular, structured approaches.

External
Computer Networks - A Systems Approach
Peterson and Davie · LibreTexts
Peterson and Davie organize discussion of fundamental concepts in a way that is independent of layering. Thus, after reading the book, readers will understand flow control, congestion control, reliability enhancement, data representation, and synchronization, and will separately understand the implications of addressing these issues in one or another of the traditional layers.

External
Programming Fundamentals - A Modular Structured Approach using C++
Kenneth Leroy Busbee · Houston Community College
This text 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. 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.

External
Introduction to Computer Graphics
David J. Eck · Hobart and William Smith Colleges
Introduction to Computer Graphics covers 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.

External
Squeak by Example
Andrew P. Black, Stéphane Ducasse, Oscar Nierstrasz, Damien Pollet · LibreTexts
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. The book helps you get started with A Quick Tour of Squeak and guides you through A First Application.

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

External
Programming for the Web - From Soup to Nuts - Implementing a Complete GIS Web Page
Charles W. Kann III · Gettysburg College
This book is designed to be used as a class text but should be easily accessible to programmers interested in Web Programming. It should even be accessible to an advanced hobbyist.

External
Introduction to Assembly Language Programming: From Soup to Nuts - ARM Edition
Charles W. Kann III · Gettysburg College
This is an ARM Assembly Language Textbook designed to be used in classes such as Computer Organization, Operating Systems, Compilers, or any other class that needs to provide the students with a overall of Arm Assembly Language. As with all Soup to Nuts books, it is intended to be a resource where each chapter builds on the material from previous chapters, and leads the reader from a rudimentary knowledge of assembly language to a point where they can use it in their studies.

External
Deep into Pharo
Alexandre Bergel, Damien Cassou, Stéphane Ducasse, Jannik Laval · LibreTexts
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.

External
The Missing Link - An Introduction to Web Development
Michael Mendez · SUNY Fredonia
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.

External
INT 2080: Database Design (Watt and Eng)
Kunle Elebute · Prince George's Community College
LibreTexts

External
Neural Networks and Deep Learning
Michael Nielson · Y Combinator Research
Neural networks are one of the most beautiful programming paradigms ever invented. In the conventional approach to programming, we tell the computer what to do, breaking big problems up into many small, precisely defined tasks that the computer can easily perform. By contrast, in a neural network we don't tell the computer how to solve our problem. Instead, it learns from observational data, figuring out its own solution to the problem at hand.

External
Database Design 2e
Adrienne Watt · British Columbia Institute of Technology
This second edition of Database Design book covers the concepts used in database systems and the database design process.

External
Introduction To MIPS Assembly Language Programming
Charles W. Kann III · 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.

External
Introduction to Programming with C++
Jin He · Fresno City College
As part of OER project funded by Fresno City College OER Award Program, this book was created based on CSCI 40 course curriculum at Fresno City College, which was aligned to CID course descriptions of Comp 112 and Comp 122. The book can be used for the first semester of computer programming courses. It uses C++ as a vehicle to convey the basis concepts in computer programming. It focuses on programming logic, structure, and methodology. It covers the programming fundamentals such as variables an