G4011109 - Programación II (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: 2º Semestre de Titulacións de Grao/Máster
- Docencia e Matrícula: Primeiro Curso (1º 1ª vez)
Profesores
Horarios
Programa
Existen programas da materia para os seguintes idiomas:
CastelánGalegoObxectivos da materiaNa materia descríbense as estruturas de datos lineais e as técnicas algorítmicas
básicas para o deseño de algoritmos e a implementación de programas en casos
prácticos simples. Dando continuidade á materia Programación I desenvólvense
os criterios básicos que deben guiar o deseño dun programa modular, así como a
elaboración e execución dun plan de probas apropiado para verificar o correcto
funcionamento dun programa. Todos estes aspectos desenvolveranse de forma
práctica nun proxecto de programación integrador de todos os contidos
aprendidos e todas as competencias adquiridas coa realización das actividades da
materia.
ContidosTipos abstractos de datos.
Estruturas de datos dinámicas lineais: pilas, colas,
listas.
Deseño recursivo.
Análisis de algoritmos. Notacións algorítmicas.
Estratexias e técnicas
algorítmicas (voraces, divide e vencerás, programación dinámica, volta atrás)
sobre estruturas estáticas e dinámicas lineais.
Algoritmos básicos de busca,
ordenación e mestura sobre estruturas estáticas e dinámicas lineais.
Deseño,
verificación e validación de programas. Documentación.
Bibliografía básica e complementariaTextos basicos:
1) Algoritmos y estructuras de datos una perspectiva en C
Joyanes y Zahonero, McGraw-Hill, 2004.
2) Fundamentos de algoritmia
G. Brassard, P. Bratley
Prentice Hall, 2002
Textos complementarios (para a parte de probas, verificación e validación):
1) Ingeniería del software.
Sommerville, Addison Wesley, 2002
CompetenciasCG1. Capacidad para concebir, redactar, organizar, planificar, desarrollar y
firmar proyectos en el ámbito de la ingeniería en informática que tengan
por objeto, de acuerdo con los conocimientos adquiridos según lo
establecido en el apartado 5 de dicho Acuerdo, la concepción, el desarrollo
o la explotación de sistemas, servicios y aplicaciones informáticas.
CG3. Capacidad para diseñar, desarrollar, evaluar y asegurar la accesibilidad,
ergonomía, usabilidad y seguridad de los sistemas, servicios y aplicaciones
informáticas, así como de la información que gestionan.
CG4. Capacidad para definir, evaluar y seleccionar plataformas hardware y
software para el desarrollo y la ejecución de sistemas, servicios y
aplicaciones informáticas, de acuerdo con los conocimientos adquiridos
según lo establecido en el apartado 5 de dicho Acuerdo.
CG8. Conocimiento de las materias básicas y tecnologías, que capaciten para el
aprendizaje y desarrollo de nuevos métodos y tecnologías, así como las
que les doten de una gran versatilidad para adaptarse a nuevas
situaciones.
CG9. Capacidad para resolver problemas con iniciativa, toma de decisiones,
autonomía y creatividad. Capacidad para saber comunicar y transmitir los
conocimientos, habilidades y destrezas de la profesión de Ingeniero
Técnico en Informática.
TR1. Instrumentales: Capacidad de análisis y síntesis. Comunicación oral y escrita en gallego,
castellano e inglés. Capacidad de gestión de la información. Resolución de
problemas. Toma de decisiones.
TR2. Personales: Razonamiento
crítico.
TR3. Sistémicas: Aprendizaje autónomo. Adaptación a nuevas situaciones.
Creatividad. Motivación por la calidad.
FB3. Capacidad para comprender y dominar los conceptos básicos de
matemática discreta, lógica, algorítmica y complejidad computacional, y su
aplicación para la resolución de problemas propios de la ingeniería.
FB4. Conocimientos básicos el uso y programación de los ordenadores, sistemas
operativos, bases de datos y programas informáticos con aplicación en
ingeniería.
FB5. Conocimiento de la estructura, organización, funcionamiento e
interconexión de los sistemas informáticos, los fundamentos de su
programación, y su aplicación para la resolución de problemas propios de
la ingeniería.
RI1. Capacidad para diseñar, desarrollar, seleccionar y evaluar aplicaciones y
sistemas informáticos, asegurando su fiabilidad, seguridad y calidad,
conforme a principios éticos y a la legislación y normativa vigente.
RI6. Conocimiento y aplicación de los procedimientos algorítmicos básicos de
las tecnologías informáticas para diseñar soluciones a problemas,
analizando la idoneidad y complejidad de los algoritmos propuestos.
RI7. Conocimiento, diseño y utilización de forma eficiente de los tipos y
estructuras de datos más adecuados a la resolución de un problema.
RI8. Capacidad para analizar, diseñar, construir y mantener aplicaciones de
forma robusta, segura y eficiente, eligiendo el paradigma y los lenguajes
de programación más adecuados.
Competencias asociadas al módulo de Programación:
- Desarrollar programas con un buen estilo de programación, con la
documentación necesaria y los comentarios adecuados.
- Saber calcular la complejidad computacional de un algoritmo y evaluar la
implementación mas adecuada de un algoritmo determinado de acuerdo
con los recursos disponibles (memoria y tiempo de ejecución).
- Utilizar herramientas de edición, compilación, y ejecución para desarrollar
programas. Capacidad para aplicar estrategias de depuración, prueba y
corrección de programas.
- Escoger la estructura de datos más correcta y eficiente para resolver un
problema.
- Manejar diferentes niveles de abstracción para estructurar el software a
desarrollar.
- Diseñar algoritmos de una cierta complejidad e implementarlos aplicando
los principios de la programación estructurada y modular.
- Compresión de conceptos relacionados con el desarrollo de algoritmos.
- Motivación y capacidad de autoaprendizaje.
Metodoloxía da ensinanza O programa de docencia expositiva baséase en clases de pizarra, nas que se inclúen as explicacións dos temas. O programa de titorías basearase en seminarios de resolución de problemas relacionados cos distintos
aspectos do temario e tamén en probas a realizar polos estudantes.
O programa de docencia interactiva organízase de forma regular en sesións semanais de prácticas en laboratorio de computadores.
En cada sesión aplícanse na práctica da forma mais inmediata posible os temas explicados nas clases teóricas.
As prácticas estarán centradas en resolución de problemas con estruturas lineais de datos e estratexias e técnicas algorítmicas.
Utilizarase de modo constante o Campus Virtual como ferramenta de apoio a docencia expositiva e interactiva
Sistema de evaluaciónA parte práctica terá un valor de 4 puntos (avaliables mediante a entrega e defensa dunha serie de programas de estruturas lineais, análisis de algoritmos e estratexias
algoritmicas) e a parte teórica terá un valor de 6 puntos (avaliables mediante un exame teórico realizado na data oficial establecida).
Na parte práctica para aprobar haberá que acadar al menos o 50% dos puntos das prácticas e, ademais, entregar todas as prácticas que se plantexen como obrigatorias.
Na parte teórica haberá tamén exercicios avaliables efectuados en clase de pizarra que poderán proporcionar ata 1 punto adicional.
Para aprobar a materia é necesario aprobar independentemente a parte teórica e a parte práctica.
Quen suspenda a parte práctica acadando al menos durante o curso o 40% da nota das prácticas poderá acudir á oportunidade extraordinaria de xullo onde se lle requerirá que faga traballos/actividades ou un exame para completar as deficiencias formativas que teña.
Quen suspenda a parte práctica acadando durante o curso menos do 40% da nota das prácticas poderá acudir á oportunidade extraordinaria pero non poderá superar a parte práctica. É dicir, quen non
supere o 40% da nota na avaliación continua das prácticas ao longo do cuatrimestre, non poderá superar a materia na oportunidade extraordinaria.
Na oportunidade extraordinaria de xullo haberá tamén un exame teórico para os que tamén teñen pendente a parte teórica da materia.
Condicións para o "Presentado": Quen se presente ao exame final ou entregue 3 traballos de prácticas non poderá ter un "Non presentado" como nota final.
Os estudantes repetidores que houbesen superado a avaliación continua en anos anteriores con unha nota na avaliación continua superior ao 60% da mesma quedarán liberados de realizar a avaliación continua e conservarán a súa nota de anos anteriores. O resto de estudantes repetidores terán exactamente o mesmo sistema de avaliación que os estudantes de nova matrícula. Non se conservan notas de avaliación da parte teórica entre distintos anos académicos.
Tempo de estudo e traballo persoalClases de pizarra: 20 h presenciais 22 h traballo autonomo do alumno
Clases de prácticas: 30 h presenciais 55 h traballo autonomo do alumno
Tutorias e Actividades de evaluacion: 8 h presenciais 15 h traballo autonomo do alumno
Total horas presenciais: 58h
Total horas traballo autonomo: 92h
Recomendacións para o estudo da materiaRecoméndase cursar e ter aprobada a materia de Programación I dado que
en Programación II non se resolverán problemas de algoritmia básica.
O alumno que curse Programación II debe ter destreza en desenvolvemento de programas
estruturados usando as estruturas algorítmicas
fundamentais (secuencia, selección e iteración).
Non é un obxectivo de Programación II solucionar carencias de formación
relacionadas con aspectos básicos de programación estruturada e programación modular.
Para o estudo da materia, recoméndase realizar a totalidade
dos exercicios dos boletíns de problemas e de prácticas,
tanto os que se resolvan nas propias sesións de problemas e
de prácticas, como os que queden propostos.
Recoméndase encarecidamente utilizar as tutorías para
a resolución das dúbidas respecto diso destes problemas ou de calquera
contido da materia. Isto é especialmente importante
co modelo de avaliación continua das prácticas, xa que uns
contidos vanse asentando sobre os anteriores, o que fai moi
conveniente ter asimilados os temas anteriores antes de tentar comprender os novos.