Guía Docente 2020-21
FUNDAMENTOS DE PROGRAMACIÓN

DATOS BÁSICOS DE LA GUÍA DOCENTE:

Materia: FUNDAMENTOS DE PROGRAMACIÓN
Identificador: 33320
Titulación: DOBLE GRADO EN FARMACIA Y BIOINFORMÁTICA. PLAN 2018
Módulo: INFORMÁTICA
Tipo: MATERIA BASICA
Curso: 1 Periodo lectivo: Primer Cuatrimestre
Créditos: 6 Horas totales: 150
Actividades Presenciales: 64 Trabajo Autónomo: 86
Idioma Principal: Castellano Idioma Secundario: Inglés
Profesor: MONASTERIO BAZAN, VIOLETA (T)
ALCAINE OTIN, ALEJANDRO
Correo electrónico: vmonasterio@usj.es
lalcaine@usj.es

PRESENTACIÓN:

La asignatura supone la primera toma de contacto con la programación informática en la universidad. Se trata de un pilar fundamental para el buen desarrollo académico y profesional. En el mundo profesional, se trata de uno de los campos en el mundo de la informática de mayor dimensión tanto social como económicamente.
 
En esta asignatura se aprenderá a analizar y resolver problemas de tratamiento de información de complejidad baja o media y a construir algoritmos que los resuelvan. Para ello se deberá aprender a representar la información asociada a cada problema y se deberá ser capaz de diseñar y documentar las acciones algorítmicas que los resuelvan de forma eficaz y eficiente. 

COMPETENCIAS PROFESIONALES A DESARROLLAR EN LA MATERIA:

Competencias Generales de la titulación G01 Utilizar estrategias de aprendizaje de forma autónoma para su aplicación en la mejora continua del ejercicio profesional.
G02 Realizar el análisis y la síntesis de problemas propios de su actividad profesional y aplicarlos en entornos similares.
G03 Cooperar para la consecución de resultados comunes mediante el trabajo en equipo en un contexto de integración, colaboración y potenciación de la discusión crítica.
G05 Comunicar en lengua castellana y/ o inglesa temas profesionales en forma oral y escrita.
G06 Resolver los problemas o imprevistos complejos que surgen durante la actividad profesional dentro de cualquier tipo de organización y la adaptación a las necesidades y exigencias de su entorno profesional.
G07 Elegir entre diferentes modelos complejos de conocimiento para su aplicación a la resolución de problemas.
G09 Aplicar las tecnologías de la información y comunicación en el ámbito profesional.
G10 Aplicar la creatividad, independencia de pensamiento, autocrítica y autonomía en el ejercicio profesional.
Competencias Específicas de la titulación E02 Desarrollar el uso y la programación de ordenadores, bases de datos y programas informáticos y su aplicación en la bioinformática.
E03 Aplicar los conceptos fundamentales de matemáticas, lógica, algorítmica y complejidad computacional para la resolución de problemas propios de la bioinformática.
E04 Programar aplicaciones de forma robusta, correcta, y eficiente, eligiendo el paradigma y los lenguajes de programación más adecuados, aplicando los conocimientos sobre procedimientos algorítmicos básicos y usando los tipos y estructuras de datos más apropiados.
E05 Implementar aplicaciones fundamentadas, previamente diseñadas y analizadas, en las características de las bases de datos.
E07 Aplicar los principios, metodologías y ciclos de vida de la ingeniería de software al desarrollo de un proyecto en el ámbito de la bioinformática.
E08 Evaluar aplicaciones y sistemas informáticos, previamente diseñados, desarrollados y seleccionados, asegurando su fiabilidad y calidad, conforme a principios éticos y a la legislación y normativa vigente.
E09 Elaborar y mantener documentación descriptiva de la génesis, producción y operatividad de los sistemas informáticos.
E10 Diseñar y desplegar la arquitectura de sistemas IT mediante la definición del software, hardware y las comunicaciones necesarias de acuerdo con unos requisitos.
E11 Aplicar los principios y técnicas de la computación concurrente o paralela para la creación y simulación de procesos bio-inspirado

REQUISITOS PREVIOS:

No es necesario poseer ningún requisito previo. Es recomendable tener un buen conocimiento de los contenidos matemáticos elementales.

PROGRAMACIÓN DE LA MATERIA:

Contenidos de la materia:

1 - Aspectos básicos
    1.1 - Introducción
    1.2 - Variables y operadores
    1.3 - Control de flujo
    1.4 - Algoritmia y pseudocódigo
    1.5 - Funciones
2 - Tipos de datos avanzados, memoria y E/S
    2.1 - Arrays, punteros y strings
    2.2 - Estructuras
    2.3 - Asignación dinámica de memoria
    2.4 - Entrada y salida, ficheros
    2.5 - Funciones avanzadas

La planificación de la asignatura podrá verse modificada por motivos imprevistos (rendimiento del grupo, disponibilidad de recursos, modificaciones en el calendario académico, etc.) y por tanto no deberá considerarse como definitiva y cerrada.


METODOLOGÍAS Y ACTIVIDADES DE ENSEÑANZA Y APRENDIZAJE:

Metodologías de enseñanza-aprendizaje a desarrollar:

Cada semana del curso consta de dos sesiones. La primera sesión (martes) se podrá seguir en línea a ravés de la plataforma online del curso. La segunda sesión (viernes) se realizará de manera presencial en el aula. Durante las sesiones se utilizarán las siguientes metodologías de enseñanza-aprendizaje:
 
a) Exposición de contenidos teóricos y ejemplos
Los profesores expondrán la mayor parte teórica básica de la asignatura durante las sesiones presenciales en el aula (viernes). El material utilizado en cada sesión estará siempre en la PDU con antelación para que el alumnado pueda realizar una lectura previa. Se recomienda encarecidamente leer con anterioridad los temas a tratar en clase. Las sesiones de asistencia obligatoria no se grabarán por defecto. Las sesiones presenciales de asistencia no obligatoria podrán grabarse y ponerse a disposición del alumnado en la PDU. 
 
b) Aprendizaje basado en resolución de ejercicios y problemas
Los contenidos teóricos se apoyan en la resolución de problemas que serán propuestos por los profesores. Estos problemas serán resueltos, en su mayoría, por el alumnado como parte de su trabajo autónomo en las sesiones de asistencia no obligatoria (martes). De forma puntual algunos problemas se resolverán por los profesores en las clases presenciales previa petición del alumnado.
 
c) Aprendizaje basado la solución de prácticas y proyectos
Una parte muy importante del aprendizaje de la asignatura se conseguirá con la resolución de prácticas de manera individual. Los profesores proporcionarán los enunciados de las prácticas con antelación y se establecerá una fecha límite de entrega en la PDU. Cada práctica consistirá en la realización de un pequeño proyecto relacionado con un bloque temático de la asignatura. La resolución de estas prácticas y de los problemas citados en el apartado b) se considera indispensable para adquirir las competencias propias de la asignatura.
 
d) Sesiones de tutoría
El alumnado podrá solicitar, mediante cita previa, sesiones de tutoría dentro del horario establecido por los profesores. El objetivo de las tutorías es resolver aquellas dudas que no han podido ser resueltas durante las sesiones presenciales o en línea, o que hayan surgido en el tiempo dedicado al trabajo autónomo. Por lo tanto, las tutorías requieren un trabajo previo por parte del alumnado y no suplen a las sesiones en línea o presenciales. Para las sesiones de tutoría se podrán utilizar los distintos medios tecnológicos disponibles (videoconferencia, foros de la PDU, etc). Debido a las circunstancias excepcionales del curso 2020-2021, las tutorías no se realizarán de manera presencial.

Volumen de trabajo del alumno:

Modalidad organizativa Métodos de enseñanza Horas estimadas
Actividades Presenciales
Clase magistral 22
Otras actividades teóricas 4
Resolución de prácticas, problemas, ejercicios etc. 20
Talleres 8
Prácticas de laboratorio 4
Actividades de evaluación 6
Trabajo Autónomo
Asistencia a tutorías 8
Estudio individual 34
Preparación de trabajos individuales 44
Horas totales: 150

SISTEMA DE EVALUACIÓN:

Obtención de la nota final:

Pruebas escritas: 60 %
Trabajos individuales: 30 %
Test online: 10 %
TOTAL 100 %

*Las observaciones específicas sobre el sistema de evaluación serán comunicadas por escrito a los alumnos al inicio de la materia.

BIBLIOGRAFÍA Y DOCUMENTACIÓN:

Bibliografía básica:

Kerningham, N.B., Ritchie, M.D. El lenguaje de programación C. ISBN: 9688802050
Joyanes Aguilar, L., Zahonero Martínez Ignacio. Programación en C. ISBN: 8448198441

Bibliografía recomendada:

Byron Gottfrieg. Programación en C. ISBN: 8448198468
G. Brassard, P. Bratley. Fundamentos de Algoritmia ISBN: 848966000X

Páginas web recomendadas:

Site con información sobre programación en C www.cprogramming.com
Página con compiladores de C www.thefreecountry.com/compilers/cpp.shtml