Grado en Ingeniería de Sistemas de Telecomunicación

Fórmate para trabajar como Ingeniero de Telecomunicación y desarrollarás tu carrera en un sector estratégico y en constante crecimiento

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

Descripción
Hoy en día no se puede pensar en tecnología ni innovación sin tener presente el mundo de la programación. Casi todo lo que nos rodea, tanto los elementos físicos como los virtuales, necesitan de un conjunto de instrucciones que los gestionen y les permitan “cobrar vida”. Así, la programación resulta indispensable y es un concepto primordial para todo ingeniero. En esta asignatura se aprenden las bases de este mundo, aplicadas en este caso a cualquier equipo informático.
Tipo asignatura
Primer - Obligatoria
Semestre
Anual
Curso
1
Créditos
10.00

Profesores Titulares

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

Tema 1. Introducción
Tema 2. Algorítmica básica
Tema 3. Procedimientos y funciones
Tema 4. Tipos de datos estructurados
Tema 5. Ficheros
Tema 6. Punteros y memoria dinámica
Tema 7. Programación modular y estructuras de datos lineales
Tema 8. Introducción a la recursividad

Metodología

Las clases de la asignatura de Programación quieren potenciar el aprendizaje activo del alumno mediante su implicación en el proceso de aprendizaje. En este sentido, desde el primer día, el alumno es un miembro activo de las clases y aprende a medida que desarrolla las tareas que se va planteando con su ordenador portátil y toma la iniciativa en el estudio y lectura de cierta documentación. Es pues, el ordenador, un elemento imprescindible para el alumno para alcanzar con éxito los resultados de aprendizaje de esta asignatura.

Las clases de la asignatura están enfocadas a que el alumno codifique software cada día. De esta manera las clases con más conceptos se combinan con clases eminentemente prácticas donde puedan comprobar la fiabilidad de los conocimientos adquiridos.

Evaluación

• Evaluación continua: Consiste en la realización de un conjunto de ejercicios que se irán publicando regularmente. Estos ejercicios son INDIVIDUALES. La Evaluación Continua tiene un peso de un 20% en la evaluación final del semestre en convocatoria ordinaria.

• Práctica: Cada semestre tendrá una práctica INDIVIDUAL dividida en 3 partes, las cuales corresponderán a cada uno de los bloques de conocimiento definidos para aquel semestre. Cada fase de la práctica consta de las siguientes partes evaluables:

• Ejecución (50%)
• Calidad del código (10%)
• Entrevista y conocimientos (40%)

Hasta que la Ejecución de la práctica no sea correcta, no se podrá evaluar el resto de partes de la práctica.

Si no se supera la parte de Entrevista y Conocimientos, entonces esta parte se tendrá que recuperar en la Fase de Evaluación Final.

En la entrega de la tercera parte, se deberá adjuntar una memoria final de la práctica, que ponderará en un 10% en la nota final de la práctica (una vez calculada y aprobada la nota de las 3 partes, la nota final será un 90% la práctica y un 10% la memoria).

• Fase de Evaluación Final: Esta fase final permitirá acabar de evaluar al alumno/a de las partes de Conocimientos no superadas en la fase de Entrevista y Conocimientos. Si se aprrueba esta fase, entonces la nota obtenida sustituirà el 40% de la parte de Entrevista y Conocimientos de la práctica correspondiente. Si no se aprueba alguna parte, se deberá ir a la convocatoria extraordinaria.

Para la convocatoria extraordinaria, la normativa anterior no es aplicable y cualquier alumno/a que se examine en la convocatoria extraordinaria de algún semestre, su calificación para ese semestre será:

Nota Final: 60% Práctica + 40% Fase Evaluación Final

La Fase de Evaluación Final en la convocatoria extraordinaria siempre será de TODOS los bloques de conocimiento del semestre.

Es necesario, tanto en la convocatoria ordinaria com en la extraordinaria, superar con una nota mínima de 5 tanto la Práctica como la Fase de Evaluación Final (si procede) para poder calcular la Nota Final y consecuentemente aprobar el semestre.

Criterios evaluación
Bibliografía básica

Cormen, Thomas H.; Leiserson Charles E.; Rivest Ronald L; Stein Clifford. Introduction to Algorithms, The MIT Press, 2009.

García-Bermejo, J.R. Programación Estructurada en C, Pearson/Prentice-Hall, 2008.

Hanly, Jerry R.; Koffman, Elliot B.; Problem Solving and Program Design in C, Pearson Education, 2013.

Joyanes, L. Fundamentos de la programación. Algoritmos y Estructura de Datos, McGraw-Hill, 2008.

Kernighan, Brian W.; Ritchie, Dennis M. El lenguaje de programación C, Prentice-Hall Hispanoamericana, 1991.

Kruse, Robert Leroy; Tondon, Clovis L.; Leung, Bruce P. Data structures and program design in C, Prentice-Hall, 1997.

Weiss, Mark Allen. Estructuras de datos y algoritmos, Addison-Wesley Iberoamericana, 1995.

Material complementario