Metodología y Tecnología de la Programación (2008)
La Metodología y Tecnología de la Programación es la rama de las Ciencias de la Computación que reúne los fundamentos, metodologías, técnicas y herramientas para el análisis y diseño de algoritmos así como sus estructuras de datos, y la consecución final de éstos en programas que se ejecutan en un computador. En este contexto, esta asignatura pretende, principalmente, enseñar los fundamentos del análisis y diseño de algoritmos, incluyendo las estructuras de datos, así como sus implementaciones en programas mediante un lenguaje de programación de alto nivel.
![]() |
GREGORIO MARTÍNEZ PÉREZ (COORDINADOR)
2008/2009. Octubre 2008 |
TITULACIÓN
| Nombre de la asignatura | METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN |
|---|---|
| Código | 08BV (Ingeniería Informática) - 06BZ (Ingeniería Técnica en Informática de Sistemas) |
| Curso | 1º |
| Tipo | Troncal |
| Créditos LRU | Teóricos: 9 Prácticos: 6 |
| Créditos ECTS | 12 |
| Duración | Anual |
| Idiomas en que se imparte | Español |
PRERREQUISITOS Y CONOCIMIENTOS PREVIOS RECOMENDADOS
No es necesario ningún conocimiento previo.
DESCRIPCIÓN GENERAL DE LA ASIGNATURA
La Metodología y Tecnología de la Programación es la rama de las Ciencias de la Computación que reúne los fundamentos, metodologías, técnicas y herramientas para el análisis y diseño de algoritmos así como sus estructuras de datos, y la consecución final de éstos en programas que se ejecutan en un computador.
En este contexto, esta asignatura pretende, principalmente, enseñar los fundamentos del análisis y diseño de algoritmos, incluyendo las estructuras de datos, así como sus implementaciones en programas mediante un lenguaje de programación de alto nivel.
OBJETIVOS: CONOCIMIENTOS Y CAPACIDADES
COMPETENCIAS QUE EL ESTUDIANTE ADQUIERE CON LA ASIGNATURA
COMPETENCIAS GENERALES DE LA UNIVERSIDAD
-
CGUM1: Ser capaz de expresarse correctamente en español en su ámbito disciplinar.
-
CGUM3: Ser capaz de gestionar la información y el conocimiento en su ámbito disciplinar, incluyendo saber utilizar como usuario las herramientas básicas en TIC.
-
CGUM5: Ser capaz de proyectar los conocimientos, habilidades y destrezas adquiridos para promover una sociedad basada en los valores de la libertad, la justicia, la igualdad y el pluralismo.
-
CGUM6. Capacidad para trabajar en equipo y para relacionarse con otras personas del mismo o distinto ámbito profesional.
COMPETENCIAS GENERALES DEL TÍTULO
-
CGII1: Capacidad de análisis y síntesis.
-
CGII2: Capacidad de organización y planificación.
-
CGII3: Comunicación oral y escrita en la lengua nativa.
-
CGII5: Conocimientos de informática relativos al ámbito de estudio.
-
CGII6: Capacidad de gestión de la información.
-
CGII7: Resolución de problemas.
-
CGII9: Trabajo en equipo.
-
CGII10: Trabajo en un equipo de carácter interdisciplinar.
-
CGII12: Habilidades en las relaciones interpersonales.
-
CGII13: Reconocimiento a la diversidad y la multiculturalidad.
-
CGII14: Razonamiento crítico.
-
CGII16: Aprendizaje autónomo.
-
CGII17: Adaptación a nuevas situaciones.
-
CGII18: Creatividad.
-
CGII19: Liderazgo.
-
CGII20: Conocimiento de otras culturas y costumbres.
COMPETENCIAS ESPECÍFICAS DEL TÍTULO
-
CEII1: Aprender de manera autónoma nuevos conocimientos y técnicas adecuados para la concepción, el desarrollo o la explotación de sistemas informáticos.
-
CEII2: Trabajar en un entorno multidisciplinar y multilingüe. Comunicar de forma efectiva, tanto por escrito como oralmente, conocimientos, procedimientos, resultados e ideas relacionados con las Tecnologías de la Información y la Comunicación (TIC) y, concretamente, de la Informática, conociendo su impacto socioeconómico.
-
CEII3: Asumir la responsabilidad social, ética, profesional y civil de la actividad del Ingeniero/a en Informática, así como su papel en el ámbito de las TIC y de la Sociedad de la Información y del Conocimiento.
-
CEII4: Concebir, valorar, planificar y dirigir proyectos informáticos utilizando los principios y metodologías propios de la ingeniería, de gestión de recursos humanos y de economía.
-
CEII6: Definir, evaluar y seleccionar plataformas hardware y software para el desarrollo y la ejecución de aplicaciones y servicios informáticos de diversa complejidad.
-
CEII7: Interpretar, seleccionar, valorar, y crear nuevos conceptos, teorías, usos y desarrollos tecnológicos relacionados con la informática y su aplicación, usando los fundamentos matemáticos, físicos, económicos y sociológicos necesarios.
-
CEII8: Concebir, desarrollar y mantener sistemas, servicios y aplicaciones software con los niveles de calidad exigidos, empleando los métodos de la ingeniería del software y los lenguajes de programación más adecuados.
-
CEII9: Concebir, desarrollar, instalar y mantener sistemas o arquitecturas informáticos, centralizados o distribuidos, integrando hardware, software y redes.
-
CEII11: Concebir, desplegar, organizar y gestionar sistemas y servicios informáticos, en contextos empresariales o institucionales, para mejorar sus procesos de negocio, responsabilizándose y liderando su puesta en marcha y mejora continua, así como valorar su impacto económico y social.
COMPETENCIAS ESPECÍFICAS DE LA ASIGNATURA
-
Resolver problemas de programación aplicando esquemas algorítmicos básicos y estructuras de datos sencillas.
-
Diseñar y escribir código en un lenguaje de alto nivel para resolver problemas de dificultad simple a intermedia.
-
Encontrar soluciones algorítmicas a problemas, comprendiendo la idoneidad y complejidad de las soluciones propuestas.
-
Diseñar y utilizar de forma eficiente los tipos de datos y estructuras más adecuados a un problema.
-
Programar aplicaciones de forma robusta, correcta y eficiente teniendo en cuenta restricciones de tiempo y coste y eligiendo el paradigma y los lenguajes de programación más adecuados.
-
Usar las herramientas de un entorno de desarrollo de programación para crear y desarrollar aplicaciones.
-
Conocer y utilizar lenguajes estructurados y orientados a objetos para el desarrollo de sistemas software.
-
Conocer las estructuras de datos básicas, sus aplicaciones y propiedades.
-
Conocer y saber utilizar los principales paradigmas de programación.
-
Saber emplear técnicas de verificación y validación de programas.
OBJETIVOS FORMATIVOS DE LA ASIGNATURA
-
Discutir la importancia de los algoritmos en los procesos de resolución de problemas e identificar las propiedades asociadas a un buen algoritmo.
-
Identificar los principales pasos del ciclo de vida del software.
-
Aplicar las técnicas de descomposición estructurada para dividir un programa en distintos componentes.
-
Analizar y explicar el funcionamiento de programas simples que hagan uso de estructuras de programación básicas.
-
Discutir el uso y la representación en memoria de los tipos de datos básicos y estructurados.
-
Seleccionar las estructuras condicionales e iterativas más adecuadas para una determinada tarea de programación.
-
Realizar programas que usen funciones, procedimientos y pasos de parámetros.
-
Analizar el funcionamiento de los algoritmos básicos de ordenación y búsqueda así como sus posibles mejoras.
-
Explicar las notaciones asintóticas para describir las instrucciones realizadas por un algoritmo.
-
Determinar el cálculo de complejidad de algoritmos simples, incluyendo los principales algoritmos de ordenación y búsqueda.
-
Describir el concepto de recursión e identificar el caso base y el término general de un problema definido de forma recursiva.
-
Determinar cuando una solución recursiva es apropiada para un determinado problema.
-
Describir la aproximación basada en divide-y-vencerás.
-
Discutir problemas para los cuales backtracking (o búsqueda con retroceso) puede ser una solución apropiada.
-
Explicar como los mecanismos de abstracción soportan la creación de componentes software modulares y reusables.
-
Justificar la importancia de los conceptos de encapsulación y ocultamiento de la información.
-
Escribir programas que hagan uso de tipos de datos abstractos.
-
Comparar las ventajas e inconvenientes de los distintos tipos de datos abstractos según la manera en la que estén implementados.
-
Elegir el tipo de datos abstracto más adecuado para un determinado problema.
-
Diseñar secuencias de código que gestionen condiciones de excepción que hayan surgido durante la ejecución de un programa.
-
Descripción de estrategias de utilidad para depurar, probar y validar programas.
-
Realizar un proyecto informático de programación y abordar la tarea de documentar correctamente las principales decisiones de diseño e implementación tomadas.
METODOLOGÍA
La metodología docente de la asignatura se desarrolla mediante la aplicación de las siguientes actividades formativas:
-
Presentación en el aula de los conceptos propios de la materia haciendo uso de metodología expositiva con lecciones magistrales participativas y medios audiovisuales. Evaluación y examen de las capacidades adquiridas.
-
Actividades en el aula de resolución de problemas, seminarios y aprendizaje orientado a proyectos.
-
Actividades en el laboratorio relativas al seguimiento individual y/o grupal de adquisición de las competencias y de los proyectos de despliegue de las mismas.
-
Tutorías (grupales o individuales), que servirán para contrastar los avances en la adquisición de competencias, seguimiento continuo, aclarar de dudas, suministrar información, orientar sobre actividades intra- y extra-académicas, y salidas profesionales.
Course Contents






















