Última actualización: 07/06/2023


Curso Académico: 2023/2024

Programación
(15090)
Grado en Ingeniería de la Energía (Plan: 452 - Estudio: 280)


Coordinador/a: TOLEDO HERAS, MARIA PAULA DE

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)
(Ninguna)
Objetivos
- Capacidad de análisis y síntesis - Capacidad de organización y planificación - Capacidad para aplicar el conocimiento en la práctica - Habilidades básicas de manejo de un ordenador - Capacidad de resolver problemas con iniciativa, creatividad y razonamiento crítico - Habilidades básicas de trabajo en equipo ------------------------------------------------------------------------------- - Cognitivas: o Comprender el papel de la informática y la programación en la profesión del Ingeniero Industrial. o 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. o Describir los conceptos de algoritmo, programa, instrucción, y lenguaje de programación. o Describir los fundamentos del software de un computador: sistemas operativos, tipos de programas, programas traductores. o Comprender los conceptos de variable, constante, operador y expresión, así como los diferentes tipos de operadores que existen en el lenguaje C. o Describir la estructura de un programa en el lenguaje de programación C. o Conocer las diferentes composiciones algorítmicas básicas: secuencial, alternativa e iterativa. o Conocer el concepto de función y el uso de parámetros. o 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. o Comprender los principios de la programación modular y estructurada, así como los conceptos de abstracción de datos y abstracción de procedimientos. o Comprender el concepto de tipo de dato complejo, y conocer los tipos array, registro (estructura) y cadena de caracteres. o Conocer los algoritmos básicos de búsqueda y ordenación. o Comprender los fundamentos de la asignación básica de memoria o Conocer el concepto de estructuras externas de datos (ficheros y bases de datos) y las herramientas básicas para su manejo. o Conocer la sintaxis del lenguaje de programación C. o Conocer los principales programas con aplicación en ingeniería - Procedimentales: o Saber utilizar las funciones básicas de un ordenador personal o 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. o Tener capacidad para seleccionar las estructuras de datos más adecuadas para la resolución de un problema o Adquirir un buen estilo de programación, diseñando programas eficientes, bien organizados y bien documentados o Capacidad de comprender el funcionamiento de programas escritos por otros programadores y captar su estructura general o Saber utilizar un entorno integrado de desarrollo para la escritura, compilación y depuración de un programa. o Utilizar las funciones de librería más comunes + Actitudinales: o Resolver problemas de forma sistemática y a la vez creativa o Motivación por el logro y la calidad de los programas realizados en la asignatura
Competencias y resultados del aprendizaje
CB1. Que los estudiantes hayan demostrado poseer y comprender conocimientos en un área de estudio que parte de la base de la educación secundaria general, y se suele encontrar a un nivel que, si bien se apoya en libros de texto avanzados, incluye también algunos aspectos que implican conocimientos procedentes de la vanguardia de su campo de estudio. CB2. Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio. CB3. Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética. CB4. Que los estudiantes puedan transmitir información, ideas, problemas y soluciones a un público tanto especializado como no especializado. CB5. Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía. CG10. Ser capaz de trabajar en un entorno multilingüe y multidisciplinar. CE3 Módulo FB. Conocimientos básicos sobre el uso y programación de los ordenadores, sistemas operativos, bases de datos y programas informáticos con aplicación en ingeniería. CT1. Capacidad de comunicar los conocimientos oralmente y por escrito, ante un público tanto especializado como no especializado. CT2. Capacidad de establecer una buena comunicación interpersonal y de trabajar en equipos multidisciplinares e internacionales. CT3. Capacidad de organizar y planificar su trabajo, tomando las decisiones correctas basadas en la información disponible, reuniendo e interpretando datos relevantes para emitir juicios dentro de su área de estudio. CT4. Motivación y capacidad para dedicarse a un aprendizaje autónomo de por vida, que les permita adaptarse a nuevas situaciones. Al terminar con éxito esta materia, los estudiantes serán capaces de: RA1.1: Tener conocimientos básicos y comprensión de los sistemas informáticos y programación orientados a aplicaciones industriales. RA1.4: Tener conciencia del contexto multidisciplinar de la ingeniería industrial. RA2.1: Tener capacidad de aplicar su conocimiento y comprensión para identificar, formular y resolver problemas de ingeniería utilizando métodos informáticos establecidos. RA5.2: Tener capacidad de combinar la teoría y la práctica para resolver problemas de ingeniería utilizando métodos informáticos.
Descripción de contenidos: Programa
Tema 1. Introducción a la informática y la programación -------------------------------------------------------------- - Informática y ordenadores. Evolución histórica - Representación de la información en los ordenadores - Algoritmos y programas. Herramientas para el diseño de algoritmos - La Informática en la profesión del ingeniero industrial Tema 2. Hardware y Software --------------------------------- - Programas y lenguajes de programación. Clasificación. Traductores de lenguajes: Compiladores e intérpretes. Sistemas operativos. - Estructura del ordenador. Arquitectura interna. Ejecución de instrucciones por el procesador. Almacenamiento de de datos. Periféricos. Redes de ordenadores e Internet Tema 3. Elementos básicos del lenguaje C ---------------------------------------------- - Introducción al lenguaje C - Estructura general de un programa en C - Variables y constantes - Tipos de datos fundamentales en C - Operadores, expresiones e instrucciones - Operadores aritméticos, relacionales y lógicos - Instrucciones de asignación - El tipo puntero - Operaciones de entrada/salida Tema 4. Estructuras de control ---------------------------------- - Introducción - Estructuras de control alternativas: if-else, switch - Estructuras repetitivas (bucles): for, while y do-while - Anidamiento de estructuras de control. Tema 5. Subprogramas -------------------------- - El concepto de Subprograma. Programación Modular. - Definición de una función - Llamada a una función - Paso de parámetros por valor - Paso de parámetros por referencia - Ámbito de declaración de variables. Visibilidad - Arrays como parámetros - Estructuras como parámetros - Bibliotecas de funciones y bibliotecas estándar en C Tema 6. Tipos de datos estructurados ------------------------------------------ - Introducción: Datos estructurados frente a datos simples. - Definición y uso de arrays - Punteros y arrays - Cadenas de caracteres - Estructuras de datos definidas por el usuario (registros) - Arrays de estructuras Tema 7. Algoritmos de búsqueda, ordenación y mezcla ------------------------------------------------------------- - Búsqueda - Ordenación - Mezcla Tema 8. Otros temas de informática y programación ---------------------------------------------------------- - Estructuras externas de datos: Ficheros y bases de datos. - Gestión dinámica de memoria - Programas con aplicación en ingeniería
Actividades formativas, metodología a utilizar y régimen de tutorías
Clases Magistrales: --------------------- 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: ------------------------- 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. Práctica final: --------------- Trabajo práctico realizado en equipo. Servirá para profundizar en los contenidos de la asignatura, diseñando un programa de mayor extensión que los de las prácticas previas de laboratorio.
Sistema de evaluación
  • Peso porcentual del Examen Final 50
  • Peso porcentual del resto de la evaluación 50

Bibliografía básica
  • Al Kelley and Ira Pohl. A book on C : programming in C . Addison-Wesley. 1998
  • Brian W. Kernighan, Dennis M. Ritchie. C Programming Language. Prentice Hall. 1988
  • Deitel, Harvey M.. C : how to program. Prentice-Hall International. 1994
  • Félix García, Jesús Carretero, Javier Fernández y Alejandro Calderón. El lenguaje de Programación C: diseño e implementación de programas. Prentice Hall. 2002
  • Gottfried, Byron S.. Programación en C. McGraw-Hill. 2005
  • Greg Perry, Dean Miller. C Programming Absolute Beginner´s Guide.. Que. 2013
  • Jesús J. García Molina, Francisco J. Montoya Dato, José L. Fernández Alemán, Mº José Majado Rosales. Una introducción a la programación: un enfoque algorítmico. Thomson. 2005
  • K. N. King. C Programming: A Modern Approach. W.W. Norton & Company. 2008
  • King, K.K.. C programming: a modern approach. W.W. Norton & Company. 2008
  • Paul J. Deitel, Harvey M. Deitel. C: How to Program. Prentice Hall. 2009
Bibliografía complementaria
  • Doris Appleby, Julius J. Vandekopple. Lenguajes de Programación: Paradigma y práctica. McGraw-Hill. 1998
  • Yung-Hsiang Lu. Intermediate C Programming. CRC Press. 2015

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.