Phu Xuan University Library

Digital library

Textbooks, references and open learning resources.

Introduction to Probability

External

Introduction to Probability

Charles Grinstead; J. Laurie Snell · American Mathematical Society · 2006

Probability theory began in seventeenth century France when the two great French mathematicians, Blaise Pascal and Pierre de Fermat, corresponded over two problems from games of chance. Problems like those Pascal and Fermat solved continuedto influence such early researchers as Huygens, Bernoulli, and DeMoivre in establishing a mathematical theory of probability. Today, probability theory is a wellestablished branch of mathematics that finds applications in every area of scholarlyactivity from music to physics, and in daily experience from weather prediction topredicting the risks of new medical treatments. This text is designed for an introductory probability course taken by sophomores,juniors, and seniors in mathematics, the physical and social sciences, engineering,and computer science. It presents a thorough treatment of probability ideas andtechniques necessary for a form understanding of the subject. The text can be usedin a variety of course lengths, levels, and areas of emphasis. For use in a standard one-term course, in which both discrete and continuousprobability is covered, students should have taken as a prerequisite two terms ofcalculus, including an introduction to multiple integrals. In order to cover Chapter 11, which contains material on Markov chains, some knowledge of matrix theoryis necessary. The text can also be used in a discrete probability course. The material has beenorganized in such a way that the discrete and continuous probability discussions arepresented in a separate, but parallel, manner. This organization dispels an overlyrigorous or formal view of probability and o?ers some strong pedagogical valuein that the discrete discussions can sometimes serve to motivate the more abstractcontinuous probability discussions. For use in a discrete probability course, studentsshould have taken one term of calculus as a prerequisite. Very little computing background is assumed or necessary in order to obtain fullbenefits from the use of the comp

Free Documentation License (GNU)AppliedEngineering & Technology 0 views
Teaching in a Digital Age: Guidelines for designing teaching and learning

External

Teaching in a Digital Age: Guidelines for designing teaching and learning

A.W. (Tony) Bates · BCcampus · 2015

Teachers, instructors and faculty are facing unprecedented change, with often larger classes, more diverse students, demands from government and employers who want more accountability and the development of graduates who are workforce ready, and above all, we are all having to cope with ever changing technology. To handle change of this nature, teachers and instructors need a base of theory and knowledge that will provide a solid foundation for their teaching, no matter what changes or pressures they face. Although the book contains many practical examples, it is more than a cookbook on how to teach. It addresses the following questions: is the nature of knowledge changing, and how do different views on the nature of knowledge result in different approaches to teaching? what is the science and research that can best help me in my teaching? how do I decide whether my courses should be face-to-face, blended or fully online? what strategies work best when teaching in a technology-rich environment? what methods of teaching are most effective for blended and online classes? how do I make choices among all the available media, whether text, audio, video, computer, or social media, in order to benefit my students and my subject? how do I maintain high quality in my teaching in a rapidly changing learning environment while managing my workload? what are the real possibilities for teaching and learning using MOOCs, OERS, open textbooks? In summary, the book examines the underlying principles that guide effective teaching in an age when everyone, and in particular the students we are teaching, are using technology. A framework and a set of guidelines are suggested for making decisions about your teaching, while understanding that every subject is different, and every teacher and instructor has something unique and special to bring to their teaching. In the end, though, the book isn't really about teachers and instructors, although you are the target group. It's about you help

CC BY-NCCurriculum & InstructionDistance Education 0 views
Yet Another Introductory Number Theory Textbook (Cryptology Emphasis Version)

External

Yet Another Introductory Number Theory Textbook (Cryptology Emphasis Version)

Jonathan Poritz · Jonathan Poritz · 2014

This version of YAINTT has a particular emphasis on connections to cryptology. The cryptologic material appears in Chapter 4 and §§5.5 and 5.6, arising naturally (I hope) out of the ambient number theory. The main cryptologic applications – being the RSA cryptosystem, Diffie-Hellman key exchange, and the ElGamal cryptosystem – come out so naturally from considerations of Euler’s Theorem, primitive roots, and indices that it renders quite ironic G.H. Hardy’s assertion [Har05] of the purity and eternal inapplicability of number theory. Note, however, that once we broach the subject of these cryptologic algorithms, we take the time to make careful definitions for many cryptological concepts and to develop some related ideas of cryptology which have much more tenuous connections to the topic of number theory. This material therefore has something of a different flavor from the rest of the text – as is true of all scholarly work in cryptology (indeed, perhaps in all of computer science), which is clearly a discipline with a different culture from that of “pure”mathematics. Obviously, these sections could be skipped by an uninterested reader, or remixed away by an instructor for her own particular class approach.

CC BY-SAApplied 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
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
The Crystal Ball Instruction Manual

External

The Crystal Ball Instruction Manual

Stephen Davies · University of Mary Washington · 2020

Welcome to Volume Two of the Crystal Ball series: Foundations for Data Science! I titled the first volume “Introduction to Data Science” because it led you through a dip-your-toes-in-the-water experience. You took a brief tour through the various elements in this diverse field and got a feel for what it was all about. Since you’re still reading, this means you’re still interested, and ready to explore the next level. In Foundations, we’ll solidify your growing knowledge so that you have a firm base on which to build everything else. Future volumes in this series will cover applications, advanced techniques, and some special data types that require special treatment. But it all ultimately rests on the skill set you’ll have built in Volumes One and Two of this series.

CC BY-SAComputer ScienceMathematics 0 views
An Introduction to Python Jupyter Notebooks for College Math Teachers

External

An Introduction to Python Jupyter Notebooks for College Math Teachers

Paul Isihara; Claire Wagner; Peter Jantsch; Thomas VanDrunen · Paul Isihara, Claire Wagner, Peter Jantsch, and Thomas VanDrunen · 2024

This book is an introduction to the use of Python Jupyter Notebooks (JNBs) for college math teachers and their students. The book is an evolving work in progress, but we hope this 1st Edition may already be quite useful to a college math teacher who is interested to use Jupyter Notebooks in their courses. Each section of the book has been written in the form of a Jupyter Notebook and can be downloaded using the download button at the top menu bar. In some cases, additional data files or image files may need to be downloaded as well. All the files are available in the src folder of the github repository https://github.com/timothyprojectGiG/JB_Math_Textbook Each chapter contains a JNB lab with solutions. Experienced teachers can modify these labs and create new labs tailored to their courses. The chapters were written by different authors/authorship teams, and as such, vary in style. Each chapter essentially can be read independently of the others as long as one has the pre-requisite mathematical knowledge. Some effort has been made to standardize the chapter formats, and the index may help the reader find specific topics of interest. There is virtually no limit to what can be done with JNBs, and we hope this work serves as a useful starting point for teachers and students to enrich and enliven the study of mathematics using this tool. The JNBs used to create this book contain special markdown code which are needed to produce features such as indexing, referencing, and highlight boxes in the Jupyter Book. Some editing of a downloaded JNB may may make it more suitable for classroom use.

CC BYComputer ScienceMathematics 0 views
Mastering Enterprise Networks

External

Mastering Enterprise Networks

Mathew Heath Van Horn · Embry-Riddle Aeronautical University · 2024

Mastering Enterprise Networks, is a comprehensive guide to building, defending, and attacking enterprise networks. It covers a wide range of topics, from network fundamentals to advanced security concepts. The book is well-organized and easy to follow, making it a valuable resource for both beginners and experienced network professionals. One of the strengths of this book is its focus on hands-on learning. The book includes 50 chapters of labs that allow readers to practice the concepts they have learned. These labs are a great way to reinforce your understanding of enterprise networks while developing practical skills.

CC BYComputer ScienceInformation Systems 0 views
Introduction to Data Science Using Python

External

Introduction to Data Science Using Python

Afrand Agah · The Pennsylvania Alliance for Design of Open Textbooks (PA-ADOPT) · 2024

This book contains two parts, the first is designed to be used in an introductory programming course for students looking to learn Python, without having any prior experience with programming. Basic programming concepts are discussed, explained, and illustrated with a Python program. Ample programming questions are provided for practice. The second part of the book utilizes machine-learning concepts and statistics to accomplish data-driven resolutions. Python programs are provided to apply scientific computing to conclude statistically driven results.

CC BY-NCComputer Science 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
Research Data Management in the Canadian Context

External

Research Data Management in the Canadian Context

Emily Carlisle-Johnston; Danielle Dennie; Émilie Fortin; Elizabeth Hill · Western University · 2023

Research Data Management is a term for all the things that researchers do to structure, organize and maintain data before, during and after doing research. RDM is also an emerging discipline that is concerned with researching and developing ways to manage research data more effectively. But what is research data? Where is the push towards formal Research Data Management coming from? What are the requirements of good data management? Research Data Management in the Canadian Context: A Guide for Practitioners and Learners looks at these questions and more, all with a focus on Canadian guidelines, regulations and infrastructure.

CC BY-NCComputer ScienceDatabases 0 views