Última actualización: 24/09/2020


Curso Académico: 2020/2021

Programación
(15491)
Grado en Ingeniería en Tecnologías Industriales (Plan: 418 - Estudio: 256)


Coordinador/a: SESMERO LORENTE, MARIA PAZ

Departamento asignado a la asignatura: Departamento de Informática

Tipo: Formación Básica
Créditos: 6.0 ECTS

Curso:
Cuatrimestre:

Rama de Conocimiento: Ingeniería y Arquitectura



Requisitos (Asignaturas o materias cuyo conocimiento se presupone)
No hay requisitos previos para la asignatura
Competencias genéricas 1. Capacidad de análisis y síntesis 2. Capacidad de organización y planificación 3. Capacidad para aplicar el conocimiento en la práctica 4. Habilidades básicas de manejo de un ordenador 5. Capacidad de resolver problemas con iniciativa, creatividad y razonamiento crítico 6. Habilidades básicas de trabajo en equipo Competencias específicas + Cognitivas - Comprender el papel de la informática y la programación en la profesión del Ingeniero Industrial. - Describir los fundamentos del hardware de un ordenador: su estructura funcional y asociar la ejecución de una instrucción o programa a los componentes básicos del ordenador. - Describir los conceptos de algoritmo, programa, instrucción, y lenguaje de programación. - Describir los fundamentos del software de un computador: sistemas operativos, tipos de programas, programas traductores. - Comprender los conceptos de variable, constante, operador y expresión, así como los diferentes tipos de operadores que existen en el lenguaje C. - Describir la estructura de un programa en el lenguaje de programación C. - Conocer las diferentes composiciones algorítmicas básicas: secuencial, alternativa e iterativa. - Conocer el concepto de función y el uso de parámetros. - Describir las funciones de lectura y escritura de datos en el lenguaje de programación C. Relacionar las funciones de entrada y salida de datos con las funciones de librería. - Comprender los principios de la programación modular y estructurada, así como los conceptos de abstracción de datos y abstracción de procedimientos. - Comprender el concepto de tipo de dato complejo, y conocer los tipos array, registro (estructura) y cadena de caracteres. - Conocer los algoritmos básicos de búsqueda y ordenación. - Comprender los fundamentos de la asignación básica de memoria - Conocer el concepto de estructuras externas de datos (ficheros y bases de datos) y las herramientas básicas para su manejo. - Conocer la sintaxis del lenguaje de programación C. - Conocer los principales programas con aplicación en ingeniería +Procedimentales - Saber utilizar las funciones básicas de un ordenador personal - Ser capaz de plantear y resolver problemas de mediana complejidad que se presentan en la ingeniería mediante el diseño de algoritmos y programas informáticos en lenguaje C. - Tener capacidad para seleccionar las estructuras de datos más adecuadas para la resolución de un problema - Adquirir un buen estilo de programación, diseñando programas eficientes, bien organizados y bien documentados - Capacidad de comprender el funcionamiento de programas escritos por otros programadores y captar su estructura general - Saber utilizar un entorno integrado de desarrollo para la escritura, compilación y depuración de un programa. - Utilizar las funciones de librería más comunes Actitudinales - Resolver problemas de forma sistemática y a la vez creativa - Motivación por el logro y la calidad de los programas realizados en la asignatura
Descripción de contenidos: Programa
Tema 1. Introducción a la informática y la programación 1.1. Informática y ordenadores. Evolución histórica 1.2. Representación de la información en los ordenadores 1.3. Algoritmos y programas. 1.3.1. Concepto de Algoritmo y Programa 1.3.2. Herramientas para el diseño de algoritmos. 1.4. La Informática en la profesión del ingeniero industrial Tema 2. Arquitectura del Ordenador: Hardware y Software 2.1. Soporte Lógico: Software: 2.1.1. Lenguajes de programación: Clasificación. 2.1.2. Traductores de lenguajes: Compiladores e intérpretes. 2.1.3. Sistemas operativos. 2.2. Soporte Físico: Hardware. 2.2.1. Arquitectura Interna 2.2.2. Ejecución de instrucciones por el procesador 2.2.3. Periféricos 2.2.4. Redes de ordenadores e Internet. Tema 3. Elementos básicos del lenguaje C 3.1. Introducción al lenguaje C 3.2. Estructura general de un programa en C 3.3. Variables y constantes. Asignación. 3.4. Tipos de datos simples en C 3.5. Operadores, expresiones e instrucciones 3.6. Tipos de operadores: aritméticos, relacionales y lógicos 3.7. El tipo puntero 3.8. Operaciones de entrada/salida Tema 4. Estructuras de control. 4.1. Introducción 4.2. Estructuras de control alternativas: 4.2.1. if-else 4.2.2. switch 4.3. Estructuras de control repetitivas (bucles) 4.3.1. for 4.3.2. while 4.3.3. do-while 4.4. Anidamiento de estructuras de control. Tema 5. Funciones 5.1. El concepto de Subprograma. Programación Modular. 5.2. Declaración y Definición de una función 5.3. Llamada a una función 5.4. Paso de parámetros por valor y por referencia 5.5. Ámbito de declaración de variables. Visibilidad 5.6. Bibliotecas de funciones y bibliotecas estándar en C Tema 6. Tipos de datos estructurados 6.1. Tipos estructurados frente a tipos simples. 6.2. Arrays 6.2.1. Declaración y uso de arrays 6.2.2. Arrays como parámetros de funciones 6.2.3. Cadenas de caracteres 6.2. Estructuras de datos definidas por el usuario 6.2.1. Uso y declaración de estructuras 6.2.2. Arrays de estructuras 6.2.3. Estructuras como parámetros de una función Tema 7. Algoritmos de búsqueda, ordenación y mezcla 7.1. Búsqueda 7.2. Ordenación 7.3. Mezcla Tema 8. Otros temas de informática y programación. 8.1. Almacenamiento externo de datos: Ficheros y bases de datos. 8.2. Gestión dinámica de memoria 8.3. Programas con aplicación en ingeniería
Actividades formativas, metodología a utilizar y régimen de tutorías
Clases Magistrales (on-line): En estas clases, impartidas en grupos grandes , se presentará la materia del programa, orientada a adquirir las competencias cognitivas de la asignatura. Clases de Ejercicios En estas clases, impartidas en grupo pequeño, se realizarán ejercicios y problemas. Están orientadas fundamentalmente a la adquisición de las competencias procedimentales y actitudinales de la asignatura. Clases de Laboratorio (on-line) Estas clases se impartirán también en grupos pequeños, en los laboratorios informáticos. Las competencias trabajadas serán las mismas que en las clases de ejercicios. Tutorías individuales Permitirán al alumno consultar individualmente con el profesor dudas concretas sobre la materia del programa y los ejercicios propuestos. Trabajo personal del alumno El trabajo personal del alumno se podrá realizar de forma individual o colectiva y es una parte esencial de la preparación de la asignatura. Estará orientado tanto a estudiar los contenidos presentados en las clases magistrales como a realizar los ejercicios y prácticas de laboratorio, revisando después las soluciones propuestas por los profesores para detectar y corregir los posibles fallos.
Sistema de evaluación
  • Peso porcentual del Examen Final 50
  • Peso porcentual del resto de la evaluación 50

Bibliografía básica
  • Brian W. Kernighan, Dennis M. Ritchie. C Programming Language. Prentice Hall. 1988 (2nd Edition)
  • García F, Carretero J, Fernández J, Calderón A. . El lenguaje de programación C. Prentice Hall . ISBN: 9788420531786. 2002
  • Joyanes L, Zahonero I. Programación en C. Mc Graw Hill Interamericana de España. ISBN: 8448198441. 2005 (Segunda edición).
  • K. N. King. . C Programming: A Modern Approach. . W.W. Norton & Company, . 2008 (2nd Edition)
  • Paul J. Deitel, Harvey M. Deitel. . C: How to Program. . Prentice Hall, (6th Edition). 2009
  • Prieto A , Lloris A, Torres JC. Introducción a la Informática. McGraw Hill. . ISBN: 8448146247. 2006
Bibliografía complementaria
  • Ignacio Alvarado, José María Maestre, Carlos Vivas, Ascensión Zafra. 100 problemas resueltos de Programación en Lenguaje C para Ingeniería. Paraninfo Universidad. 2017
Recursos electrónicosRecursos Electrónicos *
(*) El acceso a algunos recursos electrónicos puede estar restringido a los miembros de la comunidad universitaria mediante su validación en campus global. Si esta fuera de la Universidad, establezca una VPN


El programa de la asignatura podría sufrir alguna variación por causa de fuerza mayor debidamente justificada o por eventos académicos comunicados con antelación.