Digital library
Textbooks, references and open learning resources.

External
Prealgebra via Python Programming: First Steps to Perform Large Scale Computational Tasks in the Sciences and Engineerings
Sergio Rojas · Sergio Rojas · 2018
This book was written for students and instructors who want to learn how to use a computer for other than the most common uses, such as web browsing, document creation, or paying bills online. This book is for anyone who wants to perform computational tasks that they design. In other words, if you wish to learn how to program a computer, this book is for you. Because prealgebra is a subject that practically everyone is supposed to learn in grade school, it provides a platform to introduce basic computer programming concepts. Consequently, this book should also be of interest to students in middle or high school who want to learn how to program, and who are willing to invest the time and effort in learning a programming language that they could continue using throughout their schooling and in their professional life. Similarly, this book could also be of interest to pre-service and in-service mathematics teachers wishing to have at their disposal a complementary tool to assist in fostering understanding, competency, and interest in mathematics among their students. This book can be integrated with the teachers’ curriculum as way to tackle non-traditional math problems using an inexpensive modern computer language. By the end of the book, a reader will have learned enough to be able to write a preliminary, step-by-step one variable equation solver that can be expanded in the future to use with more complex equations. In other words, by the end of the book, you will be able to write code that programs their machines to solve equations. This code is foundational and readers are ecouraged to learn on their own how to build on it to suit their mathematics learning needs.

External
Programming Persistent Memory: A Comprehensive Guide for Developers
Stteve Scargall · Apress · 2020
Beginning and experienced programmers will use this comprehensive guide to persistent memory programming. You will understand how persistent memory brings together several new software/hardware requirements, and offers great promise for better performance and faster application startup times—a huge leap forward in byte-addressable capacity compared with current DRAM offerings. This revolutionary new technology gives applications significant performance and capacity improvements over existing technologies. It requires a new way of thinking and developing, which makes this highly disruptive to the IT/computing industry. The full spectrum of industry sectors that will benefit from this technology include, but are not limited to, in-memory and traditional databases, AI, analytics, HPC, virtualization, and big data. Programming Persistent Memory describes the technology and why it is exciting the industry. It covers the operating system and hardware requirements as well as how to create development environments using emulated or real persistent memory hardware. The book explains fundamental concepts; provides an introduction to persistent memory programming APIs for C, C++, JavaScript, and other languages; discusses RMDA with persistent memory; reviews security features; and presents many examples. Source code and examples that you can run on your own systems are included. What You’ll Learn Understand what persistent memory is, what it does, and the value it brings to the industry Become familiar with the operating system and hardware requirements to use persistent memory Know the fundamentals of persistent memory programming: why it is different from current programming methods, and what developers need to keep in mind when programming for persistence Look at persistent memory application development by example using the Persistent Memory Development Kit (PMDK) Design and optimize data structures for persistent memory Study how real-world applications are modified to le

External
Pro Git: Everything You Need to Know About Git (English)
Scott Chacon; Ben Straub · Apress · 2022
The entire Pro Git book, written by Scott Chacon and Ben Straub and published by Apress, is available here. All content is licensed under the Creative Commons Attribution Non Commercial Share Alike 3.0 license. Print versions of the book are available on Amazon.com. The version found here has been updated with corrections and additions from hundreds of contributors. If you see an error or have a suggestion, patches and issues are welcome in its GitHub repository.
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
Earth, Space, and Environmental Science Explorations with ArcGIS Pro
Wing Cheung · Wing Cheung
When I first started teaching Geographic Information Systems (GIS) over 15 years ago, there were only a handful of GIS tutorial books on the market. While a few of them focused on a particular theme, many of them were mainly technical publications with no unifying theme. These publications are perfect for teaching new users about basic GIS operations and continue to be invaluable to many users today. However, these publications consisted of tutorials focusing on vastly different real-world scenarios, and felt a little disjointed to integrate into a class that focuses on a specific field (e.g. Environmental Science, Geography, Urban Planning). Since then, I am happy to see that there has been a proliferation of publications that are not only focused on introducing the technology, but also provide an introduction to a specific field as well as GIS. It is with this consideration in mind that I wrote this book to not only introduce students to the tools in ArcGIS Pro, but also to provide a glimpse into some of the topics that may be covered in an introductory course in Geography, Environmental Science, or related disciplines. I aimed to achieve a balance of technical instruction and information about Earth, Space, and Environmental Sciences, to make this publication helpful for new GIS learners, as well as students who may be interested in learning about the applications of GIS in the Earth, Space, and Environmental Sciences. Before you begin with the book, please download and unzip the data for the book at https://tinyurl.com/ESESGIS. Each chapter will begin with a list of the technical objectives for the lab exercise, which is particularly useful to refer to should you need a refresher on how to perform a particular task at a later date. The list of technical objectives is followed by a short introduction that provides the context for the exercise. Subsequently, you will find the step-by-step directions for the exercises with questions embedded throughout (in yellow h

External
Making Sense of Digital Humanities
Julian Chambliss; Ellen Moll · Michigan State University · 2022
Taking up the challenge of navigating the complex world of digital humanities, Making Sense of Digital Humanities offers readers an exploration of the many ways scholars have employed the diverse toolkit of digital humanities to create a better understanding of the synergies and disruptions created by technological change. Rooted in a concern for the daunting tasks associated with teaching and learning about the digital humanities, this volume hopes to provide easy entry into a complex topic while highlighting how an understanding of digital humanities can transform our thinking about technology in the modern world.

External
Mathematical Modeling and Simulation with MATLAB
Sheldon Lee; Megan Buzby · University of Alaska Southeast · 2021
This textbook attempts to provide you with an overview of the commonly used basic mathematical models, as well as a wide range of applications. It offers a perspective that brings you back to the modeling process and the assumptions that go into it.

External
Patterns for Beginning Programmers
David Bernstein · James Madison University · 2022
Programming patterns are solutions to problems that require the creation of a small fragment of code that will be part of a larger program. Hence, this book is about teaching you how to write such fragments of code. However, it is not about teaching you the syntax of the statements in the fragments, it assumes that you already know the syntax. Instead, it is about finding solutions to problems that arise when first learning to program.

External
Evidence-based Software Engineering
Derek Jones · Knowledge Software · 2020
This book discusses what is currently known about software engineering, based on an analysis of all the publicly available data. This aim is not as ambitious as it sounds, because there is not a great deal of data publicly available. The intent is to provide material that is useful to professional developers working in industry; until recently researchers in software engineering have been more interested in vanity work, promoted by ego and bluster. The material is organized in two parts, the first covering software engineering and the second the statistics likely to be needed for the analysis of software engineering data.

External
Deleting Dystopia: Re-Asserting Human Priorities in the Age of Surveillance Capitalism
Richard Slaughter · University of Southern Queensland · 2021
Deleting Dystopia confirms that the existential threats posted by the misuse of advanced digital technologies are real. But, in place of apathy and fatalism, Slaughter explores ways of understanding the threat, conceptualising solutions and identifying strategies that lead away from digital authoritarian futures towards those funded on humanly viable values and practices.

External
Introduction to Statistical Thinking
Benjamin Yakir · Benjamin Yakir · 2010
The target audience for this book is college students who are required to learn statistics, students with little background in mathematics and often no motivation to learn more. It is assumed that the students do have basic skills in using computers and have access to one. Moreover, it is assumed that the students are willing to actively follow the discussion in the text, to practice, and more importantly, to think. Teaching statistics is a challenge. Teaching it to students who are required to learn the subject as part of their curriculum, is an art mastered by few. In the past I have tried to master this art and failed. In desperation, I wrote this book. This book uses the basic structure of generic introduction to statistics course. However, in some ways I have chosen to diverge from the traditional approach. One divergence is the introduction of R as part of the learning process. Many have used statistical packages or spreadsheets as tools for teaching statistics. Others have used R in advanced courses. I am not aware of attempts to use R in introductory level courses. Indeed, mastering R requires much investment of time and energy that may be distracting and counterproductive for learning more fundamental issues. Yet, I believe that if one restricts the application of R to a limited number of commands, the benefits that R provides outweigh the difficulties that R engenders. Another departure from the standard approach is the treatment of probability as part of the course. In this book I do not attempt to teach probability as a subject matter, but only specific elements of it which I feel are essential for understanding statistics. Hence, Kolmogorov’s Axioms are out as well as attempts to prove basic theorems and a Balls and Urns type of discussion. On the other hand, emphasis is given to the notion of a random variable and, in that context, the sample space.

External
Inventory Analytics
Roberto Rossi · Roberto Rossi · 2021
Inventory Analytics provides a comprehensive and accessible introduction to the theory and practice of inventory control – a significant research area central to supply chain planning. The book outlines the foundations of inventory systems and surveys prescriptive analytics models for deterministic inventory control. It further discusses predictive analytics techniques for demand forecasting in inventory control and also examines prescriptive analytics models for stochastic inventory control. Inventory Analytics is the first book of its kind to adopt a practicable, Python-driven approach to illustrating theories and concepts via computational examples, with each model covered in the book accompanied by its Python code. Originating as a collection of self-contained lectures, Inventory Analytics will be an indispensable resource for practitioners, researchers, teachers, and students alike.

External
Computer Science I
Chris Bourke · Chris Bourke · 2018
This textbook covers the traditional introductory Computer Science I topics but takes a unique approach. Topics are covered in a language-agnostic manner in the first part with supplemental parts that cover the same concepts in a specific language. The current version covers C, Java, and PHP. This textbook as been used in several Computer Science I sections over multiple years at the University of Nebraska-Lincoln

External
Defend Dissent
Glencora Borradaile · Oregon State University · 2021
Defend Dissent is an introduction to cryptography paired with the social impacts of surveillance and the protective potential of encryption, with a focus on US social movements. Each chapter ends with a story that brings social context to the material—from surveillance used against contemporary US protests to the African National Congress’s use of partially manual encryption in fighting apartheid in South Africa in the 80s.This book can be read linearly, or you can pick and choose what you would like to learn about. Each chapter is prefaced with what you should read first (for background) and concludes with what you might want to read next.

External
Tutorials of Visual Graphic Communication Programs for Interior Design
Yongyeon Cho · Iowa State University · 2021
This book is for the beginning level of both architecture and interior design students who learn computer graphic communication software. The author developed multiple tutorials to teach three computer graphic applications, AutoCAD, Revit, and Enscape. AutoCAD is an essential computer drafting software which is 2D drawing software. Revit is a Building Information Modeling software, which is 3D based modeling software. Lastly, Enscape is a real-time rendering, animation, and virtual reality plug-in for users' 4D experiences.

External
A Person-Centered Guide to Demystifying Technology: Working together to observe, question, design, prototype, and implement/reject technology in support of people's valued beings and doings
Martin Wolske · University of Illinois Library - Urbana · 2023
Digital technologies old and new are not objects that can be packed inside a box. They are a seamless, indivisible combination of people, organizations, policies, economies, histories, cultures, knowledge, and material things that are continuously shaped and reshaped. Every one of us innovates-in-use our everyday technologies; we just do not always know it. We are shaped by the networked information tools in our midst, and we shape them and thereby shape others. While many of the chapters in this book can be approached as standalone explorations, as many around the world have done, its full potential comes when collaboratively taken as a journey through twelve sessions. Each session in this second, revised edition includes two thematically linked chapters, one more socially oriented and one more technically oriented. Sessions are brought together into three larger generative themes that are built from three decades of participatory design in and with community, and from the teaching of these concepts and practices in courses and workshops. Approached within a community of practice, learning outcomes include discovering ways to advance power, both power within and power with others; advancing our technical skills, but also and even more, our progressive community engagement skills, our critical sociotechnical skills, and our cognitive, information, and social-emotional skills; and progressing our culturally competent collective leadership through social justice storytelling within a framing of reciprocity. In so doing, this textbook seeks to address the call placed by the Rev. Dr. Martin Luther King, Jr. – to rapidly shift from a ‘thing-oriented’ society to a ‘person-oriented’ society.

External
First Semester in Numerical Analysis with Python
Yaning Liu · Auraria Institutional Repository
The book is based on “First semester in Numerical Analysis with Julia”, written by Giray Ökten. The contents of the original book are retained, while all the algorithms are implemented in Python (Version 3.8.0). Python is an open source (under OSI), interpreted, general-purpose programming language that has a large number of users around the world. Python is ranked the third in August 2020 by the TIOBE programming community index, a measure of popularity of programming languages, and is the top-ranked interpreted language. We hope this book will better serve readers who are interested in a first course in Numerical Analysis, but are more familiar with Python for the implementation of the algorithms. The first chapter of the book has a self-contained tutorial for Python, including how to set up the computer environment. Anaconda, the open-source individual edition, is recommended for an easy installation of Python and effortless management of Python packages, and the Jupyter environment, a web-based interactive development environment for Python as well as many other programming languages, was used throughout the book and is recommended to the readers for easy code development, graph visualization and reproducibility.

External
The Crystal Ball Instruction Manual
Stephen Davies · University of Mary Washington · 2020
A perfect introduction to the exploding field of Data Science for the curious, first-time student. The author brings his trademark conversational tone to the important pillars of the discipline: exploratory data analysis, choices for structuring data, causality, machine learning principles, and introductory Python programming using open-source Jupyter Notebooks. This engaging read will allow any dedicated learner to build the skills necessary to contribute to the Data Science revolution, regardless of background.

External
The Discipline of Organizing: 4th Professional Edition
Robert Glushko · University of California, Berkeley · 2013
We organize things, we organize information, we organize information about things, and we organize information about information. But even though “organizing” is a fundamental and ubiquitous challenge, when we compare these activities their contrasts are more apparent than their commonalities. We propose to unify many perspectives about organizing with the concept of an Organizing System, defined as an intentionally arranged collection of resources and the interactions they support. Every Organizing System involves a collection of resources, a choice of properties or principles used to describe and arrange resources, and ways of supporting interactions with resources. By comparing and contrasting how these activities take place in different contexts and domains, we can identify patterns of organizing. We can create a discipline of organizing in a disciplined way. The 4th edition builds a bridge between organizing and data science. It reframes descriptive statistics as organizing techniques, expands the treatment of classification to include computational methods, and incorporates many new examples of data-driven resource selection, organization, maintenance, and personalization. It introduces a new “data science” category of discipline-specific content, both in the chapter text and in endnotes, marked with [DS] in editions that contain endnotes.

External
Think Raku: How to Think Like a Computer Scientist
Laurent Rosenfeld; Allen Downey · Green Tea Press · 2017
The title of this book was originally Think Perl 6, but since Perl 6 has been renamed Raku, we have also changed the title of the book. Think Raku is an introduction to computer science and programming intended for people with little or no experience. This aim of this book is not primarily to teach Raku, but instead to teach the art of programming, using the Raku language. After having completed this book, you should hopefully be able to write programs to solve relatively difficult problems in Raku, but my main aim is to teach computer science, software programming, and problem solving rather than solely to teach the Raku language itself. Think Raku is a free book available under a Creative Commons license. Readers are free to copy and distribute the text; they are also free to modify it, which allows them to adapt the book to different needs, and to help develop new material.