Competencias del título |
Código
|
Competencias / Resultados del título
|
A3 |
CE3 - Analizar, diseñar, desarrollar, implementar, verificar y documentar soluciones software eficientes sobre la base de un conocimiento adecuado de las teorías, modelos y técnicas actuales en el campo de la Bioinformática |
B1 |
CB6 - Poseer y comprender conocimientos que aporten una base u oportunidad de ser originales en el desarrollo y/o aplicación de ideas, a menudo en un contexto de investigación |
B5 |
CB10 - Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida auto dirigido o autónomo. |
B8 |
CG3 - Ser capaz de trabajar en un equipo, en especial de carácter interdisciplinar |
C3 |
CT3 - Utilizar las herramientas básicas de las tecnologías de la información y las comunicaciones (TIC) necesarias para el ejercicio de su profesión y para el aprendizaje a lo largo de su vida |
C6 |
CT6 - Valorar críticamente el conocimiento, la tecnología y la información disponible para resolver los problemas con los que deben enfrentarse |
Resultados de aprendizaje |
Resultados de aprendizaje |
Competencias / Resultados del título |
Interiorizar las buenas prácticas de programación. |
AP3
|
BP5 BP8
|
|
Usar las estructuras de datos adecuadas y programar los algoritmos de manipulación para solucionar problemas reales. |
AP3
|
BP1 BP8
|
|
Capacidad para realizar programas sencillos en el computador empleando un lenguaje de alto nivel. |
AP3
|
BP1 BP5 BP8
|
CP3 CP6
|
Ser capaz de diseñar, evaluar, comparar y analizar soluciones algorítmicas básicas a problemas usuales en Bioinformática. |
AP3
|
BP1
|
CP6
|
Contenidos |
Tema |
Subtema |
1. Introducción |
a. Algoritmos. Representación. Acciones primitivas/no primitivas
b. Programas. Proceso de construcción
c. Lenguajes de programación: máquina, bajo nivel, alto nivel
d. Compiladores. Intérpretes
e. Entornos de desarrollo y herramientas: Python |
2. Conceptos básicos |
a. Estructura de un programa
b. Constantes, Variables.
c. Tipos de datos: entero, real, lógico, carácter, …
d. Estructuras simples: listas (arrays), cadenas, …
e. Operadores y expresiones (aritméticas, lógicas)
f. Declaración de variables e constantes
g. Entrada y salida estándar |
3. Sentencias de control |
a. Secuencial
b. Alternativa
c. Repetitiva: while, for |
4. Funciones |
a. Definición, declaración y llamada de función
b. El ámbito de las variables
c. Paso de argumentos
d. Recursividad
e. Módulos |
5. Ficheros |
a. Apertura y cierre
b. Lectura y escritura de datos
c. Acceso directo a los datos |
6. Introducción a estructuras abstractas |
a. Listas
b. Pilas
c. Colas
d. Árboles |
7. Introducción a la orientación a objetos |
a. Clases
b. Objetos
c. Propiedades
d. Métodos
e. Concepto de herencia |
8. Excepciones |
a. Tipos
b. Captura
c. Lanzamiento
d. Creación |
9. Librerías científicas en Python |
a. SciPy
b. NumPy
c. Matplotlib
d. BioPython |
Planificación |
Metodologías / pruebas |
Competencias / Resultados |
Horas lectivas (presenciales y virtuales) |
Horas trabajo autónomo |
Horas totales |
Prácticas de laboratorio |
A3 B8 C3 C6 |
14 |
42 |
56 |
Solución de problemas |
A3 B8 |
5 |
15 |
20 |
Prueba mixta |
A3 |
2 |
6 |
8 |
Sesión magistral |
A3 B5 B1 |
21 |
42 |
63 |
|
Atención personalizada |
|
3 |
0 |
3 |
|
(*)Los datos que aparecen en la tabla de planificación són de carácter orientativo, considerando la heterogeneidad de los alumnos |
Metodologías |
Metodologías |
Descripción |
Prácticas de laboratorio |
Desarrollo de prácticas en el laboratorio. Esta actividade supondrá el estudio de casos prácticos y ejemplos además de la realización de distintos ejercicios de programación de entrega obligatoria. La propuesta de actividades estará disponible al alumno con suficiente antelación. La labor del profesor será la supervisión de las sesiones, solucionando dudas y corrigiendo errores de interpretación, malos hábitos de programación, errores de sintaxis, etc. |
Solución de problemas |
Con el fin de afianzar los conceptos teóricos se presentarán supuestos prácticos, que en un principio serán resueltos por el profesor para que orienten los alumnos. A medida que se avance en el desarrollo teórico se formulará la resolución de problemas por parte de los alumnos, constituidos en grupos de trabajo. Dicha actividad, así como la discusión y participación activa en clase, se valorarán en la nota final. |
Prueba mixta |
Evaluación sumativa del alumno mediante un examen escrito con una parte teórica con distintos tipos de preguntas y una parte práctica para resolver pequeños problemas de programación. La prueba tratará de medir si el alumno ha adquirido los conceptos fundamentales de programación y se adiestró lo suficiente como para poseer las habilidades precisas para resolver supuestos prácticos. |
Sesión magistral |
Actividad presencial para exponer conceptos fundamentales de la materia. Consistirá en la exposición oral del profesor apoyada con medios multimedia. Durante la presentación se tratará de interactuar con el alumno formulando preguntas dirigidas con el fin de afianzar conceptos y facilitar el aprendizaje. |
Atención personalizada |
Metodologías
|
Prácticas de laboratorio |
|
Descripción |
Es fundamental la atención al alumno para resolvar cuantas dudas de concepto o de procedimiento puedan surgir durante la resolución de los supuestos prácticos. Se prestará especial atención a aquellos alumnos que presenten mayores dificultades en su aprendizaje con el fin de que su progreso no se vea ralentizado respecto al general del resto de estudiantes. |
|
Evaluación |
Metodologías
|
Competencias / Resultados |
Descripción
|
Calificación
|
Solución de problemas |
A3 B8 |
Se valorará la participación del alumno durante estas clases así como la realización de diversos trabajos puntuables que se detallarán durante el curso y que se resolverán en las tutorías de grupos reducidos. |
5 |
Prácticas de laboratorio |
A3 B8 C3 C6 |
Realización obligatoria segun las condiciones establecidas en el enunciado de cada práctica. Necesario aprobar las prácticas para superar la materia. |
60 |
Prueba mixta |
A3 |
Realización obligatoria. Necesario aprobar el examen para superar a materia. |
35 |
|
Observaciones evaluación |
Traballos prácticos - Soamente os alumnos con cualificación de NON APTO ou NON PRESENTADO en prácticas na primeira oportunidade poderán entregar os traballos de acordo ao enunciado práctico que se propoña para a segunda oportunidade. - De acordo ao artigo 14, apartado 4, da normativa*, o plaxio dos traballos prácticos levará unha nota global de NON APTO, tanto ao estudante que presente material copiado como ao que o facilitara, e por tanto a cualificación de SUSPENSO na convocatoria anual. Primeira e segunda oportunidade - As cualificacións obtidas en actividades como prácticas de laboratorio e solución de problemas serán válidas tan só para o curso académico no que se realicen. Manteranse para aqueles alumnos suspensos ou non presentados na primeira oportunidade. Só aqueles con prácticas SUSPENSAS terán a opción de realizar de novo as prácticas. Matrícula a tempo parcial - Os alumnos matriculados a tempo parcial terán que entregar as actividades avaliables nas condicións e prazos específicos que se establecerán. Será obrigación do estudante comunicar a súa situación ao profesorado. Non presentado - Terá a condición de ?Non presentado? (NP) quen non concorra á proba obxectiva no período oficial de avaliación. Oportunidade adiantada de Decembro - A avaliación da oportunidade adiantada basearase exclusivamente nunha proba escrita. * Normativa de avaliación, revisión e reclamación das cualificacións dos estudos de grao e máster universitario, aprobadas polo Consello de Goberno da Universidade dá Coruña o 19 de diciembro de 2013.
|
Fuentes de información |
Básica
|
Luis Joyanes Aguilar (2008). Fundamentos de programación : algoritmos, estructuras de datos y objetos. McGraw Hill
Mark Lutz (2013). Learning Python, Fifth Edition. O’Reilly Media, Inc
Raúl González Duque (). Python PARA TODOS. http://edge.launchpad.net/improve-python-spanish-doc/0.4/0.4.0/+download/Python%20para%20todos.pdf
Vernon L Ceder (2010). The quick Python book. Greenwich : Manning
Jesús J. García Molina, Francisco J. Montoya Dato, José L. Fernández Alemán, Mª José Majado Rosales (2005). Una introducción a la programación : un enfoque algorítmico. Thomson |
|
Complementária
|
Mitchell L Model (2009). Bioinformatics Programming Using Python. O'Reilly Media
Bill Lubanovic (2014). Introducing Python: Modern Computing in Simple Packages. O'Reilly Media |
|
Recomendaciones |
Asignaturas que se recomienda haber cursado previamente |
|
Asignaturas que se recomienda cursar simultáneamente |
|
Asignaturas que continúan el temario |
Introducción a las bases de datos/614522002 | Estructuras de datos y algoritmia para secuencias biológicas/614522013 |
|
|