Este libro fue escrito como un 'libro de texto' para carreras universitarias y de formación profesional y, a la vez, como un 'libro de lectura y consulta' pensando en autodidactas y profesionales que desean introducirse en el campo de los sistemas de información. Además, la obra está inspirada en los pilares existentes y futuros de la actual era de la información que consta de cuatro pilares: cloud computing, información (Big Data), movilidad y medios sociales (social media). A lo que se les ha unido con gran intensidad en estos dos últimos años la fuerza o tendencia del Internet de las cosas (IoT) o Internet de todas las cosas (Internet of everything). Su objetivo principal es analizar y describir el rol de los sistemas de información que ayudan de modo muy notable a los administradores (gerentes) y directivos en la toma de decisiones en las organizaciones y empresas. Se han tratado los actuales sistemas de información y, además, enunciado los del futuro soportados en las tecnologías de la información como cualquier otro recurso estratégico organizacional. Un activo que los gerentes, administradores y directivos necesitan utilizar y entender para ser los más eficientes posible en su quehacer diario y capacitarse para planear, seleccionar y administrar del modo más rentable sus organizaciones creando el valor óptimo adecuado a las mismas.
En el libro se recogen una colección de ejercicios y preguntas de test resueltos que abarcan todos los tipos de datos estudiados en el temario de la asignatura. Se engloban en cuatro grandes bloques: tipos lineales (vectores, listas, pilas y colas); tipo árbol (árbol binario, árbol binario de búsqueda, árbol enhebrado, árbol AVL, árbol 2-3, árbol 2-3-4, árbol B y árbol rojo-negro); tipo conjunto (tablas de dispersión y colas de prioridad); tipo grafo. El problema fundamental en el diseño e instrumentación de grandes proyectos o aplicaciones informáticas es reducir su complejidad. Los atributos que permiten simplificar dicha complejidad son los siguientes: legibilidad, corrección, eficiencia, facilidad de mantenimiento y reutilización. A través de la abstracción de datos se pueden obtener estos objetivos. Los autores, pertenecientes al Departamento de Lenguajes y Sistemas Informáticos de la Universidad de Alicante, tienen una dilatada experiencia docente y en estas páginas intentan que el lector adquiera las técnicas y habilidades necesarias para poder resolver con éxito cualquier ejercicio planteado sobre estructuras de datos.
La web se encuentra en pleno apogeo. HTML y CSS son actualmente dos de los lenguajes más conocidos en el mundo y toman parte indisoluble en el desarrollo de páginas web. Estudiar los elementos básicos de estos lenguajes ayuda a comprender el funcionamiento de muchas de las tecnologías que, relacionadas con la red de redes, son utilizadas por millones de personas en el mundo. El libro HTML y CSS Fácil pretende introducir al lector en el fascinante mundo de la programación web mediante numerosos ejemplos didácticos, explicaciones concisas, sencillas y claras, ejercicios al final de cada capítulo y respuestas a cada uno de estos ejercicios al final del libro. Es un libro orientado a estudiantes, programadores, diseñadores y amantes a la programación web que supone un aprendizaje desde cero y hasta nivel profesional. Aborda temas clásicos de los lenguajes a través de varios capítulos y amenizados con agradables ejemplos. Al final, un capítulo dedicado a Twitter BootStrap tiene la intención de mostrar un puente entre ambos lenguajes. Arnaldo Pérez Castaño: es científico de la computación, graduado de la Universidad de la Habana y Técnico Medio en Contabilidad. Este es su tercer libro en español y sirve como reviewer para Journal of Mathematical Modelling and Algorithms in Operations Research de Springer. Es amante de la música, el cine y el arte en general.
Este manual de Metodología de la programación está diseñado para ofrecer al alumno los contenidos necesarios para aprovechar con éxito un curso introductorio sobre los dos principales paradigmas de programación avanzada: la programación orientada a objetos y la programación orientada a eventos. La organización de las Unidades didácticas de este manual está pensada como una continuación natural de un curso de iniciación a la programación, como el que puede encontrarse en el manual de Fundamentos de la programación de esta misma editorial. De esta manera, la primera Unidad describe la metodología básica de desarrollo de programas, así como la recursión. A partir de ahí, se introducen los conceptos teóricos que definen la programación orientada a objetos en las Unidades 2 y 3. Una vez descrita la metodología de programación en este primer paradigma, las Unidades 4, 5, 6 y 7 describen la sintaxis y las principales API que proporciona el lenguaje de programación Java para llevar a cabo el desarrollo de programas mediante la orientación a objetos. En las Unidades 8 y 9 se describe el paradigma de programación orientada a eventos, y de la misma forma se utiliza el lenguaje Java y las API que están especialmente diseñadas para el uso dentro de este paradigma. Para finalizar este manual, la Unidad 10 introduce al alumno en el extenso ámbito del diseño de interfaces, de nuevo usando el lenguaje Java, y como herramienta imprescindible para poder diseñar, usando este manual, una primera aplicación avanzada y atractiva para el usuario final.
El acceso a una base de datos es un requisito imprescindible para las aplicaciones empresariales y también una tarea que puede llegar a resultar compleja. Es preciso utilizar herramientas que, además de facilitar esta labor, nos permitan abstraer la aplicación del origen de datos y nos dirijan a que el código se preocupe únicamente de gestionar objetos. Hibernate es el framework de mapeo objeto-relacional de referencia y una tecnología que está presente en la mayoría de proyectos Java empresariales. Este libro ofrece, además de una introducción al framework y a la persistencia de datos en Java, un recorrido por las distintas maneras de interactuar con una base de datos relacional, empezando desde ejemplos sencillos a escenarios más complejos de mapeos. También cubre otros aspectos como el lenguaje HQL que nos permite un control más preciso de las consultas a la base de datos. Todo ello explicado a través de multitud de casos prácticos que muestran los detalles necesarios para comprender y asimilar cómo trabajar y aplicar Hibernate en proyectos profesionales. Descubre el framework Hibernate Comprende la relación entre Hibernate y JPA Aprende cómo mapear mediante anotaciones y ficheros XML Aplica las distintas formas de mapeo según las relaciones entre tablas Avanza en mapeos aplicando herencia con distintas estrategias Entra en detalle a través del API HQL para consultas más específicas Desarrolla aplicaciones JEE aplicando Hibernate 4.0 Contiene material adicional con código fuente del libro que podrá descargar accediendo a la ficha del mismo en www.ra-ma.es
A lo largo de los últimos años, Java ha llegado a utilizarse ampliamente en la enseñanza de la programación, por varias razones. Una de ellas es que Java tiene muchas características que hacen que su enseñanza sea muy fácil: tiene una definición relativamente limpia; además, el exhaustivo análisis sintáctico realizado por el compilador informa a los estudiantes muy pronto de los problemas existentes y cuenta con un modelo de memoria muy robusto que elimina la mayoría de los errores ?misteriosos? que surgen cuando se ven comprometidas las fronteras de los objetos o el sistema de tipos. Otra razón es que Java ha llegado a ser comercialmente muy importante. Este libro aborda desde el principio el concepto más difícil de enseñar: los objetos. Guía a los estudiantes desde los primeros pasos hasta la exposición de algunos conceptos muy sofisticados. Consigue resolver una de las cuestiones más peliagudas a la hora de escribir un libro sobre programación: cómo manejar la mecánica de escribir y ejecutar un programa en la práctica. La mayor parte de los libros suelen obviar el problema o tratarlo ligeramente, dejando que sea el profesor el que se las arregle para resolver la cuestión y dejándole también el problema de poner en relación el material que enseña con los pasos que los estudiantes deben dar para trabajar en los ejercicios. En lugar de ello, este libro presupone el uso de BlueJ y es capaz de integrar la tarea de comprenderlos conceptos con la mecánica de cómo deben actuar los estudiantes para explorarlo.
Este libro de PHP y MySQL se dirige a los diseñadores y desarrolladores que desean utilizar PHP y MySQL para desarrollar un sitio Web dinámico e interactivo.En la primera parte del libro, el autor presenta la implementación de una base de datos MySQL: lenguaje SQL (Structured Query Language), uso de las funciones MySQL, construcción de una base de datos (tablas, índices, vistas), sin olvidar las técnicas avanzadas como la búsqueda de texto integral o el desarrollo de procedimientos almacenados.En la segunda parte del libro, después de una presentación de las funcionalidades básicas del lenguaje PHP, el autor se centra en las necesidades concretas del desarrollo de sitios web dinámicos e interactivos, tratando de dar respuestas concretas y completas a los problemas más habituales: gestión de formularios, gestión de sesiones, envío de correos electrónicos y por supuesto, acceso a una base de datos MySQL.Este completo libro (escrito para las versiones 7 de PHP y 5.7 de MySQL), está ilustrado con una gran cantidad de ejemplos y le permite conseguir rápidamente su objetivo.Hay elementos adicionales que puede descargar desde el sitio web ediciones-eni.com.Los capítulos del libro:Introducción Introducción a MySQL Utilizar las funciones MySQL Construir una base de datos en MySQL Técnicas avanzadas con MySQL Introducción a PHP Utilizar las funciones PHP Escribir funciones y clases PHP Gestionar los errores en un script PHP Gestionar los formularios y los vínculos con PHP Acceder a una base de datos MySQL Gestionar las sesiones Anexos
El presente manual pretende introducir los conceptos básicos de la construcción de programas de ordenador y tiene dos partes diferenciadas. En la primera parte se definen los conceptos fundamentales que se aplican en cualquier programa de ordenador realizado mediante lenguajes de programación estructurados de alto nivel. Los ejemplos de esta parte están presentados usando un lenguaje genérico, llamado pseudocódigo. El objetivo de usar este pseudocódigo es poder plasmar los conceptos de forma independiente a como se representan en cada lenguaje de programación. En la segunda parte se aplican los conceptos presentados anteriormente a un lenguaje concreto de programación, el lenguaje C++. Este lenguaje ha sido elegido por su versatilidad y potencia. El objetivo fundamental que se persigue es que el lector pueda ser capaz de resolver problemas sencillos mediante programas de ordenador y aplicar conceptos que son válidos para cualquier lenguaje de programación estructurada. Más en concreto, se espera que el lector pueda aprender a definir algoritmos, implementar estructuras de datos y determinar la eficiencia de los programas realizados.
Este libro, denominado Lenguajes formales y teoría de autómatas, comienza con una presentación unificada de los lenguajes y gramáticas según la jerarquía de Chomsky, para luego poner el foco en las máquinas abstractas, avanzando progresivamente desde las más simples hasta la de Turing, que es la más compleja. El libro está destinado a un curso de Teoría de la Computación de Ingeniería de Sistemas y con este fin se optó por un enfoque novedoso que unificó el tratamiento de los lenguajes y gramáticas formales en un capítulo inicial, haciendo entonces posible la posterior presentación de las máquinas abstractas de manera progressiva y continua, por disponerse ya de todos los conocimientos necesarios de la lingüística matemática. Al definir el contenido y enfoque del tratamiento de los temas presentados, se buscó un equilibrio que contemplara: i) los conocimientos necesarios para cubrir los contenidos mínimos previstos habitualmente en los planes de estudio de las carreras de Ingeniería de Sistemas, ii) las previsiones normalmente establecidas en este campo al definir los estándares para la acreditación de las carreras afines, iii) el respaldo conceptual necesario para los temas abordados y iv) el tiempo disponible, que corresponde al de una materia cuatrimestral con una carga horaria de entre 60 y 90 hs reloj. Naturalmente, como siempre ocurre en estos casos, fue necesario llegar a una solución de compromiso en la que se beneficiaron algunos temas en perjuicio de otros. Aun así, es probable que en algunos temas el material presentado sea excesivo para un primer curso de Teoría de la Computación y queda a criterio del docente la selección del mismo. Además, en los desarrollos y ejemplos, se procuró dejar siempre 'puertas abiertas' que estimulen al lector a ahondar sobre los temas tratados.
Preparación del examen de certificación ?Java SE Programmer I: IZ0-808 En un mundo tan competitivo con es el de las Tecnologías de la Información, la posesión de las certificaciones de los fabricantes constituye un punto a favor del profesional del sector que puede abrirle numerosas puertas en su carrera profesional, bien sea en una mejora laboral o de cara a la participación en un proyecto importante. El primer paso dentro del itinerario de las certificaciones Java consiste en la superación del examen Programador Java Certificado I, que nos certificaría como Programador Java Asociado y que abriría el camino para los siguientes niveles de certificación. Este libro está desarrollado para servir como material de estudio en la preparación de este primer examen de certificación. A lo largo de sus nueve capítulos, se analizan los diferentes conceptos clave del lenguaje Java que serán objetivo de alguna pregunta de examen, resaltando aquellos aspectos importantes que deberán ser tenidos en cuenta de cara a resolver correctamente las diferentes preguntas con las que nos podemos encontrar. Con el fin de afianzar conceptos y practicar en la resolución de preguntas, al final de cada capítulo se presentan una serie de cuestiones tipo examen con sus soluciones razonadas. La mayor parte de estas preguntas son muy similares a las que encontraremos en el examen de certificación, lo que le da un gran valor añadido al contenido. Dado que el examen Programador Java Certificado I se centra en el conocimiento del lenguaje y clases de uso general, a lo largo del libro se explican todos los conceptos sintácticos que constituyen el lenguaje Java, lo que permite que pueda ser seguido por cualquier persona que posea conocimientos de programación, aunque no cuente con una base inicial en Java.
Este libro aborda el uso de gestores de contenido específicos para la gestión de revistas en el ámbito académico. Se centra concretamente en el uso de Open Journal Systems, un software de código abierto que, a día de hoy, forma parte de uno de los pilares fundamentales del movimiento por la Ciencia Abierta: poder publicar resultados de investigación por canales y cauces distintos a los comerciales. Creado y mantenido por el Public Knowledge Project, una iniciativa interuniversitaria que, a nivel global, promueve la mejora de la calidad y de la difusión de la publicación académica mediante el diseño de software libre, OJS va ya por su versión número 3. El trabajo contiene una breve introducción sobre el panorama de las revistas académicas, en la que además se repasan las diferentes herramientas disponibles para su gestión. Tras ella, el libro se centra en desgranar los entresijos de la versión 3 de OJS, para constituir una guía para aquellos que quieran convertirse, o sean ya, gestores o editores de revistas académicas, siendo de hecho la única que se ha publicado en español hasta el momento.
"Este libro sobre Inteligencia Artificial está dirigido particularmente a los desarrolladores y no requiere profundos conocimientos en matemáticas. Al hilo de los distintos capítulos, la autora presenta las principales técnicas de Inteligencia Artificial y, para cada una de ellas, su inspiración, biológica, física o incluso matemática, así como los distintos conceptos y principios (sin entrar en detalles matemáticos), con ejemplos y gráficos para cada uno de ellos. Los dominios de aplicación se ilustran mediante aplicaciones reales y actuales. Cada capítulo contiene un ejemplo de implementación genérico, que se completa con una aplicación práctica, desarrollada en Java. Estos ejemplos de código genéricos son fácilmente adaptables a numerosas aplicaciones Java 8, sin plug-in externos. Las técnicas de Inteligencia Artificial descritas son: - Los sistemas expertos, que permiten aplicar reglas para tomar decisiones o descubrir nuevos conocimientos. - La lógica difusa, que permite controlar sistemas informáticos o mecánicos de manera mucho más flexible que con los programas tradicionales. - Los algoritmos de búsqueda de rutas, entre los cuales el algoritmo A se utiliza con frecuencia en videojuegos para encontrar los mejores caminos. - Los algoritmos genéticos, que utilizan la potencia de la evolución para aportar soluciones a problemas complejos. - Los principales maetaheurísticos, entre ellos la búsqueda tabú, que permiten encontrar soluciones óptimas a problemas de optimización, con o sin restricciones - Los sistemas multi-agentes, que simulan elementos muy simples que permiten conseguir comportamientos emergentes a partir de varios agentes muy sencillos. - Las redes neuronales, capaces de descubrir y reconocer modelos en series históricas, en imágenes o incluso en conjuntos de datos. Para ayudar al lector a pasar de la teoría a la práctica, la autora proporciona para su descarga en el sitio web www.ediciones-eni.com siete proyectos Java (realizados con Netbeans), uno por cada técnica de Inteligencia Artificial. Cada proyecto contiene un paquete genérico y uno o varios paquetes específicos a la aplicación propuesta. El libro termina con una bibliografía que permite al lector encontrar más información acerca de las diferentes técnicas, un listado de webs referenciadas que enumera algunos artículos que presentan aplicaciones reales, un anexo y un índice."