Phu Xuan University Library

Digital library

Textbooks, references and open learning resources.

A Brief Introduction to Engineering Computation with MATLAB

External

A Brief Introduction to Engineering Computation with MATLAB

Serhat Beyenir · Serhat Beyenir · 2011

A Brief Introduction to Engineering Computation with MATLAB is specifically designed for students with no programming experience. However, students are expected to be proficient in First Year Mathematics and Sciences and access to good reference books are highly recommended. Students are assumed to have a working knowledge of the Mac OS X or Microsoft Windows operating systems. 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 BYEngineering & Technology 0 views
Action Research

External

Action Research

J. Clark; Suzanne Porath; Julie Thiele; Morgan Jobe · New Prairie Press · 2020

Action research is a common journey for graduate students in education and other human science fields. This book attempts to meet the needs of graduate students, in-service teachers, and any other educators interested in action research and/or self-study. The chapters of this book draw on our collective experiences as educators in a variety of educational contexts, and our roles guiding educator/researchers in various settings. All of our experiences have enabled us to question and refine our own understanding of action research as a process and means for pedagogical improvement. The primary purpose of this book is to offer clear steps and practical guidance to those who intend to carry out action research for the first time. As educators begin their action research journey, we feel it is vital to pose four questions: 1) What is action research, and how is it distinct from other educational research?; 2) When is it appropriate for an educator to conduct an action research project in their context?; 3) How does an educator conduct an action research project?; 4) What does an educator do with the data once the action research project has been conducted? We have attempted to address all four questions in the chapters of this book.

CC BY-NCEducationHigher Education 0 views
How To Do Science

External

How To Do Science

Louise Lexis; Brianna Julien · University of Southern Queensland · 2022

'How To Do Science' has been written for students of the life sciences who are actively engaged in the scientific process. This guide introduces you to what it means to be a scientist. You will learn about the scientific method and how to carry out many tasks of a scientist, including: designing experiments, visualising data, accessing scientific literature, communicating science, and writing literature reviews.

CC BY-NC-SAEducationNatural Sciences 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
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
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
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
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
The Shallow and the Deep: A biased introduction to neural networks and old school machine learning

External

The Shallow and the Deep: A biased introduction to neural networks and old school machine learning

Michael Biehl · University of Groningen Press · 2023

The Shallow and the Deep is a collection of lecture notes that offers an accessible introduction to neural networks and machine learning in general. However, it was clear from the beginning that these notes would not be able to cover this rapidly changing and growing field in its entirety. The focus lies on classical machine learning techniques, with a bias towards classification and regression. Other learning paradigms and many recent developments in, for instance, Deep Learning are not addressed or only briefly touched upon. Biehl argues that having a solid knowledge of the foundations of the field is essential, especially for anyone who wants to explore the world of machine learning with an ambition that goes beyond the application of some software package to some data set. Therefore, The Shallow and the Deep places emphasis on fundamental concepts and theoretical background. This also involves delving into the history and pre-history of neural networks, where the foundations for most of the recent developments were laid. These notes aim to demystify machine learning and neural networks without losing the appreciation for their impressive power and versatility.

CC BY-NC-SAComputer 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
CS

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.

CC BY-NC-SAComputer ScienceInformation Systems 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
Evidence-based Software Engineering

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.

CC BY-SAComputer ScienceDatabases 0 views
The Crystal Ball Instruction Manual

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.

CC BY-SAComputer ScienceDatabases 0 views
The Discipline of Organizing: 4th Professional Edition

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.

CC BY-NCComputer ScienceDatabases 0 views
A Primer for Computational Biology

External

A Primer for Computational Biology

Shawn O'Neil · Oregon State University · 2017

A Primer for Computational Biology aims to provide life scientists and students the skills necessary for research in a data-rich world. The text covers accessing and using remote servers via the command-line, writing programs and pipelines for data analysis, and provides useful vocabulary for interdisciplinary work. The book is broken into three parts: Introduction to Unix/Linux: The command-line is the “natural environment” of scientific computing, and this part covers a wide range of topics, including logging in, working with files and directories, installing programs and writing scripts, and the powerful “pipe” operator for file and data manipulation. Programming in Python: Python is both a premier language for learning and a common choice in scientific software development. This part covers the basic concepts in programming (data types, if-statements and loops, functions) via examples of DNA-sequence analysis. This part also covers more complex subjects in software development such as objects and classes, modules, and APIs. Programming in R: The R language specializes in statistical data analysis, and is also quite useful for visualizing large datasets. This third part covers the basics of R as a programming language (data types, if-statements, functions, loops and when to use them) as well as techniques for large-scale, multi-test analyses. Other topics include S3 classes and data visualization with ggplot2.

CC BY-NC-SABiologyComputer Science 0 views
The Unicode cookbook for linguists: Managing writing systems using orthography profiles

External

The Unicode cookbook for linguists: Managing writing systems using orthography profiles

Steven Moran; Michael Cysouw · Language Science Press · 2018

This text is a practical guide for linguists, and programmers, who work with data in multilingual computational environments. We introduce the basic concepts needed to understand how writing systems and character encodings function, and how they work together at the intersection between the Unicode Standard and the International Phonetic Alphabet. Although these standards are often met with frustration by users, they nevertheless provide language researchers and programmers with a consistent computational architecture needed to process, publish and analyze lexical data from the world's languages. Thus we bring to light common, but not always transparent, pitfalls which researchers face when working with Unicode and IPA. Having identified and overcome these pitfalls involved in making writing systems and character encodings syntactically and semantically interoperable (to the extent that they can be), we created a suite of open-source Python and R tools to work with languages using orthography profiles that describe author- or document-specific orthographic conventions. In this cookbook we describe a formal specification of orthography profiles and provide recipes using open source tools to show how users can segment text, analyze it, identify errors, and to transform it into different written forms for comparative linguistics research.

CC BYComputer ScienceLinguistics 0 views