INTRODUCCION A LOS FUNDAMENTOS DE PROGRAMACION Objetivos OBJETIVOS GENERALES En este curso se van a desarrollar los conceptos básicos de la programación, trabajando el estudio y análisis de sus características, que permiten la implementación de algoritmos capaces de resolver diferentes problemas. El lenguaje de desarrollo elegido es el C, que permite poner en práctica unos fundamentos básicos y que introduce el concepto de programación estructurada. Se pretende conseguir que el alumno adquiera los conocimientos y estrategias necesarias para afrontar con éxito el desarrollo de aplicaciones de un proyecto informático: - Dominar los conceptos básicos de la programación. - Conocer cuáles son las estructuras básicas de datos. - Documentar las aplicaciones de un proyecto informático, utilizando el lenguaje profesional con precisión y pulcritud. - Comprender los conceptos básicos relacionados con la programación estructurada. - Analizar las estructuras estáticas y las estructuras dinámicas de datos. - Aprender cómo se lleva a cabo un diseño modular de un programa informático. - Analizar las estructuras externas de datos (ficheros). - Analizar las características de un lenguaje de programación concreto, lenguaje C (identificadores, operadores más utilizados, etc.), así como su estructura (instrucciones y sentencias). OBJETIVOS ESPECÍFICOS Dominar los conceptos básicos de la programación: - Conocer los conceptos fundamentales relacionados con la informática y la programación. - Saber qué es un sistema operativo. - Analizar la historia de la programación y cuáles son los lenguajes de programación más importantes y los más utilizados en la actualidad. - Comprender cuáles son las fases de desarrollo de un programa informático. - Conocer todos los elementos necesarios para poder trabajar en el desarrollo de un programa: ensambladores, compiladores, intérpretes. Conocer cuáles son las estructuras básicas de datos: - Analizar los sistemas y los códigos de numeración. - Diferenciar entre datos básicos, datos derivados y datos estructurados. - Saber qué son las constantes, las variables, los operados y las expresiones, elementos fundamentales para el desarrollo de un programa. Documentar las aplicaciones de un proyecto informático, utilizando el lenguaje profesional con precisión y pulcritud: - Diferenciar entre los diferentes documentos que se deben generar en el proceso de desarrollo de un programa: guía técnica, guía de uso, guía de instalación. Comprender los conceptos básicos relacionados con la programación estructurada: - Analizar las diferentes partes de un programa. - Comprender qué es y saber cómo crear un algoritmo para resolver o solucionar un problema. - Diferenciar los distintos tipos de instrucciones. - Saber qué son los distintos elementos relacionados con la programación estructurada: contadores, acumuladores e interruptores. Analizar las estructuras estáticas y las estructuras dinámicas de datos: - Dominar los aspectos básicos relacionados con las estructuras estáticas de datos (tablas), tales como conceptos básicos relacionados, clasificación de tablas y operaciones con tablas. - Dominar los aspectos básicos relacionados con las estructuras dinámicas de datos: punteros, listas, tipos de estructuras dinámicas… Aprender cómo se lleva a cabo un diseño modular de un programa informático: - Saber cómo descomponer un programa en diferentes módulos. - Conocer los tipos de módulos que pueden darse. - Aprender el funcionamiento de variables y parámetros en un diseño modular. - Comprender las especificaciones concretas del diseño modular. Analizar las estructuras externas de datos (ficheros): - Entender los conceptos y definiciones relacionados con ficheros. - Diferenciar los diferentes tipos de registros y aprender las operaciones básicas con registros. - Diferenciar los diferentes tipos de ficheros y aprender las operaciones básicas con ficheros. - Saber cómo se organizan registros y ficheros para permitir el acceso de un usuario a través de un programa informático. - Entender el tratamiento de ficheros secuenciales. Analizar las características de un lenguaje de programación concreto, lenguaje C (identificadores, operadores más utilizados, etc.), así como su estructura (instrucciones y sentencias): - Entender las características del lenguaje C. - Analizar los tipos de datos, identificadores, variables, modificadores de acceso, operadores y expresiones que se utilizan a la hora de programar utilizando el lenguaje C. - Diferenciar los distintos tipos de instrucciones que se utilizan en el desarrollo de un programa en C. - Dominar las estructuras de control. - Conocer algunas de las sentencias utilizadas en la estructura de un programa en C: sentencia break, sentencia continue, sentencia goto. Contenidos CONTENIDOS TEÓRICOS (80 horas) Unidad 1. Conceptos básicos sobre programación (15 horas) 1.1. Periféricos 1.2. Conceptos y definiciones 1.3. ¿Qué es un sistema operativo? 1.4. Evolución y clasificación de lenguajes 1.5. Fases de elaboración de un programa informático 1.6. Ensambladores, compiladores e intérpretes Unidad 2. Estructuras básicas de datos (15 horas) 2.1. Sistemas y códigos de numeración 2.2. Clasificación de datos 2.3. Datos básicos 2.4. Dato derivado (puntero) 2.5. Datos estructurados 2.6. Constantes y variables 2.7. Operadores 2.8. Expresiones Unidad 3. Documentación de programas (10 horas) 3.1. Guía técnica 3.2. Guía de uso o utilización 3.3. Guía de instalación Unidad 4. Programación estructurada (15 horas) 4.1. Partes de un programa 4.2. Algoritmos 4.3. Tipos de instrucciones 4.4. Contadores, acumuladores e interruptores Unidad 5. Estructuras estáticas de datos (tablas) (15 horas) 5.1. Conceptos básicos 5.2. Clasificación de tablas 5.3. Operaciones con tablas Unidad 6. Estructuras dinámicas de datos (10 horas) 6.1. Punteros 6.2. Listas 6.3. Estructuras dinámicas lineales 6.4. Estructuras dinámicas no lineales Unidad 7. Diseño modular de programas (15 horas) 7.1. Descomposición modular 7.2. Clasificación de los módulos 7.3. Ámbito de las variables 7.4. Parámetros 7.5. Paso de parámetros 7.6. Estructura modular 7.7. Especificaciones de diseño modular Unidad 8. Estructuras externas de datos (ficheros) (20 horas) 8.1. Conceptos y definiciones 8.2. Clasificación de registros 8.3. Operaciones con registros 8.4. Clasificación de ficheros 8.5. Operaciones con ficheros 8.6. Organización y acceso 8.7. Tratamiento de ficheros secuenciales Unidad 9. Conceptos del lenguaje C y tipos de datos (25 horas) 9.1. Características del lenguaje C 9.2. Tipos de datos 9.3. Identificadores 9.4. Definición de las variables 9.5. Modificadores de acceso 9.6. Tipos de datos básicos 9.7. Operadores 9.8. Orden de prioridad de los operadores 9.9. Expresiones CONTENIDOS PRÁCTICOS (60 horas) Los contenidos expuestos anteriormente incluyen ejercicios, prácticas, cuestiones y actividades de evaluación. El trabajo práctico intercalado con el contenido teórico del curso supone aproximadamente un 40% de horas de trabajo sobre el total.