Search
Filters ▾

External
The Little Book of Semaphores
Allen Downey · Green Tea Press · 2016
The Little Book of Semaphores is a free (in both senses of the word) textbook that introduces the principles of synchronization for concurrent programming. In most computer science curricula, synchronization is a module in an Operating Systems class. OS textbooks present a standard set of problems with a standard set of solutions, but most students don't get a good understanding of the material or the ability to solve similar problems. The approach of this book is to identify patterns that are useful for a variety of synchronization problems and then show how they can be assembled into solutions. After each problem, the book offers a hint before showing a solution, giving students a better chance of discovering solutions on their own. The book covers the classical problems, including "Readers-writers," "Producer-consumer", and "Dining Philosophers." In addition, it collects a number of not-so-classical problems, some written by the author and some by other teachers and textbook writers. Readers are invited to create and submit new problems.

External
Physical Modeling in MATLAB
Allen Downey · Green Tea Press · 2021
Modeling and simulation are powerful tools for explaining the world, making predictions, designing things that work, and making them work better. Learning to use these tools can be difficult; this book is my attempt to make the experience as enjoyable and productive as possible. By reading this book — and working on the exercises — you will learn some programming, some modeling, and some simulation: With basic programming skills, you can create models for a wide range of physical systems. My goal is to help you develop these skills in a way you can apply immediately to real-world problems. This book presents the entire modeling process, including model selection, analysis, simulation, and validation. I explain this process in Chapter 1, and there are examples throughout the book. Simulation is an approach to modeling that uses computer programs to implement models and generate predictions. This book shows how simulations are used to run experiments, answer questions, and guide decision-making.

External
How to Think Like a Computer Scientist: Learning with Python
Allen Downey; Jeff Elkner; Chris Meyers · Green Tea Press · 2008
How to Think Like a Computer Scientist: Learning with Python is an introduction to programming using Python.

External
Essentials of Geographic Information Systems
Jonathan Campbell; MIchael Shin · Saylor Foundation · 2011
Essentials of Geographic Information Systems integrates key concepts behind the technology with practical concerns and real-world applications. Recognizing that many potential GIS users are nonspecialists or may only need a few maps, this book is designed to be accessible, pragmatic, and concise. Essentials of Geographic Information Systems also illustrates how GIS is used to ask questions, inform choices, and guide policy. From the melting of the polar ice caps to privacy issues associated with mapping, this book provides a gentle, yet substantive, introduction to the use and application of digital maps, mapping, and GIS. In today's world, learning involves knowing how and where to search for information. In some respects, knowing where to look for answers and information is arguably just as important as the knowledge itself. Because Essentials of Geographic Information Systems is concise, focused, and directed, readers are encouraged to search for supplementary information and to follow up on specific topics of interest on their own when necessary. Essentials of Geographic Information Systems provides the foundations for learning GIS, but readers are encouraged to construct their own individual frameworks of GIS knowledge. The benefits of this approach are two-fold. First, it promotes active learning through research. Second, it facilitates flexible and selective learning—that is, what is learned is a function of individual needs and interest. Since GIS and related geospatial and navigation technology change so rapidly, a flexible and dynamic text is necessary in order to stay current and relevant. Though essential concepts in GIS tend to remain constant, the situations, applications, and examples of GIS are fluid and dynamic. Though this book is intended for use in introductory GIS courses, Essentials of Geographic Information Systems will also appeal to the large number of certificate, professional, extension, and online programs in GIS that are available today.

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.

External
Programming Languages: Application and Interpretation
Shriram Krishnamurthi · Brown University · 2007
Unlike some other textbooks, this one does not follow a top-down narrative. Rather it has the flow of a conversation, with backtracking. We will often build up programs incrementally, just as a pair of programmers would. We will include mistakes, not because I don't know the answer, but because this is the best way for you to learn. Including mistakes makes it impossible for you to read passively: you must instead engage with the material, because you can never be sure of the veracity of what you're reading. At the end, you'll always get to the right answer. However, this non-linear path is more frustrating in the short term (you will often be tempted to say, “Just tell me the answer, already!”), and it makes the book a poor reference guide (you can't open up to a random page and be sure what it says is correct). However, that feeling of frustration is the sensation of learning. I don't know of a way around it. At various points you will encounter this: ExerciseThis is an exercise. Do try it. This is a traditional textbook exercise. It's something you need to do on your own. If you're using this book as part of a course, this may very well have been assigned as homework. In contrast, you will also find exercise-like questions that look like this: Do Now!There's an activity here! Do you see it? When you get to one of these, stop. Read, think, and formulate an answer before you proceed. You must do this because this is actually an exercise, but the answer is already in the book—most often in the text immediately following (i.e., in the part you're reading right now)—or is something you can determine for yourself by running a program. If you just read on, you'll see the answer without having thought about it (or not see it at all, if the instructions are to run a program), so you will get to neither (a) test your knowledge, nor (b) improve your intuitions. In other words, these are additional, explicit attempts to encourage active learning. Ultimately, however, I can o

External
Information Systems - A Manager's Guide to Harnessing Technology
University of Minnesota Libraries Publishing · 2015
Information Systems: A Manager's Guide to Harnessing Technology is intended for use in undergraduate and/or graduate courses in Management Information Systems and Information Technology. The teaching approach in Information Systems: A Manager's Guide to Harnessing Technology can change this. The text offers a proven approach that has garnered student praise, increased IS enrollment, and engaged students to think deeper and more practically about the space where business and technology meet. Every topic is related to specific business examples, so students gain an immediate appreciation of its importance. Rather than lead with technical topics, the book starts with strategic thinking, focusing on big-picture issues that have confounded experts but will engage students. And while chapters introduce concepts, cases on approachable, exciting firms across industries further challenge students to apply what they've learned, asking questions like: Why was Netflix able to repel Blockbuster and WalMart? How did Harrah's Casino's become twice as profitable as comparably-sized Caesar's, enabling the former to acquire the latter? How does Spain's fashion giant Zara, a firm that shuns the sort of offshore manufacturing used by every other popular clothing chain, offer cheap fashions that fly off the shelves, all while achieving growth rates and profit margins that put Gap to shame? Why do technology markets often evolve into winner-take-all or winner take-most scenarios? And how can managers compete when these dynamics are present? Why is Google more profitable than Disney? How much is Facebook really worth? The teaching approach in this text encourages students to think deeper and more practically about the space where business and technology meet. Every topic is related to specific business examples, so students gain an immediate appreciation of its importance. Rather than starting with technical topics, the book starts with strategic thinking, focusing on big-picture issues t
External
Introduction to Python Programming
Udayan Das; Aubrey Lawson; Chris Mayfield; Narges Norouzi · OpenStax, Rice University
Introduction to Python Programming provides a comprehensive foundation in programming concepts and skills, and it is aligned to the scope of most introductory courses. A wide array of scenarios, contexts, and problems reflect programming applications in many disciplines and careers. The offering is suitable for a diverse learner audience, including those pursuing computer science, business, science, social science, statistics, data science, and related areas of study and employment. Introduction to Python Programming is an interactive offering that teaches basic programming concepts, problem-solving skills, and the Python language using hands-on activities. The resource includes a unique, integrated code runner through which students can immediately apply what they learn to check their understanding. Embedded videos, critical thinking exercises, and explorations of external programming tools and activities all contribute to a meaningful and supportive learning experience.
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.
External
Foundations of Information Systems
Dr. Mahesh S. Raisinghani; Amal Alhosban; Dax Bradley; Wade Chumney · OpenStax, Rice University
Foundations of Information Systems aligns to the topics and objectives of most introductory information systems courses in computer science and information technology, as well as in other subject areas such as health and business information systems. The offering helps students understand foundational concepts including hardware, software, database management systems, and data networks. The instruction is based on the ACM/IEEE/AIS curriculum standards for information systems (IS2020) that allow institutions to use the content for the purposes of accreditation for ABET, AACSB, and ACBSP. The material focuses on developing and applying knowledge regarding the collection, processing, storage, distribution, and value of information. Students will also learn about the various interactions between information systems professionals and others in organizations, so that they understand how to collaborate with management, colleagues, customers, and suppliers. Foundations of Information Systems is designed to engage students through a combination of practical, real-world applications and thought-provoking scenarios that promote critical thinking and a deeper understanding of core concepts. The pedagogical approach is centered on making information systems relevant to students from an array of backgrounds and career interests. By connecting theory to practice and encouraging students to explore real-world issues, Foundations of Information Systems equips students with the knowledge and skills necessary for success in their academic and professional journeys.

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.

External
Gestión Inteligente Sinergias en las Tecnologías de la Información y Comunicación
Miguel Fabricio Boné-Andrade; Luis Alfonso Núñez-Freire; Ramiro Enrique Guamán-Chávez · Editorial Grupo AEA · 2024
El libro aborda los desafíos y oportunidades de la inclusión digital, especialmente en el contexto rural de América Latina. Los capítulos iniciales analizan la transformación digital y sus efectos en áreas rurales, destacando la importancia de las TIC para mejorar la calidad de vida y reducir la brecha digital. Posteriormente, se examina el analfabetismo digital como barrera para la inclusión social, con propuestas para políticas de alfabetización que respondan a las necesidades de comunidades vulnerables. Los capítulos centrales exploran la alfabetización digital en Ecuador, enfatizando la infraestructura y las competencias digitales como ejes esenciales. La obra también cubre el rol de la educación superior en la inclusión digital, mostrando ejemplos de vinculación comunitaria por parte de universidades. Los capítulos finales presentan casos de uso de tecnologías en pequeñas empresas para optimizar procesos y mejorar la competitividad, y se discute la relevancia de la ciberseguridad en la era digital. En conjunto, el libro ofrece una perspectiva práctica y teórica, orientada a fomentar la participación equitativa en el ámbito digital, proponiendo soluciones adaptadas a contextos locales.

External
Inteligencia Artificial Aplicada a Procesamiento de Lenguaje Natural (NLP) con Python y Machine Learning.
Lady Mariuxi Sangacha-Tapia; Ricardo Javier Celi; Ivan Leonel Acosta-Guzmán; Eleanor Alexandra Varela-Tapia · Editorial Grupo AEA · 2024
Este libro refleja el trabajo realizado bajo investigación entre docentes investigadores con el afán de que sea útil al lector, el uso de predicciones al momento de entrenar un algoritmo clasificado de texto en procesamiento de lenguaje natural (PLN) basado en machine learning. Conformado de 4 capítulos con la utilidad para el inicio al mundo de la IA de la rama de procesamiento de lenguaje natural con Python en machine learning. El Capítulo 1 menciona conceptos y la evolución de las diferentes ramas de conocimiento que abarca la inteligencia artificial (AI), el entendimiento del NLP, machine learning, tipos de aprendizaje para resolver problemas como el supervisado, no supervisado y refuerzo. Capítulo 2 se profundiza el NLP conociendo los contenidos básicos de clasificación como: Las técnicas y diseño de LSTM, tokeización, stopword, lematización, bag of Word (part of speech tagging). Capítulo 3 es la estructuración de este capítulo el conocer las definiciones de los modelos de aprendizaje supervisado que son útiles en NLP orientado a la clasificación de texto. Capítulo 4 un caso de predicción o grado de asertividad del modelamiento de un algoritmo, la intención es demostrar la utilización de un modelo y varias técnicas aplicando NLP basado en machine learning.

External
Inteligencia Artificial Aplicada con técnicas de Procesamiento de Lenguaje Natural y Machine Learning en el campo de la salud.
Eleanor Alexandra Varela-Tapia; Ivan Leonel Acosta-Guzmán; Jorge Alberto Oviedo-Peñafiel · Editorial Grupo AEA · 2024
La Inteligencia Artificial (IA), el Procesamiento del Lenguaje Natural (NLP) y el Aprendizaje Automático (ML) han jugado un papel crucial en la lucha contra la pandemia de Covid-19, proporcionando herramientas tecnológicas valiosas para el diagnóstico, seguimiento y control de la enfermedad, implementándose soluciones con IA para mitigar sus efectos. Se propone el diseño de un modelo de ML aplicando técnicas NLP en el preprocesamiento de texto para poder evaluar la eficacia del análisis de datos en conversaciones de personas contagiadas del coronavirus SARS-CoV-2. Se recopiló información de redes sociales como Twitter y Facebook, y encuestas a contagiados de Covid-19 en la Zona 8 de la provincia del Guayas. Con estos datos, se entrenó un sistema de clasificación textual utilizando los algoritmos de Soporte de Máquina Vectorial y Random Forest. El estudio resultó en una precisión del 96% en ambos modelos, demostrando su viabilidad para la creación e implementación de clasificadores de texto. Se logró mejorar el rendimiento del modelo, reduciendo las categorías con más de 200 ocurrencias, lo que resultó en una precisión más elevada sin diferencias significativas entre ambos modelos. Por último, se desarrolló un sitio web capaz de clasificar correctamente los síntomas y recomendaciones comentadas por los pacientes.

External
Ingeniería del Software II: Implementación, Pruebas y Mantenimiento
Ricardo Javier Celi-Párraga; Miguel Fabricio Boné-Andrade; Aldo Patricio Mora-Olivero; Juan Carlos Sarmiento-Saavedra · Editorial Grupo AEA · 2023
En este libro se investigó los procesos de implementación, pruebas y mantenimiento de la ingeniería del software y se documentó los diferentes tipos de pruebas de software para validar el correcto funcionamiento de un software, se documentó también los procesos de evolución de un software para lograr un correcto mantenimiento del software. Este libro tiene como objetivo aplicar los conceptos y teorías de validación del software con el fin de crear de software de calidad, confiable, que se encuentre disponible, protegido y seguro, para que el profesional de sistemas informáticos sea capaz de gestionar con eficiencia y en ambientes éticos y de responsabilidad proyectos inmersos en la creación software. Se investigó varios libros llegando a realizar un compendio de las partes más importantes y se llegó a la conclusión de que la ingeniería del software proporciona varias técnicas para la evaluación y validación del software y varias metodologías para el desarrollo de software confiable y seguro que el profesional puede utilizar dependiendo las diferentes necesidades, situaciones o proyectos a desarrollar

External
Ingeniería del Software I: Requerimientos y Modelado del Software
Ricardo Javier Celi-Párraga; Miguel Fabricio Boné-Andrade; Aldo Patricio Mora-Olivero; Juan Carlos Sarmiento-Saavedra · Editorial Grupo AEA · 2023
En este libro se investigó los fundamentos de la ingeniería del software y se documentó los conceptos básicos del software y los procesos para la creación de software, se documentó también cómo llevar a cabo un análisis de requerimientos de software, cuáles son los tipos de requerimientos, cómo obtenerlos, documentarlos, validarlos y modelarlos mediante diferentes tipos de diagramas. Este libro tiene como objetivo aplicar los conceptos y teorías de administración para la creación de software de calidad mediante las diferentes metodologías, técnicas y herramientas de la ingeniería del software para que el profesional de sistemas informáticos sea capaz de gestionar con eficiencia y en ambientes éticos y de responsabilidad proyectos inmersos en la creación software. Se investigó varios libros llegando a realizar un compendio de las partes más importantes y se llegó a la conclusión de que la ingeniería del software proporciona varias metodologías para el desarrollo del software y varios modelos para el diseño de software que el profesional puede utilizar dependiendo las diferentes necesidades o las diferentes situaciones o proyectos a desarrollar.

External
Evolución del Computador desde el ABC de su Arquitectura hasta la Construcción de una PC Gamer
Gerardo Alfredo Solano-Gutiérrez; Luis Alfonso Núñez-Freire; José Javier Mendoza-Loor · Editorial Grupo AEA · 2023
El libro es una obra completa que aborda distintos aspectos importantes de la informática, desde la arquitectura y organización de la computadora hasta la construcción de una PC gamer. En el primer capítulo se explica de manera detallada la arquitectura y organización de los ordenadores, mientras que en el segundo se analizan las diferentes generaciones de ordenadores y su evolución a lo largo del tiempo, llegando hasta la inteligencia artificial. El tercer capítulo está dedicado a la memoria de la computadora y su funcionamiento, mientras que en el cuarto se explican las herramientas necesarias para el mantenimiento y la reparación de la PC, desde la clonación de discos duros hasta la construcción de dispositivos multi boot. Por último, el quinto capítulo se enfoca en las PC gamer's y ofrece una guía completa para los entusiastas de los juegos, brindando un procedimiento paso a paso para construir su propio PC gamer. Este libro es valioso tanto para estudiantes de sistemas como para profesionales de la computación, ya que cubre temas fundamentales como la arquitectura y organización de computadoras, historia y evolución, el diseño de computadoras, la memoria, las herramientas de mantenimiento y reparación de computadoras, y cómo armar una computadora de mayor rendimiento para usuarios jugadores. En resumen, esta obra ofrece información útil y completa sobre la evolución de la computadora, desde sus inicios hasta la actualidad, y brinda herramientas y consejos prácticos para su uso y mantenimiento

External
Programación Web del Frontend al Backend
Ricardo Javier Celí Párraga; Miguel Fabricio Boné Andrade; Aldo Patricio Mora Olivero · Editorial Grupo AEA · 2023
En este libro se investigó los fundamentos de la programación web, así como las tecnologías esenciales para lograr crear aplicaciones web, tales como HTML y CSS. Se documentó los conceptos básicos de la programación Frontend utilizando el lenguaje de programación JavaScript, se documentó también los conceptos de la programación Backend utilizando el lenguaje de programación PHP. Este libro tiene como objetivo involucrarse en la programación web iniciando con el estudio del Frontend hasta el Backend con los conceptos básicos, códigos y ejemplos, utilizando tecnologías de programación gratuitas accesibles para cualquier estudiante, para llegar a crear aplicaciones dinámicas con acceso a base de datos. Como resultado se obtuvo que se puede llegar a crear aplicaciones web complejas utilizando tecnologías actuales gratuitas, con un diseño agradable, diseñándolo fácilmente con un Framework CSS como Bootstrap, y utilizando JQuery como una librería para crear rápidamente aplicaciones con JavaScript. Se utilizó además PHP por ser uno de los lenguajes más utilizados para crear aplicaciones conectadas a bases de datos MySQL.

External
Pro Git: Everything You Need to Know About Git (Ukranian)
Scott Chacon; Ben Straub · Apress · 2014
The entire Pro Git book, written by Scott Chacon and Ben Straub and published by Apress, is available here. All content is licensed under the Creative Commons Attribution Non Commercial Share Alike 3.0 license. Print versions of the book are available on Amazon.com. The version found here has been updated with corrections and additions from hundreds of contributors. If you see an error or have a suggestion, patches and issues are welcome in its GitHub repository.

External
Pro Git: Everything You Need to Know About Git (Slovenian)
Scott Chacon; Ben Straub · Apress · 2014
The entire Pro Git book, written by Scott Chacon and Ben Straub and published by Apress, is available here. All content is licensed under the Creative Commons Attribution Non Commercial Share Alike 3.0 license. Print versions of the book are available on Amazon.com. The version found here has been updated with corrections and additions from hundreds of contributors. If you see an error or have a suggestion, patches and issues are welcome in its GitHub repository.