Phu Xuan University Library

Digital library

Textbooks, references and open learning resources.

CSCI 110: Programming with C++

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

CC BY-SAEngineering 0 views
Foundations of Computation

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.

CC BY-NC-SAComputer ScienceEngineering 0 views
A Guide to MATLAB

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.

CC BY-NC-SAComputer ScienceEngineering 0 views
Think Data Structures - Algorithms and Information Retrieval in Java

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.

CC BY-NC-SAComputer ScienceEngineering 0 views
Delftse Foundations of Computation

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.

CC BY-NC-SAComputer ScienceEngineering 0 views
Pharo by Example 5.0

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.

CC BY-SAComputer ScienceEngineering 0 views
Byte of Python

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.

CC BY-SAComputer ScienceEngineering 0 views
Think Java - How to Think Like a Computer Scientist

External

Think Java - How to Think Like a Computer Scientist

Allen B. Downey · lin College

In the contents: 9.02: What Is Computer Science

CC BY-NC-SAComputer ScienceEngineering 0 views
Algorithm Design and Analysis

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.

CC BY-SAComputer ScienceEngineering 0 views
Discrete Math with SageMath: Learn math with open-source software

External

Discrete Math with SageMath: Learn math with open-source software

Zunaid Ahmed; Hellen Colman; Samuel Lubliner · Zunaid Ahmed, Hellen Colman, Samuel Lubliner · 2025

Our book is intended to provide concise and complete instructions on how to use Sage to solve problems in Discrete Math. It is appropriate 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. Our resources are designed for all math students, regardless of programming experience. The novelty of our project is that the textbook is authored by students under faculty supervision. With Open Pedagogy as a guiding praxis, we present this student-created textbook as a more effective alternative in promoting student learning and engagement. Students present the contents in new and inventive ways, from the overall voice of the textbook to the actual examples drawn from their and their peers' lives. The text began as a support textbook for our undergraduate Discrete Math course developed at Wright College, one of the City Colleges of Chicago. Despite the fabulous capabilities of SageMath, students in Discrete Math were often frustrated by the lack of specific documentation geared towards beginning undergrad students in Discrete Math. We developed an OER for our students to use this mathematical software effectively.

CC BYPureMathematics 0 views
Practical Game Programming

External

Practical Game Programming

Harris Wang; Walter Ridgewell · Athabasca University Press · 2026

Practical Game Programming provides a structured, accessible introduction to game development using C++ and the Allegro 5 library. Designed for upper-level undergraduate learners, it guides students through the complete development pipeline—from programming fundamentals and user input to graphics, audio, file management, and game timing. Advanced topics such as collision detection, multithreading, optimization, custom shaders, and networking are covered in depth. This OER emphasizes both technical skills and design principles, including game conception, prototyping, UI/UX, testing, and quality assurance. Each chapter includes exercises and projects, culminating in genre-based development challenges across action, platformer, adventure, arcade, puzzle, role-playing, strategy, and more. With a focus on applied learning and creative exploration, this text equips students to build professional-quality games and prepares them for real-world development environments.

CC BY-NC-SAComputer Science 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 Differential Privacy

External

Programming Differential Privacy

Joseph Near; Chiké Abuah · Joseph P. Near and Chiké Abuah · 2025

This book offers a hands-on introduction to differential privacy, combining formal foundations with executable code and practical design patterns. The material has evolved through lecture notes, workshops, and collaborations with academics and practitioners, gradually expanding to cover both classical and modern topics.

CC BY-NC-SAComputer Science 0 views
Beyond Coding

External

Beyond Coding

David Tuffley · Griffith University · 2025

In today’s competitive IT industry, technical skills alone are no longer enough to succeed. This book teaches essential soft skills that transform technical professionals into complete IT leaders. You will master clear communication for diverse audiences, build strong teams through collaboration and conflict resolution, and solve complex problems with structured thinking. The guide covers time management techniques, project management fundamentals, and stakeholder delivery methods. Additional modules address professional ethics, customer relations, cultural awareness, leadership influence, and personal growth. These practical skills complement your technical knowledge, creating competitive advantages in today’s IT industry. The book provides frameworks, tools, and strategies that help you advance your career, lead projects successfully, and adapt to changing workplace demands.

CC BY-NCComputer ScienceInformation Systems 0 views
Scientific Computing for Chemists with Python

External

Scientific Computing for Chemists with Python

Charles Weiss · Charles J. Weiss · 2025

This book serves as an introduction to coding for chemists. The tools employed in this book are the powerful and popular combination of Jupyter notebooks and the Python programming language. No background beyond first-year college chemistry and occasionally some very basic spectroscopy (for advanced chapters) is assumed for most of this book. This book starts with a brief primer on Jupyter notebooks in chapter 0 and computer programming with Python in chapters 1 and 2. If you already have a background in these tools, feel free to skip ahead. The rest of the book dives into applications of Python to solving chemical problems. Python and Jupyter were chosen for a variety of reasons, including that they are: Relatively easy to use and learn Powerful and well-suited for solving chemical problems Free, open-source software Cross-platform (e.g., runs on Windows, macOS, and Linux) Supplemented with numerous, specialized libraries for handling specific types of data or problems (e.g., machine learning) Supported by a helpful and welcoming community Learning to use a number of popular Python scientific libraries to solve chemical problems is one of the themes of this book. A Python library can be thought of as a tool pack with premade functions for performing common tasks in scientific data processing, analysis, and visualization. For example, the matplotlib library provides a variety of functions for creating a wide range of plots, while the scikit-learn library contains functions and resources for machine learning.

CC BY-NC-SAChemistryComputer Science 0 views
Introduction to Computer Programming with Python

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.

CC BY-NC-SAComputer ScienceProgramming Languages 0 views
InfoTech Governance, Policy, Ethics & Law

External

InfoTech Governance, Policy, Ethics & Law

David Tuffley · Council of Australian University Librarians · 2025

A comprehensive guide to IT governance, policy, ethics and law for students, practitioners and researchers. Covers the latest developments and best practices in the field, with a focus on the ethical, legal and social implications of IT. The textbook is divided into nine chapters, each covering a key topic in IT governance, policy, ethics and law.

CC BY-NCComputer ScienceLaw 0 views
Operating Systems and Infrastructure in Data Science

External

Operating Systems and Infrastructure in Data Science

Josef Spillner · vdf Hochschulverlag · 2023

Modern data scientists work with a number of tools and operating system facilities in addition to online platforms. Mastering these in combination to manage their data and to deploy software, models and data as ready-to-use online services as well as to perform data science and analysis tasks is in the focus of Operating Systems and Infrastructure in Data Science. Readers will come to understand the fundamental concepts of operating systems and to explore plenty of tools in hands-on tasks and thus gradually develop the skills necessary to compose them for programming in the large, an essential capability in their later career. The book guides students through semester studies, acts as reference knowledge base and aids in acquiring the necessary knowledge, skills and competences especially in self-study settings. A unique feature of the book is the associated access to Edushell, a live environment to practice operating systems and infrastructure tasks.

CC BY-NC-SAComputer ScienceDatabases 0 views
Semantic Web Development

External

Semantic Web Development

Sean Burns · Sean Burns · 2025

This book serves as an introduction to semantic web development. A more advanced semantic web development course would introduce students to RDFS, SKOS, OWL, SPARQL or more. But this book expects undergraduate students who are new to web development. Therefore this work focuses on entry level topics: HTML5 and its semantic elements, CSS3, and JSON-LD with schema.org.

CC BY-NC-SAComputer ScienceLibrary Science and Museum Studies 0 views