Para qué te prepara:
Este Curso en Abstracción y Estructura de datos en C++ te prepara para que el alumno sea capaz de utilizar con profesionalidad en lenguaje C++, conocer la metodología de la programación y las estructura de datos.
A quién va dirigido:
El presente curso en Abstracción y Estructura de datos en C++ está dirigido a todos aquellos titulados universitarios y/o profesionales del sector de la informática que estén interesados en obtener unos conocimientos profesionales en la programación y en el lenguaje C++.
Titulación:
Doble Titulación Expedida por EUROINNOVA BUSINESS SCHOOL y Avalada por la Escuela Superior de Cualificaciones Profesionales
Objetivos:
- Realizar un el cálculo y análisis de la eficiencia. - Conocer los tipos de datos abstractos. - Conocer las clases en C++ y el método más adecuado para desarrollar los tipos de datos abstractos en este lenguaje. - Aprender la sobrecarga de operadores - Aprender las estructuras de datos lineales Pila, Cola y Lista. - Realizar estructuras de datos no lineales. - Aprender las tablas Hash.
Salidas Laborales:
Programación, Informática.
Resumen:
Este curso en Abstracción y Estructura de datos en C++ le ofrece una formación especializada en la materia. El curso de Abstracción y Estructura de datos en C++ te ofrece los conceptos fundamentales de programación, conocer las estructuras de datos más importantes, y enseña a profundizar en los paradigmas de la programación más avanzados. No sólo se pretende enseñar el lenguaje C++ sino también los conceptos fundamentales que permiten que el alumno vaya sea un programador profesional.
Metodología:
Entre el material entregado en este curso se adjunta un documento llamado Guía del Alumno dónde aparece un horario de tutorías telefónicas y una dirección de e-mail dónde podrá enviar sus consultas, dudas y ejercicios. La metodología a seguir es ir avanzando a lo largo del itinerario de aprendizaje online, que cuenta con una serie de temas y ejercicios. Para su evaluación, el alumno/a deberá completar todos los ejercicios propuestos en el curso. La titulación será remitida al alumno/a por correo una vez se haya comprobado que ha completado el itinerario de aprendizaje satisfactoriamente.
Temario:
- Tamaño del problema - Algoritmos vs implementaciones - Familias de órdenes de eficiencia - Notación asintótica - Eficiencia en tiempo y espacio - Elección del mejor algoritmo - Operación elemental - Caso peor, caso promedio y análisis amortizado - Reglas para el cálculo de la eficiencia - Algoritmo de multiplicación de matrices - Algoritmo de búsqueda binaria - Algoritmo de ordenación por selección - Un ejemplo: Motivación - Un ejemplo. El T.D.A. Matriz - Selección de operaciones - Especificación - Implementación - Especificación formal de T.D.A - Un ejemplo: El T.D.A. Fecha - Especificación del T.D.A. Fecha - Implementación del T.D.A. Fecha - Un ejemplo: El T.D.A. Polinomio - Especificación del T.D.A. polinomio - Implementación del T.D.A. polinomio - T.D.A. como tipos predefinidos - Integración de datos y operaciones - Estructuras y clases - Control de acceso. La palabra clave class - Constructores y destructores - Copiando objetos - Clase ?mínima? y funciones miembro predefinidas por el compilador - Funciones miembro inline - Llamadas a constructores y destructores - Funciones y clases amigas - Constantes y miembros static - Otras declaraciones con alcance de clase - La clase Vector Dinámico - La clase Vector disperso - La clase Conjunto - Concepto de sobrecarga de operadores - Sobrecarga como función externa - Sobrecarga como función miembro - Operadores como funciones miembro o externas - Operadores de asignación - Operadores relacionales - Operador de indexación - Operadores de incremento y decremento - Operadores de E/S - Operador de llamada a función - Definición - Operaciones - Ejemplo de uso - Implementación - Algunos aspectos a destacar - Implementaciones de pilas - Implementaciones - Implementaciones - Implementación basada en vectores - Implementación basada en celdas enlazadas - Implementación basada en celdas enlazadas con cabecera - Implementación basada en celdas doblemente enlazadas con cabecera y circulares - Implementaciones - Ejemplo: ordenar un vector - Especificación explícita del tipo T - Palabra reservada typename - Definición de los métodos de la clase - Inclusión de las definiciones - Instanciación explícita - Compilación separada - Especialización de plantillas - Valores como parámetros de plantilla - Parámetros de plantilla por defecto - Ejemplo: árboles de expresión - Recorridos - Ejemplos - Recorridos - Ejemplos - Búsqueda, inserción y borrado en un ABB - Ejemplo: Conjunto - Árboles AVL - Árboles parcialmente ordenados y completos - Ejemplo: Heapsort - Ejemplo: T.D.A. Cola con prioridad - Otras operaciones sobre heaps - Contenedores - Iteradores - Vector dinámico e iteradores - Contenedores con iteradores de sólo lectura - Iteradores y programación genérica - Contenedores plantilla y typename - Implementación - Implementación de Conjunto - Implementación de Diccionario - Seleccionando el orden - Diseño de funciones hash - Hashing de un entero - Hashing de una cadena - Hashing cerrado. Direccionamiento abierto - Hashing abierto. Encadenamiento separado - Encadenamiento mezclado - Factor de carga - Comparación de métodos - Redimensionamiento y rehashing - Tablas hash vs árboles de búsqueda - La interfaz de ConjuntoDesordenado - Implementación de ConjuntoDesordenado - Flujos y Búfers - Flujos globales predefinidos - Tamaño finito de los flujos - Estado de los flujos - E/S carácter a carácter - E/S de cadenas de caracteres - E/S de caracteres sin formato - Clases ifstream y ofstream - Apertura y cierre de archivos - Modos de apertura de un archivo - Clase fstream - Ficheros de acceso aleatorio - E/S de clases con campos ocultos UNIDAD DIDÁCTICA 1. ANÁLISIS DE LA EFICIENCIA
UNIDAD DIDÁCTICA 2.TIPOS DE DATOS ABSTRACTOS EN PROGRAMACIÓN
UNIDAD DIDÁCTICA 3. TIPOS DE DATOS ABSTRACTOS EN C++: CLASES
UNIDAD DIDÁCTICA 4. Sobrecarga de operadores
UNIDAD DIDÁCTICA 5. ESTRUCTURAS DE DATOS LINEALES: PILAS, COLAS, Y LISTAS
UNIDAD DIDÁCTICA 6. GENERALIZACIÓN: PLANTILLA
UNIDAD DIDÁCTICA 7. ESTRUCTURAS DE DATOS NO LINEALES: ÁRBOLES
UNIDAD DIDÁCTICA 8. ABSTRACCIÓN POR ITERACIÓN: ITERADORES
UNIDAD DIDÁCTICA 9. ESTRUCTURAS DE DATOS NO LINEALES: TABLAS HASH
UNIDAD DIDÁCTICA 10. GESTIÓN DE E/S. FICHEROS