Thư viện số
Giáo trình, tài liệu tham khảo và tài nguyên học tập mở.

Nguồn ngoài
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

Nguồn ngoài
Implementing a One Address CPU in Logisim
Charles Kann · A.T. Still University · 2016
Most computer users have an incorrect, but useful, cognitive metaphor for computers in which the user says (or types or clicks) something and a mystical, almost intelligent or magical, behavior happens. It is not a stretch to describe computer users as believing computers follow the laws of magic, where some magic incantation is entered, and the computer responds with an expected, but magical, behavior. This magic computer does not actually exist. In reality computer are machines, and every action a computer performs reduces to a set of mechanical operations. In fact the first complete definition of a working computer was a mechanical machine designed by Charles Babbage in 1834, and would have run on steam power. Probably the biggest success of Computer Science (CS) in the 20th century was the development of abstractions that hide the mechanical nature of computers. The fact that average people use computers without ever considering that they are mechanistic is a triumph of CS designers. This purpose of this monograph is to break the abstract understanding of a computer, and to explain a computer's behavior in completely in mechanistic terms. It will deal specifically with the Central Processing Unit (CPU) of the computer, as this is where the magic happens. All other parts of a computer can be seen as just providing information for the CPU to operate on. This monograph will deal with a specific type of CPU, a one-address CPU, and will explain this CPU using only standard gates, specifically AND, OR, NOT, NAND and XOR gates, and 4 basic Integrated Circuits (ICs), the Decoder, Multiplexer, Adder, and Flip Flop. All of these gates and components can be described as mechanical transformations of input data to output data, and the overall CPU can then be seen as a mechanical device.

Nguồn ngoài
Enterprise Pharo a Web Perspective
Square Bracket Associates · 2016
Enterprise Pharo is the third volume of the series, following Pharo by Example and Deep into Pharo. It covers enterprise libraries and frameworks, and in particular those useful for doing web development. The book is structured in five parts. The first part talks about simple web applications, starting with a minimal web application in chapter 1 on Teapot and then a tutorial on building a more complete web application in chapter 2. Part two deals with HTTP support in Pharo, talking about character encoding in chapter 3, about using Pharo as an HTTP Client (chapter 4) and server (chapter 5), and about using WebSockets (chapter 6).In the third part we discuss the handling of data for the application. Firstly we treat data that is in the form of comma-separated values (CSV) in chapter 7. Secondly and thirdly, we treat JSON (chapter 8) and its Smalltalk counterpart STON (chapter 9). Fourthly, serialization and deserialization of object graphs with Fuel is treated in chapter 10. Lastly, we discuss the Voyage persistence framework and persisting to MongoDB databases in chapter 11. Part four deals with the presentation layer. Chapter 12 shows how to use Mustache templates in Pharo, and chapter 13 talks about programmatic generationof CSS files. The documentation of applications could be written in Pillar, which is presented in chapter 14. How to generate PDF files from the application with Artefact is shown in chapter 15. The fifth part deals with deploying the web application. This is explained in chapter 16 that talks not only about how to build and run the application, but also other important topics like monitoring.

Nguồn ngoài
Relational Databases and Microsoft Access 365
Ron McFadyen · Ron McFadyen · 2021
This text is a free introductory text that introduces MS Access and relational database design. The motivation is to support an introductory database system course which, to the student, is either a service course providing an introduction to database concepts, or, as a prerequisite for more advanced study in the field.

Nguồn ngoài
Database Design
Adrienne Watt · BCcampus · 2014
This second edition of Database Design book covers the concepts used in database systems and the database design process. Topics include: The history of databases Characteristics and benefits of databases Data models Data modelling Classification of database management systems Integrity rules and constraints Functional dependencies Normalization Database development process New to this edition are more examples, highlighted and defined key terms, both throughout and at the end of each chapter, and end-of-chapter review exercises. Two new chapters have been added on SQL, along with appendices that include a data model example, sample ERD exercises and SQL lab with solutions.

Nguồn ngoài
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

Nguồn ngoài
Signal Computing: Digital Signals in the Software Domain
Michael Stiber; Bilin Stiber; Eric Larson · Michael Stiber, Eric Larson · 2020
In this book, you will learn how digital signals are captured, represented, processed, communicated, and stored in computers. The specific topics we will cover include: physical properties of the source information (such as sound or images), devices for information capture (microphones, cameras), digitization, compression, digital signal representation (JPEG, MPEG), digital signal processing (DSP), signal analysis and feature extraction via re-representation as functions of frequency, and network communication. By the end of this book, you should understand the problems and solutions facing signal computing systems development in the areas of data structures and algorithms, data analytics, feature extraction, information retrieval, user interfaces, and communications.

Nguồn ngoài
Think Stats: Probability and Statistics for Programmers
Allen Downey · Green Tea Press · 2014
Think Stats is an introduction to Probability and Statistics for Python programmers. Think Stats emphasizes simple techniques you can use to explore real data sets and answer interesting questions. The book presents a case study using data from the National Institutes of Health. Readers are encouraged to work on a project with real datasets. If you have basic skills in Python, you can use them to learn concepts in probability and statistics. Think Stats is based on a Python library for probability distributions (PMFs and CDFs). Many of the exercises use short programs to run experiments and help readers develop understanding.

Nguồn ngoài
Spatial Thinking in Planning Practice: An Introduction to GIS
Yiping Fang; Vivek Shandas; Eugenio Cordero · Portland State University Library · 2014
The goals of this textbook are to help students acquire the technical skills of using software and managing a database, and develop research skills of collecting data, analyzing information and presenting results. We emphasize that the need to investigate the potential and practicality of GIS technologies in a typical planning setting and evaluate its possible applications. GIS may not be necessary (or useful) for every planning application, and we anticipate these readings to provide the necessary foundation for discerning its appropriate use. Therefore, this textbook attempts to facilitate spatial thinking focusing more on open-ended planning questions, which require judgment and exploration, while developing the analytical capacity for understanding a variety of local and regional planning challenges. While this textbook provides the background for understanding the concepts in GIS as applicable to urban and regional planning, it is best when accompanied by a hands-on tutorial, which will enable readers to develop an in-depth understanding of the specific planning applications of GIS. In the end of each chapter, we also provided several discussion questions, together with contextual applications through some web links.

Nguồn ngoài
Open Data Structures: An Introduction
Pat Morin · Athabasca University Press · 2013
Offered as an introduction to the field of data structures and algorithms, Open Data Structures covers the implementation and analysis of data structures for sequences (lists), queues, priority queues, unordered dictionaries, ordered dictionaries, and graphs. Focusing on a mathematically rigorous approach that is fast, practical, and efficient, Morin clearly and briskly presents instruction along with source code. Analyzed and implemented in Java, the data structures presented in the book include stacks, queues, deques, and lists implemented as arrays and linked-lists; space-efficient implementations of lists; skip lists; hash tables and hash codes; binary search trees including treaps, scapegoat trees, and red-black trees; integer searching structures including binary tries, x-fast tries, and y-fast tries; heaps, including implicit binary heaps and randomized meldable heaps; graphs, including adjacency matrix and adjacency list representations; and B-trees. A modern treatment of an essential computer science topic, Open Data Structures is a measured balance between classical topics and state-of-the art structures that will serve the needs of all undergraduate students or self-directed learners.

Nguồn ngoài
Operating Systems and Middleware: Supporting Controlled Interaction
Max Hailperin · Max Hailperin · 2015
In this book, you will learn about all three kinds of interaction. In all three cases, interesting software techniques are needed in order to bring the computations into contact, yet keep them suffciently at arm's length that they don't compromise each other's reliability. The exciting challenge, then, is supporting controlled interaction. This includes support for computations that share a single computer and interact with one another, as your email and word processing programs do. It also includes support for data storage and network communication. This book describes how all these kinds of support are provided both by operating systems and by additional software layered on top of operating systems, which is known as middleware. Chapter 1 provides an overview of the text as a whole, explaining what an operating system is, what middleware is, and what sorts of support these systems provide for controlled interaction. The next nine chapters work through the varieties of controlled interac- tion that are exemplified by the scenario at the beginning of the preface: in- teraction between concurrent computations on the same system (as between your email program and your word processor), interaction across time (as between your word processor before your trip and your word processor after your trip), and interaction across space (as between your email program and your service provider's email server). The first of these three topics is controlled interaction between computa- tions operating at one time on a particular computer. Before such interaction can make sense, you need to understand how it is that a single computer can be running more than one program, such as an email program in one window and a word processing program in another. Therefore, Chapter 2 explains the fundamental mechanism for dividing a computer's attention between concurrent computations, known as threads. Chapter 3 continues with the related topic of scheduling. That is, if the computer is dividin

Nguồn ngoài
Algorithms and Data Structures With Applications to Graphics and Geometry
Jurg Nievergelt; Klaus Hinrichs · Global Text Project · 2011
An introductory coverage of algorithms and data structures with application to graphics and geometry.

Nguồn ngoài
Programming Fundamentals - A Modular Structured Approach using C++
Kenneth Busbee · OpenStax CNX · 2013
Programming Fundamentals - A Modular Structured Approach using C++ is written by Kenneth Leroy Busbee, a faculty member at Houston Community College in Houston, Texas. The materials used in this textbook/collection were developed by the author and others as independent modules for publication within the Connexions environment. Programming fundamentals are often divided into three college courses: Modular/Structured, Object Oriented and Data Structures. This textbook/collection covers the first of those three courses. The learning modules of this textbook/collection were written as standalone modules. Students using a collection of modules as a textbook will usually view it contents by reading the modules sequentially as presented by the author of the collection. The learning modules of this textbook/collection were, for the most part, written without consideration of a speci??c programming language. In many cases the C++ language is discussed as part of the explanation of the concept. Often the examples used for C++ are exactly the same for the Java programming language. However, some modules were written speci??cally for the C++ programming language. This could not beavoided as the C++ language is used in conjunction with this textbook/collection by the author in teaching college courses.

Nguồn ngoài
Business Information Systems: Design an App for That
Raymond Frost; Jacqueline Pike; Lauren Kenyo; Sarah Pels · Saylor Foundation · 2011
We set out to design an introductory course governed by four themes: Give students a good idea of what a career in MIS looks like by doing MIS. Enhance the professionalism of deliverables by teaching design and usability concepts. Promote creativity by assigning projects that demand it. Teach students about cloud computing by having them do cloud computing. Students in an introductory Management Information Systems (MIS) course often ask what a career in MIS looks like. Lacking a clear vision, they make their own assumptions. Often they assume the career involves programming with little human interaction. That MIS is a technical field could not be further from the truth. MIS job descriptions typically require candidates to be able to collaborate, communicate, analyze needs and gather requirements. They also list the need for excellent written and communication skills. In other words, MIS workers are constantly interacting with other people both inside and outside the organization. They are coming up with creative solutions to business problems. This course is designed to help students get a feel for what a career in MIS would be like. Our students report that they learn more about information systems from their internships than from their IS courses. Consequently, we designed a course that looks very much like an internship—an introduction to the field followed by a substantial project. Chapter 1 begins by introducing the information systems landscape. Here we discuss all the usual suspects: the information systems triangle, the systems development life cycle, transaction systems (ERP, SCM, CRM), collaboration systems, and business intelligence systems. Other aspects of the landscape such as usability, outsourcing, database concepts and so forth are introduced throughout chapter in Chapter 2 where they fit in naturally with the flow of the project. Chapter 2 is the substantial project which runs over a number of chapters. Over the course of the semester, students pl

Nguồn ngoài
Gateway to Business Analytics with Microsoft Excel®
Humberto Barreto · PALNI · 2025
Business analytics is a new, expanding subfield with fuzzy edges that overlap into a variety of other established disciplines, including economics, econometrics, computer science, data science, finance, statistics, mathematics, and even psychology. Business analytics includes such traditional techniques as regression and data visualization, but also newer methods such as web scraping, big data, machine learning, and artificial intelligence. Its key distinguishing feature is using data to make and communicate business decisions. This textbook utilizes Microsoft Excel to present a mix of topics appropriate to an undergraduate level introduction to business analytics course with an engaging delivery style.

Nguồn ngoài
Más allá de la digitalización: La necesidad de la transformación digital estratégica
Marcos Antonio Espinoza-Mina; Alejandra Mercedes Colina-Vargas · Editorial Grupo AEA · 2025
En la era actual de disrupción digital, impulsada por avances en IA, Big Data y cambios en las expectativas del cliente, la Transformación Digital Estratégica (TDE) es un imperativo que va más allá de la simple digitalización. Este texto ofrece una guía estratégica integral, basada en investigación académica y análisis de la industria, para navegar esta compleja transición. Se presenta la TDE como un fenómeno holístico y multifacético que requiere la integración coherente de estrategia, cultura organizacional y liderazgo transformador. Es crucial desarrollar agilidad y capacidades dinámicas para la adaptación e innovación continuas. Los pilares clave incluyen el alineamiento estratégico, la creación de valor digital centrado en el cliente, modelos de negocio adaptables, gestión de datos como activo, culturas ágiles y liderazgo digital. Se examina el rol de tecnologías habilitadoras como Cloud (agilidad), IA (eficiencia/personalización) y Analítica Avanzada (decisiones), enfocadas en generar valor empresarial, junto a IoT y Blockchain. El texto también aborda desafíos inherentes como resistencia cultural, ciberseguridad, privacidad y ética de la IA, extrayendo perspectivas de ejemplos y mejores prácticas. Dirigido a estudiantes y profesionales, proporciona un marco integrado, accionable y basado en evidencia para liderar una TDE exitosa y sostenible.