G4011222 - Algoritmos e Estruturas de Datos (Programación) - Curso 2013/2014
Información
- Créditos ECTS
- Créditos ECTS: 6.00
- Total: 6.0
- Horas ECTS
- Clase Expositiva: 20.00
- Clase Interactiva Laboratorio: 30.00
- Horas de Titorías: 1.00
- Total: 51.0
Outros Datos
- Tipo: Materia Ordinaria Grao RD 1393/2007
- Departamentos: Electrónica e Computación
- Áreas: Ciencia da Computación e Intelixencia Artificial
- Centro: Escola Técnica Superior de Enxeñaría
- Convocatoria: 1º Semestre de Titulacións de Grao/Máster
- Docencia e Matrícula: null
Profesores
Horarios
Programa
Existen programas da materia para os seguintes idiomas:
CastelánGalegoInglésObxectivos da materiaO obxectivo de formación desta materia é desenvolver as destrezas necesarias para que o estudante saiba analizar a complexidade computacional dun determinado algoritmo, así como desenvolver as capacidades necesarias para escoller a combinación de estruturas de datos e estratexia de resolución máis apropiada para resolver de modo eficiente (en termos de recursos espaciais e temporais) un determinado problema. Ademais, esta materia completa a formación do estudante en estruturas de datos ao presentar as estruturas de datos non lineais e a súa utilización para representar e resolver problemas de entidade.
ContidosTema 1. Resolución de problemas: algoritmos+estruturas de datos
Tema 2. Estruturas de datos non lineais: Árbores
* Conceptos básicos e propiedades
* Árbores de busca
* Árbores de busca equilibrados
* Aplicacións
Tema 3. Estruturas de datos non lineais: Grafos
* Conceptos básicos e propiedades
* Algoritmos fundamentais con grafos
* Aplicacións
Tema 4. Táboas hash
Tema 5. Estratexias algorítmicas
* Divide e vencerás
* Algoritmos voraces
* Programación dinámica
* Volta atrás
* Ramificación e poda
Bibliografía básica e complementariaBibliografía Básica:
G.L. Heileman. Estructuras de Datos, Algoritmos y Programación Orientada a Objetos. McGraw-Hill, 1998.
L. Joyanes, I. Zahonero. Algoritmos y Estructuras de Datos: Una perspectiva en C. McGraw-Hill, 2004.
L. Joyanes, I. Zahonero, M. Fernández, L. Sánchez. Estructura de Datos. Libro de Problemas. McGraw-Hill, 1999.
Bibliografía Complementaria:
B. Bowman. Algorittmos y Estructuras de Datos. Aproximación en C. Oxford, 1999.
O. Cairó, S. Guardati. Estructuras de Datos. McGraw-Hill, 2006.
N. Martí Oliet, Y. Ortega Mallén, J.A. Verdejo López: Estructuras de Datos y Métodos Algorítmicos. Ejercicios resueltos. Pearson Prentice-Hall, 2004.
CompetenciasA materia contribúe a alcanzar as seguintes competencias, recollidas na memoria do título de Grao en Enxeñaría Informática da USC para o Módulo de Programación:
- Desenvolver programas cun bo estilo de programación, coa documentación necesaria e os comentarios adecuados.
- Saber calcular a complexidade computacional dun algoritmo e avaliar a implementación máis adecuada dun algoritmo determinado de acordo cos recursos dispoñibles (memoria e tempo de execución).
- Utilizar ferramentas de edición, compilación, e execución para desenvolver programas. Capacidade para aplicar estratexias de depuración, proba e corrección de programas.
- Escoller a estrutura de datos máis correcta e eficiente para resolver un problema.
- Manexar diferentes niveis de abstracción para estruturar o software a desenvolver.
- Deseñar algoritmos dunha certa complexidade e implementarlos aplicando os principios da programación estruturada e modular.
- Comprensión de conceptos relacionados co desenvolvemento de algoritmos.
- Manexo de xestores de erros, xestión de excepcións e tolerancia a fallos.
- Uso de repositorios de software.
- Motivación e capacidade de autoaprendizaxe.
- Autoestima e espírito de superación.
Ademais, contribúese ao desenvolvemento das competencias xerais e específicas recollidas nas correspondentes táboas na mencionada memoria do título:
* Competencias xerais:
CG1: Capacidade para desenvolver proxectos no ámbito da enxeñaría en informática que teñan por obxecto, de acordo cos coñecementos adquiridos, a concepción, o desenvolvemento ou a explotación de sistemas, servizos e aplicacións informáticas.
CG3: Capacidade para deseñar, desenvolver, avaliar e asegurar a usabilidade dos sistemas, servizos e aplicacións informáticas, así como da información que xestionan.
CG8: Coñecemento das materias básicas e tecnoloxías, que capaciten para a aprendizaxe e desenvolvemento de novos métodos e tecnoloxías, así como as que lles doten dunha gran versatilidade para adaptarse a novas situacións.
CG9: Capacidade para resolver problemas con iniciativa, toma de decisións, autonomía e creatividade. Capacidade para saber comunicar e transmitir os coñecementos, habilidades e destrezas da profesión de Enxeñeiro Técnico en Informática.
* Competencias transversais:
TR1 (Instrumentais): Capacidade de análise e síntese. Capacidade de organización e planificación. Comunicación oral e escrita. Capacidade de xestión da información. Resolución de problemas. Toma de decisións.
TR2 (Persoais): Traballo en equipo. Habilidades nas relacións interpersoais. Razoamento crítico.
TR3 (Sistémicas): Aprendizaxe autónoma. Adaptación a novas situacións. Creatividade. Iniciativa. Motivación pola calidade.
* Formación Básica
FB3: Capacidade para comprender e dominar os conceptos básicos de algorítmica e complexidade computacional, e a súa aplicación para a resolución de problemas propios da enxeñaría.
FB4: Coñecementos básicos do uso e programación dos computadores.
FB5: Coñecemento dos fundamentos da programación dos sistemas informáticos, e a súa aplicación para a resolución de problemas propios da enxeñaría.
* Comúns á rama da Informática
RI6: Coñecemento e aplicación dos procedementos algorítmicos básicos das tecnoloxías informáticas para deseñar solucións a problemas, analizando a idoneidade e complexidade dos algoritmos propostos.
RI7: Coñecemento, deseño e utilización de forma eficiente dos tipos e estruturas de datos máis adecuados á resolución dun problema.
Metodoloxía da ensinanza A metodoloxía seguida usa como plataforma básica o Campus Virtual da USC. Na aula virtual da materia o alumno disporá de toda a información (material de teoría, transparencias de clase, guións de prácticas, bibliotecas de TADs, etc.).
Impartiranse 20 horas de clases maxistrais en sesións de 1 hora, e haberá unha sesión semanal de dúas horas e media de traballo práctico (resolución de problemas, programación).
O alumno poderá en todo momento seguir a súa progresión, ao ter dispoñibles continuamente as notas dos exercicios e proxectos que teñan que entregar para seguir o modelo de avaliación continua.
Sistema de evaluaciónA avaliación consta de dúas partes individuais separadas, teoría e práctica, sendo necesario superar ambas as partes independentemente.
A parte práctica da materia avaliarase mediante un proceso de AVALIACIÓN CONTINUA:
-50% da nota global: entrega de proxectos prácticos durante o cuadrimestre, con prazos e normas de entrega/corrección prefixadas polos profesores.
A parte teórica (50% da nota global) avaliarase en dúas partes:
-15% da nota: Entrega de exercicios ao longo do cuadrimestre.
-35% da nota: Exame global ao final do cuadrimestre
A entrega dalgún traballo (proxecto ou exercicio) con posterioridade ao 1 de novembro levará asociada a consideración de PRESENTADO na cualificación da materia, independentemente da asistencia ou non ao exame final.
RECUPERACIÓN (XULLO):
Poderán realizar este exame aqueles alumnos que non superasen algunha das partes na avaliación continua, ou os que opten directamente por esta opción.
- Teoría (50% da nota final): exercicio escrito.
- Práctica (50% da nota final): elaboración dun proxecto.
En aplicación da normativa de autoría de traballos prácticos aprobada pola Xunta da ETSE (01/03/2012), a copia total ou parcial de algún exercicio de prácticas ou teoría suporá o suspenso nas dúas oportunidades do curso, coa cualificación de 0,0 en ambos casos.
Para os alumnos repetidores: Mantéñense unicamente os resultados da avaliación teórica ou práctica que se teña superado (nota superior a 5) no curso inmediatamente anterior. Noutro caso, terá que repetirse a materia completa
Una vez que a materia perde o dereito a docencia a avaliación realizarase mediante un exame escrito (50% da nota final) e a entrega dun proxecto (50% da nota final), do mesmo xeito que na oportunidade de recuperación.
Tempo de estudo e traballo persoalTRABALLO PRESENCIAL NA AULA:
Clases maxistrais: 20 horas
Aprendizaxe baseada en problemas e/ou casos en grupos reducidos: 15 horas
Sesións prácticas en grupos reducidos: 15 horas
Titorías en grupos moi reducidos: 1 hora
Actividades de avaliación: 5 horas
Total horas traballo presencial na aula: 56 horas
TRABALLO PERSOAL DO ALUMNO:
Esta materia ten 6 créditos ECTS, correspondendo unha carga de traballo persoal para os alumnos de 90 horas. Este tempo pode desagregarse nos seguintes apartados:
* Estudo autónomo: 30 horas
* Escritura de exercicios, traballos, etc.: 15 horas
* Programación/experimentación en computador: 30 horas
* Avaliación de traballos, proxectos, exames: 15 horas
Recomendacións para o estudo da materiaSupóñense uns coñecementos suficientes de linguaxe de programación C e dos fundamentos de grafos, que ven, respectivamente, nas materias de Programación I e II, e en Matemática Discreta de primeiro curso.
Recoméndase seguir o modelo de avaliación continua, o que significa levar a materia ao día. Desta forma seguiranse con maior facilidade as clases teóricas e as clases prácticas, o que fai a materia máis levadía.
Tamén se recomenda encarecidamente o uso das horas de titorías para aclarar calquera dúbida que se poida presentar no desenvolvemento da materia.