Phu Xuan University Library

Digital library

Textbooks, references and open learning resources.

Process Improvement using Data

External

Process Improvement using Data

Kevin Dunn · Kevin Dunn · 2026

There is no other free, coherent text that covers what engineers and scientists actually do with process data (visualization, regression, designed experiments, process monitoring, and multivariate / latent-variable methods) in one volume. Most textbooks pick one of those topics and go deep. Practitioners need all of them, and need to see how they fit together, because real industrial problems don't respect chapter boundaries. Process Improvement using Data was written to fill that gap, and has been continuously refined in industry-facing classrooms and in industrial practice since 2010. It is suitable for upper-undergraduate or introductory-graduate courses, and for self-study by working engineers and data scientists with a basic statistics background.

CC BY-SAEngineering & TechnologyMathematics 0 views
Digital Design: A Datapath and Control

External

Digital Design: A Datapath and Control

Christopher Coulston · Colorado School of Mines · 2024

This text was written for faculty and students wanting a structured approach to the design of complex digital systems. It guides students and faculty through the process by exposing critical skills gradually through the text.

CC BY-NC-SAEngineering & Technology 0 views
Network quality control

External

Network quality control

Peter Teunissen · TU Delft Open · 2024

The aim of computing a geodetic network is to determine the geometry of the configuration of a set of points from spatial observations (e.g. GPS baselines and/or terrestrial measurements). The configuration of points usually consists of newly established points, of which the coordinates still need to be determined, and already existing points, the so-called control points, of which the coordinates are known. Network quality control deals with the qualitative aspects of network design, network adjustment, network validation and network connection. By means of a network adjustment the relative geometry of the new points is determined and integrated into the geometry of the existing control points. Prior to the network adjustment, the geometry of the network is designed on the basis of precision and reliability criteria. The adjustment and validation of the overall geometry can be divided in two phases, the free network phase and the connected network phase. In the free network phase, the known coordinates of the control points do not take part in the adjustment and validation. The possible use of a free network phase is based on the idea that a good geodetic network should be sufficiently precise and reliable in itself, without the need of external control. Moreover, it allows one to validate the quality of the external control. In the connected network phase, the geometry of the free network is integrated into the geometry of the control points. Adjustment and validation in this second phase differs from the free network phase. The adjustment in the second phase is a constrained connection adjustment, since it is often not practical to see the coordinates of the control points change every time a free network is connected to them. For the validation of the connected network however, the unconstrained connected adjustment is used as input. This allows one to take the intrinsic uncertainty of the coordinates of the control points in the connection phase into account. T

CC BYCivil EngineeringEngineering & Technology 0 views
Design for Electrical and Computer Engineers

External

Design for Electrical and Computer Engineers

Christopher Coulston; Ralph Ford · Ralph Ford and Christopher Coulston · 2024

Originally published by McGraw Hill in 2009, Design for Electrical and Computer Engineers is written for students and teachers engaged in electrical and computer engineering design projects, primarily in the senior year. It guides students and faculty through the steps necessary for the successful execution of design projects. The objective is to provide a treatment of the design process with a sound academic basis that is integrated with practical application. The foundation of the book is a strong vision — that a solid understanding of the Design Process, Design Tools, and the right mix of Professional Skills are critical for project and career success. This text is unique in providing a comprehensive design treatment for electrical and computer engineering.

CC BY-NC-SAElectrical EngineeringEngineering & Technology 0 views
Dynamic data processing: Recursive least-squares

External

Dynamic data processing: Recursive least-squares

Peter Teunissen · TU Delft Open · 2024

This book is a follow-up on Adjustment theory. It extends the theory to the case of time-varying parameters with an emphasis on their recursive determination. Least-squares estimation will be the leading principle used. A least-squares solution is said to be recursive when the method of computation enables sequential, rather than batch, processing of the measurement data. The recursive equations enable the updating of parameter estimates for new observations without the need to store all past observations. Methods of recursive least-squares estimation are therefore particularly useful for applications in which the time-varying parameters need to be instantly determined. Important examples of such applications can be found in the fields of real-time kinematic positioning, navigation and guidance, or multivariate time series analysis. The goal of this book is therefore to convey the necessary knowledge to be able to process sequentially collected measurements for the purpose of estimating time-varying parameters. When determining time-varying parameters from sequentially collected measurement data, one can discriminate between three types of estimation problems: filtering, prediction and smoothing. Filtering aims at the determination of current parameter values, while smoothing and prediction aim at the determination of respectively past and future parameter values. The emphasis in this book will be on recursive least-squares filtering. The theory is worked out for the important case of linear(ized) models. The measurement-update and time-update equations of recursive least-squares are discussed in detail. Models with sequentially collected data, but time-invariant parameters are treated first. In this case only the measurement-update equations apply. State-space models for dynamic systems are discussed so as to include time-varying parameters. This includes their linearization and the construction of the state transition matrix. Elements from the theory of random fun

CC BYCivil EngineeringEngineering & Technology 0 views
Microwave and RF Design: Networks

External

Microwave and RF Design: Networks

Michael Steer · North Carolina State University Libraries · 2019

Microwave and RF Design: Networks presents the tools and techniques required to analyze and design microwave and RF circuits. Because of the finite speed of light, microwave circuits must be considered to be spatially distributed and so there is not a single ground. As such metrics that can be used to describe power flow are of most use. The topics covered include scattering parameters, signal flow graphs, and Smith charts. Acquiring expertise in these is the biggest barriers to a successful career in microwave and RF engineering. This book is suitable as both an undergraduate and graduate textbook, as well as a career-long reference book.

CC BY-NCElectrical EngineeringEngineering & Technology 0 views
A Tale of Two Systems

External

A Tale of Two Systems

René Reitsma; Kevin Krueger · Oregon State University · 2017

This is the story of a web-based information system rebuild. The system in question is www.teachengineering.org, a digital library of K-12 engineering curriculum that was built from the ground up with established technology and which for 13 years enjoyed lasting support from its growing user community and its sponsors. These 13 years, however, cover the period during which smart phones and tablets became commonplace, during which the Internet of Things started replacing the Semantic Web, during which NoSQL databases made their way out of the research labs and into everyday development shops, during which we collectively started moving IT functions and services into ‘the cloud,’ and during which computing performance doubled a few times, yet again. During this same period, TeachEngineering’s user base grew from a few hundred to more than 3 million users annually, its collection size quadrupled, it went through several user interface renewals, and significant functionality was added while having an exemplary service record, and it enjoyed continued financial support from its sponsors. In this monograph we provide a side-by-side of this rebuild. We lay out the choices made in the old architecture —we refer to it as TE 1.0— and compare and contrast them with the choices made for TE 2.0. We explain why both the 1.0 and 2.0 choices were made and discuss the advantages and disadvantages associated with them.

CC BY-NC-SAInformation Systems 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
Think Data Structures: Algorithms and Information Retrieval in Java

External

Think Data Structures: Algorithms and Information Retrieval in Java

Allen Downey · Green Tea Press · 2016

Data structures and algorithms are among the most important inventions of the last 50 years, and they are fundamental tools software engineers need to know. But in my opinion, most of the books on these topics are too theoretical, too big, and too bottom-up: Too theoretical: Mathematical analysis of algorithms is based on simplifying assumptions that limit its usefulness in practice. Many presentations of this topic gloss over the simplifications and focus on the math. In this book I present the most practical subset of this material and eliminate the rest. Too big: Most books on these topics are at least 500 pages, and some are more than 1000. By focusing on the topics I think are most useful for software engineers, I kept this book under 250 pages. Too bottom-up: Many data structures books focus on how data structures work (the implementations), with less about how to use them (the interfaces). In this book, I go “top down”, starting with the interfaces. Readers learn to use the structures in the Java Collections Framework before getting into the details of how they work. Finally, many present this material out of context and without motivation: it’s just one damn data structure after another! I try to alleviate the boredom by organizing the topics around an application—web search—that uses data structures extensively, and is an interesting and important topic in its own right. This application also motivates some topics that are not usually covered in an introductory data structures class, including persistent data structures, with Redis, and streaming algorithms. This book also presents basic aspects of software engineering practice, including version control and unit testing. Each chapter ends with an exercise that allows readers to apply what they have learned. Each exercise includes automated tests that check the solution. And for most exercises, I present my solution at the beginning of the next chapter. This book is intended for college students in computer

CC BY-NC-SAComputer Science 0 views
How to Think Like a Computer Scientist: C Version

External

How to Think Like a Computer Scientist: C Version

Allen Downey; Thomas Scheffler · Green Tea Press · 1999

The goal of this book is to teach you to think like a computer scientist. I like the way computer scientists think because they combine some of the best features of Mathematics, Engineering, and Natural Science. Like mathematicians, computer scientists use formal languages to denote ideas (specifically computations). Like engineers, they design things, assembling components into systems and evaluating trade offs among alternatives. Like scientists, they observe the behavior of complex systems, form hypotheses, and test predictions.The single most important skill for a computer scientist is problem-solving. By that I mean the ability to formulate problems, think creatively about solutions, and express a solution clearly and accurately. As it turns out, the process of learning to program is an excellent opportunity to practice problem-solving skills. That’s why this chapter is called “The way of the program.”

CC BY-NCComputer ScienceProgramming Languages 0 views
How to Think Like a Computer Scientist: C++ Version

External

How to Think Like a Computer Scientist: C++ Version

Allen Downey · Green Tea Press · 2012

The goal of this book is to teach you to think like a computer scientist. I like the way computer scientists think because they combine some of the best features of Mathematics, Engineering, and Natural Science. Like mathematicians,computer scientists use formal languages to denote ideas (specifically computations). Like engineers, they design things, assembling components into systems and evaluating trade offs among alternatives. Like scientists, they observe the behavior of complex systems, form hypotheses, and test predictions.The single most important skill for a computer scientist is problem-solving. By that I mean the ability to formulate problems, think creatively about solutions, and express a solution clearly and accurately. As it turns out, the process of learning to program is an excellent opportunity to practice problem-solving skills. That’s why this chapter is called “The way of the program.”

CC BY-NCComputer ScienceProgramming Languages 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
Think Python: How to Think Like a Computer Scientist

External

Think Python: How to Think Like a Computer Scientist

Allen Downey · Green Tea Press · 2012

Think Python is a concise introduction to software design using the Python programming language. Intended for people with no programming experience, this book starts with the most basic concepts and gradually adds new material. Some of the ideas students find most challenging, like recursion and object-oriented programming, are divided into a sequence of smaller steps and introduced over the course of several chapters. This textbook has been used in classes at Bard College, Olin College of Engineering, University of California, Santa Barbara, University of Maine, University of Northern Colorado.

CC BY-NCComputer ScienceProgramming Languages 0 views
Introduction to Computer Science

External

Introduction to Computer Science

Dr. Jean-Claude Franchitti; Amal Alhosban; Mark Buckler; Joanna Gilberti · OpenStax, Rice University

Introduction to Computer Science provides a comprehensive foundation in core computer science concepts and principles, aligning with the scope and sequence of most introductory computer science courses. The offering serves as an engaging entry point for students pursuing diverse fields of study and employment, including computer science, business, engineering, data science, social sciences, and related disciplines. By addressing a broad learner audience—ranging from computer science majors to non-majors—the book offers a thorough introduction to computational thinking and its applications across multiple domains. Introduction to Computer Science is designed to be both interactive and practical, focusing on real-world applications that showcase how core computer science concepts can be used to solve complex problems. Students will explore foundational concepts, such as algorithms, data structures, computer systems organization, and software development, using an array of engaging, hands-on activities. Introduction to Computer Science also includes advanced topics such as machine learning, cybersecurity, and cloud computing, ensuring students have a solid foundation for continued study and future professional success. The offering integrates meaningful learning experiences through chapter-based scenarios, problem-solving exercises, embedded coding activities, and project-based assessments that encourage students to apply what they learn in authentic contexts. The material also includes an array of industry insights and explorations of emerging technology trends in order to provide a holistic approach to learning that extends beyond theory.

CC BY-NC-SAComputer Science 0 views
Del ágora a la nube: El destino de las humanidades en la era de la IA

External

Del ágora a la nube: El destino de las humanidades en la era de la IA

Karles Hoffmann-Jaramillo; Carlos Flores-Murillo; Eduardo Baidal-Bustamante · Editorial Grupo AEA · 2025

Explora la evolución del pensamiento crítico desde la Antigua Grecia hasta la era digital, analizando el impacto de la inteligencia artificial (IA) en la educación y la sociedad. Se inicia con una comparación entre el Ágora ateniense, donde se gestó el debate filosófico y la democracia, y los entornos digitales actuales, donde el acceso a la información ha cambiado la forma en que aprendemos. Se resalta cómo la enseñanza de Sócrates, Platón y Aristóteles, basada en el diálogo y la argumentación, sigue siendo relevante para desarrollar el pensamiento crítico en un mundo saturado de datos. En la era digital, la IA ha transformado la educación mediante herramientas que personalizan el aprendizaje y facilitan el acceso a información. Sin embargo, también plantea riesgos como la dependencia tecnológica, los sesgos algorítmicos y la pérdida de autonomía intelectual. El libro enfatiza la necesidad de equilibrar el uso de la tecnología con metodologías pedagógicas que fomenten la reflexión y el análisis crítico. Otro desafío clave es la desinformación, impulsada por la sobreabundancia de datos y la rapidez con la que circula la información en redes sociales. Ante esto, se propone fortalecer la capacidad de los estudiantes para evaluar fuentes, cuestionar datos y construir conocimientos con base en el análisis riguroso. Finalmente, la obra concluye que el futuro de la educación no debe estar centrado solo en la tecnología, sino en la formación de ciudadanos críticos y reflexivos. La IA puede ser una aliada en este proceso, pero es fundamental preservar la esencia humanista del aprendizaje, asegurando que la educación siga siendo un espacio de cuestionamiento, creatividad y pensamiento autónomo.

CC BY-NC-SAComputer ScienceEngineering & Technology 0 views
CS 113 Programming in Java

External

CS 113 Programming in Java

Milan Samplewala · Los Angeles Mission College

LibreTexts

CC BYEngineering 0 views
Web Animation

External

Web Animation

Patrick McClanahan · San Joaquin Delta College

LibreTexts

CC BY-SAEngineering 0 views
INT 2080: The Missing Link - An Introduction to Web Development (Mendez)

External

INT 2080: The Missing Link - An Introduction to Web Development (Mendez)

Kunle Elebute · Prince George's Community College

LibreTexts

Engineering 0 views