Phu Xuan University Library

Digital library

Textbooks, references and open learning resources.

Culturally Responsive Computing: An Introduction into Computer Science, Security, and Technology

External

Culturally Responsive Computing: An Introduction into Computer Science, Security, and Technology

Devan Walton · ROTEL · 2024

"Culturally Responsive Computing" is an essential textbook that explores the intricate relationship between technology and global societies. It gives students and professionals a deep understanding of how cultural contexts shape and are shaped by computing practices, from algorithm design to user interface development. This book equips readers with the knowledge and skills to create inclusive, ethical, and culturally sensitive technological solutions for our diverse world.

CC BY-NC-SAComputer Science 0 views
A Brief Introduction to Engineering Computation with MATLAB

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.

CC BYComputer ScienceEngineering 0 views
Geographic Information Systems and Cartography

External

Geographic Information Systems and Cartography

Adam Dastrup · Salt Lake Community College

In the contents: 1.02: Geographic Science · 1.03: Geospatial Technology · 1.07: Future of Mapping Technology

CC BY-NC-SAGeography (Physical)Geosciences 0 views
GIS Commons: An Introductory Textbook on Geographic Information Systems

External

GIS Commons: An Introductory Textbook on Geographic Information Systems

Michael Schmandt · Sacramento State University

In the contents: 01: Introduction to GIS and Mapping · 1.03: Manual Gis And Computer-Based GIS · 1.04: GIS Education And Training

CC BY-SAGeography (Physical)Geosciences 0 views
Structure and Interpretation of Computer Programs

External

Structure and Interpretation of Computer Programs

Harold Abelson, Gerald Sussman & Julie Sussman · Massachusetts Institute of Technology

In the contents: 03: Modularity Objects and State

CC BY-SAComputer ScienceEngineering 0 views
Essentials of Geographic Information Systems

External

Essentials of Geographic Information Systems

LibreTexts · LibreTexts

In the contents: 1.03: Geographic Information Systems for Today and Beyond · 2.01: Maps and Map Types · 2.02: Map Scale Coordinate Systems and Map Projections

CC BY-NC-SAGeography (Physical)Geosciences 0 views
Technology in Schools

External

Technology in Schools

Gary Ackerman · hackscience.education · 2022

My purpose in writing this book is to give readers a view into the work of managing information technology in schools. IT professionals will notice differences (some nuanced and some significant) between the needs and expectations of IT users in business and IT in school. With the more complete and more accurate concept the nature of the computing environment necessary for successful schooling, which I intend to provide through this book, IT professionals will be better prepared to meet those needs. Educators will also benefit from this book by clarifying the nature of their IT needs and how these may be different from those that are familiar to IT professionals who are hired to work in your school.

CC BY-NCCurriculum & InstructionInformation Systems 0 views
Discrete Mathematics for Information Technology

External

Discrete Mathematics for Information Technology

Simon Crothers · Kwantlen Polytechnic University · 2026

Discrete Mathematics for Information Technology is an applied, student-focused introduction to the mathematical foundations that underpin modern computing. Designed for learners in information technology and business contexts, this textbook bridges theory and practice by connecting core concepts, such as number systems, data representation, logic, proofs, relations, algorithms, Boolean algebra, and graph theory, to real-world applications in programming, networking, databases, and systems design. Each chapter is structured with clear explanations, worked examples, case studies, and programming-oriented exercises that reinforce both conceptual understanding and practical skills. Emphasis is placed on developing analytical thinking, problem-solving, and the ability to model and reason about digital systems with precision and confidence. As an open educational resource, the text is adaptable and accessible, supporting a wide range of teaching and learning environments. By integrating mathematical rigor with authentic IT scenarios, this book equips students with the essential tools needed to succeed in modern, data-driven and technology-focused careers.

CC BY-NC-SAComputer ScienceMathematics 0 views
The Future is Now: Empowering Society Through AI Literacy

External

The Future is Now: Empowering Society Through AI Literacy

Jason Wrench; Sanae Elmoudden · Milne Open Textbooks · 2025

"The Future is Now: Empowering Society Through AI Literacy" aims to educate and empower a broad audience on the nuances of artificial intelligence, ensuring that readers are not only informed about what AI is and can do but are also prepared to engage with the technology ethically and responsibly. The book adopts a multidisciplinary approach, weaving together technical explanations, ethical considerations, and socio-economic insights to provide a comprehensive overview of AI's role in society today and its potential for the future.

CC BY-NC-SAComputer ScienceSociology 0 views
Programming with Java

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.

CC BY-NCComputer ScienceEngineering & Technology 0 views
Building User Interfaces for Modern Web Applications: React Programming

External

Building User Interfaces for Modern Web Applications: React Programming

Cheer-Sun Yang · The Pennsylvania Alliance for Design of Open Textbooks (PA-ADOPT) · 2024

Since Facebook released React as an open-source software library for front-end programming in 2013, React has gain popularity quickly. Although there are other frameworks or libraries, React is considered a programmer-friendly JavaScript library using the functional programming approach for the front-end web application development. Teaching and learning React can provide training in Functional Programming, Software Engineering Principles, and the Event-Driven Programming Paradigm. The ultimate goal of this eTextbook is to provide a timely support for teaching the state-of-the-art technology as the React ecosystem evolves. In this eTextbook, the prerequisite concepts about HTML/CSS, JavaScript, and Bootstrap/React-Bootstrap are introduced first, followed by the main React language features. Finally, the Software Engineering Principles are introduced from the design, development, to debugging and maintenance. The main objectives are threefold: (1) provide concepts about JavaScript Programming, (2) introduce the concepts of modularity, functional programming, and (3) teach the concept of reusable User Interface (UI) as the front-end of modern model-view-controller (MVC) web applications. Although learning other technologies in the React ecosystem is imminent, it is the hope that this book paves the groundwork for the future learning and growing in the field of modern UI development.

CC BY-NCComputer ScienceEngineering & Technology 0 views
An Open Guide to Data Structures and Algorithms

External

An Open Guide to Data Structures and Algorithms

Paul Bible; Lucas Moser; Mia Scarlato · PALNI · 2023

This textbook serves as a gentle introduction for undergraduates to theoretical concepts in data structures and algorithms in computer science while providing coverage of practical implementation (coding) issues. The field of computer science (CS) supports a multitude of essential technologies in science, engineering, and communication as a social medium. The varied and interconnected nature of computer technology permeates countless career paths making CS a popular and growing major program. Mastery of the science behind computer science relies on an understanding of the theory of algorithms and data structures. These concepts underlie the fundamental tradeoffs that dictate performance in terms of speed, memory usage, and programming complexity that separate novice programmers from professional practitioners.

CC BYComputer Science 0 views
Programming Persistent Memory: A Comprehensive Guide for Developers

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

CC BYComputer ScienceProgramming Languages 0 views
Earth, Space, and Environmental Science Explorations with ArcGIS Pro

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

CC BYComputer ScienceEarth Sciences 0 views
Making Sense of Digital Humanities

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.

CC BY-NC-SAComputer ScienceEducation 0 views
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

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.

CC BY-SAComputer ScienceInformation Systems 0 views
AF

External

A First Course in Electrical and Computer Engineering

Louis Scharf · OpenStax CNX · 2009

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. Our department decided to offer this course for several reasons: we wanted to pique student' interest in engineering by acquainting them with engineering teachers early in their university careers and by providing with exposure to the types of problems that electrical and computer engineers are asked to solve; we wanted students entering the electrical and computer engineering programs to be prepared in complex analysis, phasors, and linear algebra, topics that are of fundamental importance in our discipline; we wanted students to have an introduction to a software application tool, such as MATLAB, to complete their preparation for practical and efficient computing in their subsequent courses and in their professional careers; we wanted students to make early contact with advanced topics like vector graphics, filtering, and binary coding so that they would gain a more rounded picture of modern electrical and computer engineering. In order to introduce this course, we had to sacrifice a second semester of Pascal programming. We concluded that the sacrifice was worth making because we found that most of our students were prepared for high-level language computing after just one semester of programming. We believe engineering educators elsewhere are reaching similar conclusions about their own students and curriculums. We hope this book helps create a much needed dialogue about curriculum revision and that it leads to the development of similar introductory courses that encourage students to enter and practice our craft.Students electing to take this course have completed one semester of calculus, computer programming, chemistry, and humanities. Concurrently with this course, students take ph

CC BYComputer ScienceElectrical Engineering 0 views
Embedded Controllers Using C and Arduino

External

Embedded Controllers Using C and Arduino

James Fiore · dissidents · 2018

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. It is intended to fit the time constraints of a typical 3 to 4 credit hour course for electrical engineering technology and computer engineering technology programs, although it could also fit the needs of a hardware-oriented course in computer science. As such, the text does not attempt to cover every aspect of the C language, the Arduino system or Atmel AVR microcontrollers. The first section deals with the C language itself. It is assumed that the student is a relative newcomer to the C language but has some experience with another high level language, for example, Python. This means concepts such as conditionals and iteration are already familiar and the student can get up and running fairly quickly. From there, the Arduino development environment is examined. Unlike the myriad Arduino books now available, this text does not simply rely on the Arduino libraries. As convenient as the libraries may be, there are other, sometimes far more efficient, ways of programming the boards. Many of the chapters examine library source code to see “what's under the hood”. This more generic approach means it will be easier for the student to use other processors and development systems instead of being tightly tied to one platform. There is a lab manual for this textbook.

CC BY-NC-SAComputer Science 0 views
Nature of Geographic Information Systems

External

Nature of Geographic Information Systems

David DiBiase · BCcampus · 2014

The purpose of this text is to promote understanding of the Geographic Information Science and Technology enterprise (GIS&T, also known as “geospatial”).

CC BY-NC-SAComputer ScienceInformation Systems 0 views
Python for Everybody: Exploring Data Using Python 3

External

Python for Everybody: Exploring Data Using Python 3

Charles Severance · Charles Severance · 2016

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. Chapters 2–10 are similar to the Think Python book, but there have been major changes. Number-oriented examples and exercises have been replaced with data- oriented exercises. Topics are presented in the order needed to build increasingly sophisticated data analysis solutions. Some topics like try and except are pulled forward and presented as part of the chapter on conditionals. Functions are given very light treatment until they are needed to handle program complexity rather than introduced as an early lesson in abstraction. Nearly all user-defined functions have been removed from the example code and exercises outside of Chapter 4. The word “recursion”1 does not appear in the book at all. In chapters 1 and 11–16, all of the material is brand new, focusing on real-world uses and simple examples of Python for data analysis including regular expressions for searching and parsing, automating tasks on your computer, retrieving data across the network, scraping web pages for data, object-oriented programming, using web services, parsing XML and JSON data, creating and using databases using Structured Query Language, and visualizing data. The ultimate goal of all of these changes is a shift from a Computer Science to an Informatics focus is to only include topics into a first technology class that can be useful even if one choose

CC BY-NC-SAComputer ScienceProgramming Languages 0 views