Especialización en Programación

Especialización

Online

$ 1.395 IVA inc.

Descripción

  • Tipología

    Especialización

  • Metodología

    Online

  • Horas lectivas

    600h

  • Duración

    6 Meses

  • Inicio

    Fechas disponibles

  • Campus online

  • Clases virtuales

Este Experto está orientado a lograr un alto dominio en Programación, a través de la última tecnología educativa 100% online. Con esta capacitación aprenderás la estructura básica de un ordenador, el software y de los lenguajes de programación de propósito general. Una oportunidad única para alcanzar éxito profesional como programador.

Información importante

Documentación

  • 36especializacion-programacion.pdf

Sedes y fechas disponibles

Ubicación

comienzo

Online

comienzo

Fechas disponiblesInscripciones abiertas

Información relevante sobre el curso

Objetivos generales
Š Formar científica y tecnológicamente, así como preparar para el ejercicio profesional de la ingeniería informática, todo ello con una formación transversal y versátil adaptada a las nuevas tecnologías e innovaciones en este campo.
Š Obtener amplios conocimientos en el campo de la computación, la estructura de computadoras y la ingeniería del software, todo ello incluyendo la base matemática, estadística y física imprescindible en una ingeniería.

Objetivos específicos
Módulo 1. Fundamentos de programación
Š Comprender la estructura básica de un ordenador, el software y de los lenguajes de programación de propósito general.
Š Aprender a diseñar e interpretar algoritmos, que son la base necesaria para poder desarrollar programas informáticos.
Módulo 2. Estructura de datos
Š Aprender los fundamentos de la programación en el lenguaje C++, incluyendo clases, variables, expresiones condicionales y objetos.
Š Entender los tipos abstractos de datos, los tipos de estructuras de datos lineales, estructuras de datos jerárquicas simples y complejas, así como su implementación en C++

El objetivo de esta capacitación es ofrecer a los profesionales de Informática, los conocimientos y habilidades necesarios para realizar su actividad utilizando los protocolos y técnicas más avanzados del momento. Mediante un planteamiento de trabajo totalmente adaptable al alumno, este Experto te llevará progresivamente a adquirir las competencias que te impulsarán hacia un nivel profesional superior.

Este Experto Universitario en Programación contiene el programa científico más completo y actualizado del mercado.

Tras la superación de las evaluaciones por parte del alumno, éste recibirá por correo postal con acuse de recibo su correspondiente Título de Experto Universitario emitido por la TECH - Universidad Tecnológica.

El título expedido por la TECH - Universidad Tecnológica expresará la calificación que haya obtenido en el Experto, y reúne los requisitos comúnmente exigidos por las bolsas de trabajo, oposiciones y comités evaluadores carreras profesionales.

Título: Experto Universitario en Programación
Nº Horas Oficiales: 600 h.

Nuestra escuela es la primera en el mundo que combina el estudio de casos clínicos con un sistema de aprendizaje 100% online basado en la reiteración, que combina 8 elementos diferentes que suponen una evolución con respecto al simple estudio y análisis de casos. Esta metodología, a la vanguardia pedagógica mundial, se denomina Relearning.
Nuestra escuela es la primera en habla hispana licenciada para emplear este exitoso método, habiendo conseguido en 2015 mejorar los niveles de satisfacción global (calidad docente, calidad de los materiales, estructura del curso, objetivos…) de los estudiantes que finalizan los cursos con respecto a los indicadores de la mejor universidad online en habla hispana.

Recibida su solicitud, un responsable académico del curso le llamará para explicarle todos los detalles del programa, así como el método de inscripción, facilidades de pago y plazos de matrícula.

En primer lugar, necesitas un ordenador (PC o Macintosh), conexión a internet y una cuenta de correo electrónico. Para poder realizar los cursos integramente ON-LINE dispone de las siguientes opciones: Flash - Instalando Flash Player 10 o posterior (http://www.adobe.com/go/getflash), en alguno de los siguientes navegadores web: - Windows: Internet Explorer 6 y posteriores, Firefox 1.x y posteriores, Google Chrome, Opera 9.5 y posteriores - Mac: Safari 3 y posteriores, Firefox 1.x y posteriores, Google Chrome - Linux: Firefox 1.x y posteriores HTML5 - Instalando alguno de los navegadores web: - Google Chrome 14 o posterior sobre Windows o Mac - Safari 5.1 o posterior sobre Mac - Mobile Safari sobre Apple iOS 5.0 o posterior en iPad/iPhone Apple iOS - Articulate Mobile Player; Apple iOS 5.0 o posterior en iPad.

Preguntas & Respuestas

Añade tu pregunta

Nuestros asesores y otros usuarios podrán responderte

¿Quién quieres que te responda?

Déjanos tus datos para recibir respuesta

Sólo publicaremos tu nombre y pregunta

Opiniones

Materias

  • Software
  • Lenguajes
  • Programación
  • Introducción
  • Fundamentos
  • Básica
  • Diseño
  • Algoritmos
  • Resolución
  • Tecnicas

Profesores

Docente Docente

Docente Docente

Profesor

Temario

Módulo 1. Fundamentos de Programación

1.1. Introducción a la programación.

1.1.1. Estructura básica de un ordenador.
1.1.2. Software.
1.1.3. Lenguajes de programación.
1.1.4. Ciclo de vida de una aplicación informática.

1.2. Diseño de algoritmos.

1.2.1. La resolución de problemas.
1.2.2. Técnicas descriptivas.
1.2.3. Elementos y estructura de un algoritmo.

1.3. Elementos de un programa.

1.3.1. Origen y características del lenguaje C++
1.3.2. El entorno de desarrollo.
1.3.3. Concepto de programa.
1.3.4. Tipos de datos fundamentales.
1.3.5. Operadores.
1.3.6. Expresiones.
1.3.7. Sentencias.
1.3.8. Entrada y salida de datos.

1. 4. Sentencias de control.

1.4.1. Sentencias .
1.4.2. Bifurcaciones.
1.4.3. Bucles.

1.5. Abstracción y modularidad: funciones.

1.5.1. Diseño modular.
1.5.2. Concepto de función y utilidad.
1.5.3. Definición de una función.
1.5.4. Flujo de ejecución en la llamada de una función.
1.5.5. Prototipo de una función.
1.5.6. Devolución de resultados.
1.5.7. Llamada a una función: parámetros.
1.5.8. Paso de parámetros por referencia y por valor.
1.5.9. Ámbito identificador.

1.6. Estructuras de datos estáticas.

1.6.1. Arrays.
1.6.2. Matrices. Poliedros .
1.6.3. Búsqueda y ordenación.
1.6.4. Cadenas. Funciones de E/S para cadenas.
1.6.5. Estructuras. Uniones.
1.6.6. Nuevos tipos de datos.

1.7. Estructuras de datos dinámicas: punteros.

1.7.1. Concepto. Definición de puntero.
1.7.2. Operadores y operaciones con punteros.
1.7.3. Arrays de punteros.
1.7.4. Punteros y arrays.
1.7.5. Punteros a cadenas.
1.7.6. Punteros a estructuras.
1.7.7. Indirección múltiple.
1.7.8. Punteros a funciones.
1.7.9. Paso de funciones, estructuras y arrays como parámetros de funciones.

1.8. Ficheros.

1.8.1. Conceptos básicos.
1.8.2. Operaciones con ficheros.
1.8.3. Tipos de ficheros.
1.8.4. Organización de los ficheros.
1.8.5. Introducción a los ficheros C++
1.8.6. Manejo de ficheros.

1.9. Recursividad.

1.9.1. Definición de recursividad.
1.9.2. Tipos de recursión.
1.9.3. Ventajas e inconvenientes.
1.9.4. Consideraciones.
1.9.5. Conversión recursivo-iterativa.
1.9.6. La pila de recursión.

1.10. Prueba y documentación.

1.10.1. Pruebas de programas.
1.10.2. Prueba de la caja blanca.
1.10.3. Prueba de la caja negra.
1.10.4. Herramientas para realizar las pruebas.
1.10.5. Documentación de programas.

Módulo 2. Estructura de Datos

2.1. Introducción a la programación en C++

2.1.1. Clases, constructores, métodos y atributos.
2.1.2. Variables.
2.1.3. Expresiones condicionales y bucles.
2.1.4. Objetos.

2.2. Tipos abstractos de datos (TAD).

2.2.1. Tipos de datos.
2.2.2. Estructuras básicas y TAD
2.2.3. Vectores y arrays.

2.3. Estructuras de datos lineales.

2.3.1. TAD Lista. Definición.
2.3.2. Listas enlazadas y doblemente enlazadas.
2.3.3. Listas ordenadas.
2.3.4. Listas en C++
2.3.5. TAD Pila.
2.3.6. TAD Cola.
2.3.7. Pila y Cola en C++

2.4. Estructuras de datos jerárquicas.

2.4.1. TAD Árbol.
2.4.2. Recorridos.
2.4.3. Árboles n-arios.
2.4.4. Árboles binarios.
2.4.5. Árboles binarios de búsqueda.

2.5. Estructuras de datos jerárquicas: árboles complejos.

2.5.1. Árboles perfectamente equilibrados o de altura mínima.
2.5.2. Árboles multicamino.
2.5.3. Referencias bibliográficas.

2.6. Montículos y cola de prioridad.

2.6.1. TAD Montículos .
2.6.2. TAD Cola de prioridad.

2.7. Tablas hash.

2.7.1. TAD Tabla hash.
2.7.2. Funciones hash.
2.7.3. Función hash en tablas hash.
2.7.4. Redispersión.
2.7.5. Tablas hash abiertas.

2.8. Grafos.

2.8.1. TAD Grafo.
2.8.2. Tipos de grafo.
2.8.3. Representación gráfica y operaciones básicas.
2.8.4. Diseño de grafos.

2.9. Algoritmos y conceptos avanzados sobre grafos.

2.9.1. Problemas sobre grafos.
2.9.2. Algoritmos sobre caminos.
2.9.3. Algoritmos de búsqueda o recorridos.
2.9.4. Otros algoritmos.

2.10. Otras estructuras de datos.

2.10.1. Conjuntos.
2.10.2. Arrays paralelos.
2.10.3. Tablas de símbolos.
2.10.4. Tries.

Módulo 3. Programación Avanzada

3.1. Introducción a la programación orientada a objetos.

3.1.1. Introducción a la programación orientada a objetos.
3.1.2. Diseño de clases.
3.1.3. Introducción a UML para el modelado de los problemas.

3.2. Relaciones entre clases.

3.2.1. Abstracción y herencia.
3.2.2. Conceptos avanzados de herencia.
3.2.3. Polimorfismo.
3.2.4. Composición y agregación.

3.3. Introducción a los patrones de diseño para problemas orientados a objetos.

3.3.1. Qué son los patrones de diseño.
3.3.2. Patrón Factory.
3.3.3. Patrón Singleton.
3.3.4. Patrón Observer.
3.3.5. Patrón Composite.

3.4. Excepciones.

3.4.1. ¿Qué son las excepciones?
3.4.2. Captura y gestión de excepciones.
3.4.3. Lanzamiento de excepciones.
3.4.4. Creación de excepciones.

3.5. Interfaces de usuarios.

3.5.1. Introducción a Qt
3.5.2. Posicionamiento.
3.5.3. ¿Qué son los eventos?
3.5.4. Eventos: definición y captura.
3.5.5. Desarrollo de interfaces de usuario.

3.6. Introducción a la programación concurrente.

3.6.1. Introducción a la programación concurrente.
3.6.2. El concepto de proceso e hilo.
3.6.3. Interacción entre procesos o hilos.
3.6.4. Los hilos en C++
3.6.5. Ventajas e inconvenientes de la programación concurrente.

3.7. Gestión de hilos y sincronización.

3.7.1. Ciclo de vida de un hilo.
3.7.2. La clase Thread.
3.7.3. Planificación de hilos.
3.7.4. Grupos hilos.
3.7.5. Hilos de tipo demonio.
3.7.6. Sincronización.
3.7.7. Mecanismos de bloqueo.
3.7.8. Mecanismos de comunicación.
3.7.9. Monitores.

3.8. Problemas comunes dentro de la programación concurrente.

3.8.1. El problema de los productores consumidores.
3.8.2. El problema de los lectores y escritores.
3.8.3. El problema de la cena de los filósofos.

3.9. Documentación y pruebas de software.

3.9.1. ¿Por qué es importante documentar el software?
3.9.2. Documentación de diseño .
3.9.3. Uso de herramientas para la documentación.

3.10. Pruebas de software.

3.10.1. Introducción a las pruebas del software.
3.10.2. Tipos de pruebas.
3.10.3. Prueba de unidad.
3.10.4. Prueba de integración.
3.10.5. Prueba de validación.
3.10.6. Prueba del sistema.

Especialización en Programación

$ 1.395 IVA inc.