Recomendaciones previas |
Sería recomendable buenos conocimientos de programación en Lenguaje C y entorno UNIX, adquiridos en asignaturas de primer cuatrimestre: Programación, Laboratorio de Programación y Sistemas Informáticos.
|
|
|
Objetivos de la asignatura |
Profundizar en los conocimientos de programación, en concreto en la concepción y análisis de algoritmos eficientes, así como el estudio de las tipos abstractos de datos más importantes. Es importante que el alumno entienda esta asignatura como la continuación natural y complemento de las asignaturas de programación (Programación y Laboratorio de Programación) del 1º cuatrimestre. Todos los materiales, transparencias para las clases teóricas y enunciados de ejercicios y prácticas, se pueden descargar desde esta misma página, en el apartado recursos/recursos teóricos, y desde el campus virtual de la Universidad de Salamanca
|
|
|
Contenidos |
Unidad I: Principios de programación
Se presentan conceptos que ya se han adquirido en las asignaturas Programación y Laboratorio de Programación, como continuación y complemento a dichas asignaturas Objetivos de la Unidad: - Conocer conceptos básicos de Ingeniería del Software
- Realizar programas de forma sistemática
- No se trata de un curso de Ingeniería de software
Contenidos:- Introducción
- Abstracción
- Resolución de problemas de programación
- Herramientas para la resolución de problemas
- Factores de calidad del software
- El ciclo de vida del software
- Conceptos básicos sobre verificación
- Principios de diseño de sistemas de software
- Depuración
- Diseño de algoritmos
Unidad II: Diseño y análisis de algoritmos
En esta unidad se presentan los algoritmos básicos (búsqueda y ordenación) que se deben estudiar en cualquier curso de programación. Además se introducen algunos conceptos básicos sobre el análisis y el diseño de algoritmos eficientes
Objetivos de la Unidad: - Introducción de los conceptos básicos
- Introducción a las herramientas básicas del análisis de algoritmos
- Algunas técnicas básicas de diseño, basándonos en ejemplos sencillos. Ojo no se trata de recetas
Contenidos:- Introducción
- Conceptos básicos
- Notación asintótica
- Análisis de algoritmos
- Algoritmos de búsqueda y ordenación
- Técnicas recursivas
- Resumen
Unidad III: Tipos Abstractos de Datos
En esta unidad se presentan los conceptos básicos sobre la abstracción de datos. Además se estudiarán tanto la definición como la implementación de los tipos abstractos de datos lineales: listas, pilas y colas Objetivos de la unidad:
- Introducir al alumno en los conceptos básicos relacionados con los Tipos Abstractos de Datos (TAD)
- Presentar las ventajas que aporta una amplia utilización de TAD
- Presentar la construcción de diferentes TAD diferenciando claramente entre:
- Nivel Abstracto
- Nivel de Representación o de Implementación
- Estudiar TAD fundamentales
Contenidos:- Introducción
- Conceptos básicos
- Mecanismos de agregación
- Listas
- Nivel Abstracto
- Nivel de Representación o de Implementación
- Pilas
- Nivel Abstracto
- Nivel de Representación o de Implementación
- Colas
- Nivel Abstracto
- Nivel de Representación o de Implementación
|
|
|
Metodologías |
Las clases será teóricas y prácticas, según créditos asignados a la asignatura, que se podrán complementar con seminarios y conferencias.
|
|
|
Evaluación |
Examen teórico-práctico y se podrá exigir al alumno la presentación de uno o varios trabajos, evaluables individualmente.
|
|
|
|
Otros datos |
Créditos: 7.5 (4.5 T + 3.0 P)
,
Primer cuatrimestre
,
Troncal
,
Número de grupos de teoría: 1
|
Ingeniería Técnica en Informática de Sistemas (Plan 1997)
|
Primer curso
|
|
|
|
|
|