Este libro está orientado a aquellos alumnos de primer curso, de los grados en Ingeniería o en Matemáticas, que deseen complementar sus conocimientos de informática. Es un textoautocontenido, que consta de tres partes (""Introducción a la Programación"", ""Estructuras de Datos"" y ""Prueba, Análisis y Construcción de Programas"") donde se exponen diferentes conceptos usando un lenguaje de programación formal, seguidas de un apéndice donde todas las construcciones vistas se traducen a los lenguajes de programación FORTRAN 77, FORTRAN 90 y C++. La parte ""Introducción a la programación""es un curso elementalde programación estructurada, donde se explica cómo construir algoritmos sencillos, para operar sobre datos no estructurados, vectores y matrices. En la parte ""Estructuras de datos"" se caracterizanlas propiedades de los tipos abstractos de datos más usados (vector, matriz, pila, cola, árbol, grafo, fichero secuencial), se muestra cómo representar de forma eficiente los elementos de esos tipos en memoria y cómo enumerar sus elementos. Por último, en la parte ""Prueba, Análisis y Construcción de Programas"" se describen algunas técnicas para verificar formalmente programas y para analizar su eficiencia, junto con varias estrategias de diseño de algoritmos por inducción, algoritmos voraces, estrategias de tipo ""divide y vencerás"", programación dinámica y tratamiento de secuencias.