Tecnología  de  la  Programación

+Info
DEPARTAMENTO PROFESOR/ES
MATEMÁTICAS Y COMPUTACIÓN María Vico Pascual Martínez-Losa
Gadea Mata Martínez
TITULACIONES EN LAS QUE SE IMPARTE LA ASIGNATURA
Titulación Carácter Curso Semestre Créditos Guía Docente
Grado en Ingeniería Informática Básica 1 Segundo Semestre 6 pdf
Grado en Matemáticas Obligatoria 1 Segundo Semestre 6 pdf
CONTEXTO

Esta asignatura es una continuación de la asignatura Metodología de la Programación, primera asignatura de programación que cursan los alumnos. Ambas asignaturas corresponden a materias básicas dentro del Grado de Informática, por lo que las competencias de ambas asignaturas son requisitos básicos, tanto para las asignaturas del módulo de Programación como para el resto de asignaturas relacionadas con el desarrollo de sistemas informáticos. Las habilidades y la tecnología a adquirir son imprescindibles en el desarrollo de la práctica totalidad de sistemas informáticos, de ahí su trascendencia en el resto de las asignaturas relacionadas con la ingeniería del software y de los sistemas de información.

COMPETENCIAS
COMPETENCIAS GENERALES:
CG1-Estar capacitado para analizar, razonar y evaluar de modo crítico, lógico y, en caso necesario, formal, sobre problemas que se planteen en su entorno.
CG2-Estar capacitado para, utilizando el nivel adecuado de abstracción, establecer y evaluar modelos que representen situaciones reales.
CG7-Haber desarrollado aquellas habilidades de aprendizaje necesarias para continuar su formación.
CG8-Capacidad para concebir, redactar, organizar, planificar, desarrollar y firmar proyectos en el ámbito de la ingeniería en informática que tengan por objeto, la concepción, el desarrollo o la explotación de sistemas, servicios y aplicaciones informáticas.
CG11-Capacidad para definir, evaluar y seleccionar plataformas hardware y software para el desarrollo y la ejecución de sistemas, servicios y aplicaciones informáticas.
CG12-Capacidad para concebir, desarrollar y mantener sistemas, servicios y aplicaciones informáticas empleando los métodos de la ingeniería del software como instrumento para el aseguramiento de su calidad.

COMPETENCIAS ESPECÍFICAS:
CE3-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.
CE4-Conocimientos básicos sobre el uso y programación de los ordenadores, sistemas operativos, bases de datos y programas informáticos con aplicación en ingeniería.
CE7-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.
CE12-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.
CE13-Conocimiento, diseño y utilización de forma eficiente los tipos y estructuras de datos más adecuados a la resolución de un problema.
TEMARIO
<div style="margin-left: 40px;"> Tema 1. Nociones básicas sobre eficiencia
<div style="margin-left: 40px;"> Tema 2. Ficheros

Introducción
Ficheros físicos
Procesamiento de ficheros
Ficheros en C++<div style="margin-left: 40px;"> Tema 3. Recursividad

Introducción
Algoritmos recursivos
Tipos de recursividad
Algunos algoritmos recursivos
Recursividad vs iteración<div style="margin-left: 40px;"> Tema 4. Punteros y gestión dinámica de memoria

Concepto de puntero. Punteros descontrolados
Gestión dinámica de memoria
Representación dinámica de datos definidos por recurrencia<div style="margin-left: 40px;"> Tema 5. Tipos abstractos de datos

Definición de Tipo Abstracto de Datos
Diseño modular<div style="margin-left: 40px;"> Tema 6. Estructuras de datos lineales

Introducción
TAD Pila
TAD Cola
TAD Lista<div style="margin-left: 40px;"> Tema 7. Estructuras de datos no lineales

Introducción
Árboles