Doble Grado en International Computer Engineering and Management of Business and Technology

Metodología y tecnología de la programación

Descripción
La asignatura está pensada para cualquier estudiante de primer curso de una Ingeniería. Se trata de una introducción al mundo de la programación de ordenadores. Se estudian los conceptos elementales como son el de ordenador y el de lenguaje de programación. Toda la introducción a la algorítmica se realiza mediante un lenguaje de pseudocódigo, que nos permite discernir los conceptos teóricos de aquellos que son claramente prácticos, relacionados con los lenguajes de programación.
Tipo asignatura
Primer - Obligatoria
Semestre
Anual
Curso
1
Créditos
10.00
Conocimientos previos

Ninguno

Objetivos

Los alumnos adquieren los conocimientos y desarrollan las habilidades que se indican a continuación:
1. Comprender un problema real con todos sus condicionantes y sus restricciones.
2. Abstraer los contenidos importantes de los problemas reales con el fin de analizarlos correctamente y poderlos explicar.
3. Descubrir soluciones correctas y concretas a problemas dados.
4. Escoger las soluciones más eficientes de entre todas las halladas.
5. Aprender un pseudocódigo para potenciar la reflexión sobre un lenguaje imperativo.
6. Secuenciar sentencias de forma correcta.
7. Interpretar el funcionamiento de un programa sin ser necesaria su ejecución.
8. Alcanzar los conocimientos básicos para llevar a cabo una programación estructurada y modular.
9. Tener las nociones de un lenguaje imperativo real (lenguaje C).
10. Diseñar y utilizar componentes ya existentes para así obtener algoritmos más complejos.
11. Conocer un entorno de programación real que permita ejercerse en la práctica de la programación.
12. Trabajar en equipo el análisis, diseño e implementación de software.
13. Adquirir hábitos de trabajo y estudio continuados.

Contenidos

1. Introducción al ordenador.
2. Introducción al pseudocódigo.
3. Introducción al lenguaje C.
4. Tipos de estructuras en pseudocódigos.
5. Tipos de estructuras en lenguaje C.
6. Procedimientos y funciones en pseudocódigo.
7. Procedimientos y funciones en lenguaje C.
8. Métodos de ordenación.
9. Ficheros en pseudocódigo.
10. Ficheros en lenguaje C.
11. Memoria dinámica en pseudocódigo.
12. Memoria dinámica en lenguaje C.
13. Diseño modular y estructuras de datos lineales.
14. Introducción a la recursividad.
15. Metodología de pruebas de caja blanca.

Metodología

La metodología usada se encuentra entre la clase magistral y la participativa: se combinan algunas explicaciones de contenidos nuevos con el trabajo personal o en grupo sobre problemas adecuados a los nuevos conocimientos que se van adquiriendo. También cada semana se proponen ejercicios para hacer personalmente fuera de las horas de clase. Se hace un seguimiento semanal de los ejercicios propuestos tratando de favorecer el hábito de trabajo de los alumnos. A su vez, juntamente con la parte teórica de la asignatura, hay un refuerzo basado en sesiones de laboratorio donde se pone en práctica el lenguaje de programación C. Esto se lleva a cabo mediante gran cantidad de ejemplos, los cuales ayudan al estudiante a profundizar en todos aquellos aspectos que se han tratado desde el punto de vista teórico. En estas sesiones se plantean y desarrollan unas prácticas que deben realizar en parejas, las cuales ayudan claramente a reforzar los aspectos teóricos.

Evaluación

A. Exámenes
C. Trabajos realizados en casa
E. Informes/trabajos realizados en grupo
F. Trabajos prácticos con ordenador
G. Proyectos
I. Participación en clase
J. Informes de laboratorio
K. Participación en el laboratorio
M. Controles realizados en clase
N. Ejercicios realizados en clase

La asignatura consta de dos grandes bloques: la teórica y la práctica. Ambos aspectos califican el conocimiento del alumno. Los objetivos citados anteriormente se concretan en uno u otro bloque o en ambos a la vez. En concreto, la nota se calcula a partir de un 75% de la parte teórica y un 25% de la práctica, siempre que los objetivos mínimos de cada parte hayan sido alcanzados satisfactoriamente.

La evaluación de la parte teórica se realiza teniendo en cuenta los exámenes del Punto de Control, exámenes semestrales y las notas procedentes de la Evaluación Continua.

La parte práctica de la asignatura se evalúa mayoritariamente con las 3 prácticas realizadas durante el curso. Así mismo, se valoran los ejercicios llevados a cabo en el laboratorio, así como la actitud hacia la asignatura.

Criterios evaluación

Objetivo 1: Comprender un problema real con todos sus condicionantes y sus restricciones. [A, C, F, G, M, N]

Objetivo 2: Abstraer los contenidos importantes de los problemas reales con el fin de analizarlos correctamente y poderlos explicitar. [A, C, F, G, M, N]

Objetivo 3: Encontrar soluciones correctas y concretas a problemas dados. [A, C, F, G, M, N]

Objetivo 4: Escoger las soluciones más eficientes de entre todas las posibles. [A, C, F, G, M, N]

Objetivo 5: Aprender un pseudocódigo con el fin de potenciar la reflexión sobre un lenguaje imperativo. [A, C, E, F, G, I, J, K, M, N]

Objetivo 6: Secuenciar sentencias correctamente. [A, C, F, G, M, N]

Objetivo 7: Interpretar el funcionamiento de un programa sin necesidad de ejecutarlo. [A, C, I, M, N]

Objetivo 8: Alcanzar los conocimientos básicos para llevar a cabo una programación estructurada y modular. [A, C, F, G, M, N]

Objetivo 9: Tener las nociones de un lenguaje imperativo real (lenguaje C). [A, C, E, F, G, I, J, K, M, N]

Objetivo 10: Diseñar y utilizar componentes ya existentes para obtener algoritmos complejos. [G]

Objetivo 11: Conocer un entorno de programación real que permita ejercerse en la práctica de la programación. [F, G, K]

Objetivo 12: Trabajar en equipo el análisis, diseño e implementación de software. [F, G ,K]

Objetivo 13: Adquirir hábitos de trabajo y estudio continuados. [C, F, G, M, N]