Digital library
Textbooks, references and open learning resources.

External
Web Literacy for Student Fact-Checkers
Mike Caulfield · Mike Caulfield · 2017
The web gives us many such strategies and tactics and tools, which, properly used, can get students closer to the truth of a statement or image within seconds. For some reason we have decided not to teach students these specific techniques. As many people have noted, the web is both the largest propaganda machine ever created and the most amazing fact-checking tool ever invented. But if we haven't taught our students those capabilities is it any surprise that propaganda is winning? This is an unabashedly practical guide for the student fact-checker. It supplements generic information literacy with the specific web-based techniques that can get you closer to the truth on the web more quickly.

External
Design for Electrical and Computer Engineers
Christopher Coulston; Ralph Ford · Ralph Ford and Christopher Coulston · 2024
Originally published by McGraw Hill in 2009, Design for Electrical and Computer Engineers is written for students and teachers engaged in electrical and computer engineering design projects, primarily in the senior year. It guides students and faculty through the steps necessary for the successful execution of design projects. The objective is to provide a treatment of the design process with a sound academic basis that is integrated with practical application. The foundation of the book is a strong vision — that a solid understanding of the Design Process, Design Tools, and the right mix of Professional Skills are critical for project and career success. This text is unique in providing a comprehensive design treatment for electrical and computer engineering.

External
Introduction to Computer Programming with Python
Harris Wang · Athabasca University Press · 2023
This introduction to computer programming with Python begins with some of the basics of computing and programming before diving into the fundamental elements and building blocks of computer programs in Python language. From the installation of Python, Python interactive programming, and integrated development environments to raising and handling exceptions, using compound data types to solve problems, and implement divide-and-conquer processes using functions, classes and modules, this textbook will set students up for success in programming and computing study and practice. The included exercises and projects are designed to hone students’ skills.

External
Programming with Java
Ashik Bhuiyan; Md Amiruzzaman · The Pennsylvania Alliance for Design of Open Textbooks (PA-ADOPT) · 2025
Programming with Java is a beginner-friendly eTextbook that introduces readers to the fundamentals of Java, one of the most widely used programming languages. It covers key concepts like syntax, data types, control structures, and object-oriented programming, offering clear explanations and practical examples. The chapters build progressively, making the material accessible even to those with little or no programming background. The book also explores important topics such as exception handling, file I/O, and basic data structures, providing a strong foundation for further computer science studies. With interactive exercises and end-of-chapter projects, readers can apply their knowledge through real-world applications. This eTextbook equips students with the skills they need to confidently take on advanced programming challenges and pursue successful careers in software development.
External
Computer Systems Security: Planning for Success
Ryan Tolboom · Ryan Tolboom
The text, labs, and review questions in this book are designed as an introduction to the applied topic of computer security. With these resources students will learn ways of preventing, identifying, understanding, and recovering from attacks against computer systems. This text also presents the evolution of computer security, the main threats, attacks and mechanisms, applied computer operation and security protocols, main data transmission and storage protection methods, cryptography, network systems availability, recovery, and business continuation procedures.

External
Pharo by Example 5.0
Stéphane Ducasse; Dmitri Zagidulin; Nicolai Hess; Dimitris Chloupis · Stéphane Ducasse · 2016
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.Pharo is a powerful language and IDE that companies use to deliver complex business-effective applications. More at: http://www.pharo.org/success In Pharo everything is an object, and anything can change at run-time under your fingers. Pharo is written in itself you can explore a complete world. You can feel and talk to objects. But Pharo does not stop there, with Pharo you can improve your object-oriented skills by rediscovering the essence of object-oriented programming. Pharo by Example 50, 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. This book is available under the Creative Commons Attribution-ShareAlike 3.0 license.

External
Squeak by Example
Andrew Black; Stéphane Ducasse; Oscar Nierstrasz; Damien Pollet · University of Bern · 2009
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. The book helps you get started with A Quick Tour of Squeak and guides you through A First Application. The Smalltalk language is introduced in three chapters on Syntax in a Nutshell, Understanding Message Syntax and The Smalltalk Object Model. Development with Squeak is covered in The Squeak Programming Environment and SUnit. Several of the key classes are presented in chapters on Basic Classes, Collections, Streams and Morphic. The first edition of the book concludes with chapters on Classes and Metaclasses and Frequently Asked Questions.