Presentación del programa

Un programa exhaustivo y 100% online, exclusivo de TECH y con una perspectiva internacional respaldada por nuestra afiliación con la Association for Computing Machinery”

maestria computacion lenguajes Tech Universidad

En un entorno tecnológico cada vez más marcado por la automatización, la inteligencia artificial y el procesamiento del lenguaje natural, comprender cómo se construyen, interpretan y optimizan los lenguajes computacionales se ha convertido en una necesidad clave para avanzar en múltiples áreas del conocimiento y la industria. La interacción entre humanos y máquinas, la eficiencia de los sistemas informáticos y la creación de nuevas herramientas digitales dependen, en gran medida, del dominio de estos lenguajes. 

Este programa ofrece una visión integral de los pilares que sustentan la computación y los lenguajes, permitiendo adquirir competencias especializadas que potencian el pensamiento lógico, la resolución de problemas complejos y el diseño de soluciones innovadoras. Se abordan temáticas como la semántica formal, la teoría de lenguajes, los autómatas, la compilación y otros elementos fundamentales para comprender el funcionamiento interno de los sistemas informáticos. 

Además, al dominar estos contenidos, se abren oportunidades en sectores altamente dinámicos como la inteligencia artificial, el desarrollo de lenguajes de programación, la computación cuántica o la ingeniería de software. Esta especialización representa un paso estratégico para quienes desean avanzar en su carrera dentro del ámbito académico, técnico o profesional, especialmente en contextos donde se valoran perfiles con una sólida base teórica y capacidad analítica. La profundidad conceptual que se adquiere permite no solo aplicar tecnologías existentes, sino también diseñar las del futuro. 

La modalidad online de este programa permite acceder a contenidos actualizados y de alto nivel académico desde cualquier lugar, sin comprometer la calidad ni la exigencia. Esta flexibilidad facilita la compatibilidad con otros proyectos profesionales o académicos y promueve un aprendizaje autónomo, riguroso y orientado al análisis crítico. A través de una plataforma interactiva, materiales multimedia y el acompañamiento de expertos, se garantiza una experiencia enriquecedora que responde a las necesidades actuales del sector digital y académico.  Adicionalmente, un reconocido Director Invitado Internacional brindará 10 minuciosas Masterclasses. 

Asimismo, gracias a que TECHes miembro de la Association for Computing Machinery (ACM), el alumno podrá acceder a recursos exclusivos y actualizados, como publicaciones científicas, cursos especializados y conferencias internacionales. Además, tendrá la oportunidad de ampliar su red de contactos, conectando con expertos en tecnología, inteligencia artificial, ciencia de datos y otras disciplinas clave del sector. 

Un reputado Director Invitado Internacional ofrecerá 10 exclusivas Masterclasses sobre las últimas tendencias en Computación y Lenguajes”

Este Máster de Formación Permanente en Computación y Lenguajes contiene el programa universitario más completo y actualizado del mercado. Sus características más destacadas son:

  • El desarrollo de casos prácticos presentados por expertos en Computación y Lenguajes
  • Los contenidos gráficos, esquemáticos y eminentemente prácticos con los que están concebidos recogen una información científica y práctica sobre aquellas disciplinas indispensables para el ejercicio profesional
  • Los ejercicios prácticos donde realizar el proceso de autoevaluación para mejorar el aprendizaje
  • Su especial hincapié en metodologías innovadoras
  • Las lecciones teóricas, preguntas al experto, foros de discusión de temas controvertidos y trabajos de reflexión individual
  • La disponibilidad de acceso a los contenidos desde cualquier dispositivo fijo o portátil con conexión a internet

Profundizarás en la teoría de autómatas y lenguajes formales para entender cómo funcionan internamente los sistemas computacionales”

Incluye en su cuadro docente a profesionales pertenecientes al ámbito de la Computación, que vierten en este programa la experiencia de su trabajo, además de reconocidos especialistas de sociedades de referencia y universidades de prestigio.

Su contenido multimedia, elaborado con la última tecnología educativa, permitirá al profesional un aprendizaje situado y contextualizado, es decir, un entorno simulado que proporcionará un estudio inmersivo programado para entrenarse ante situaciones reales.

El diseño de este programa se centra en el Aprendizaje Basado en Problemas, mediante el cual el alumno deberá tratar de resolver las distintas situaciones de práctica profesional que se le planteen a lo largo del curso académico. Para ello, el profesional contará con la ayuda de un novedoso sistema de vídeo interactivo realizado por reconocidos expertos.

Manejarás estructuras de datos avanzadas para el desarrollo de soluciones eficientes, escalables y orientadas al rendimiento"

magister computacion lenguajes Tech Universidad

Diseñarás algoritmos sofisticados para resolver problemas computacionales con alta demanda en sectores tecnológicos clave"

Plan de estudios

En un contexto donde los avances en lenguajes de programación, teoría de autómatas y semántica formal impulsan el desarrollo de nuevas tecnologías, el estudio profundo de estos fundamentos resulta clave para innovar en áreas como la computación cuántica, la inteligencia artificial y la ciberseguridad. Por ello, este plan de estudios integra contenidos actualizados y estratégicamente estructurados que permiten comprender la lógica interna de los sistemas informáticos. Así, se favorece una visión crítica y avanzada del funcionamiento computacional, en sintonía con las transformaciones digitales que están redefiniendo los estándares de la informática a nivel global.

##IMAGE##

Diseñarás e implementarás Lenguajes de dominio específico, adaptados a necesidades técnicas concretas”

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 de un 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 grafos
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. Algoritmia y complejidad

3.1. Introducción a las estrategias de diseño de algoritmos

3.1.1. Recursividad
3.1.2. Divide y conquista
3.1.3. Otras estrategias

3.2. Eficiencia y análisis de los algoritmos

3.2.1. Medidas de eficiencia
3.2.2. Medir el tamaño de la entrada
3.2.3. Medir el tiempo de ejecución
3.2.4. Caso peor, mejor y medio
3.2.5. Notación asintótica
3.2.6. Criterios de análisis matemático de algoritmos no recursivos
3.2.7. Análisis matemático de algoritmos recursivos
3.2.8. Análisis empírico de algoritmos

3.3. Algoritmos de ordenación

3.3.1. Concepto de ordenación
3.3.2. Ordenación de la burbuja
3.3.3. Ordenación por selección
3.3.4. Ordenación por inserción
3.3.5. Ordenación por mezcla (merge sort)
3.3.6. Ordenación rápida (quicksort)

3.4. Algoritmos con árboles

3.4.1. Concepto de árbol
3.4.2. Árboles binarios
3.4.3. Recorridos de árbol
3.4.4. Representar expresiones
3.4.5. Árboles binarios ordenados
3.4.6. Árboles binarios balanceados

3.5. Algoritmos con heaps

3.5.1. Los heaps
3.5.2. El algoritmo heap sort
3.5.3. Las colas de prioridad

3.6. Algoritmos con grafos

3.6.1. Representación
3.6.2. Recorrido en anchura
3.6.3. Recorrido en profundidad
3.6.4. Ordenación topológica

3.7. Algoritmos greedy

3.7.1. La estrategia greedy
3.7.2. Elementos de la estrategia greedy
3.7.3. Cambio de monedas
3.7.4. Problema del viajante
3.7.5. Problema de la mochila

3.8. Búsqueda de caminos mínimos

3.8.1. El problema del camino mínimo
3.8.2. Arcos negativos y ciclos
3.8.3. Algoritmo de Dijkstra

3.9. Algoritmos greedy sobre grafos

3.9.1. El árbol de recubrimiento mínimo
3.9.2. El algoritmo de Prim
3.9.3. El algoritmo de Kruskal
3.9.4. Análisis de complejidad

3.10. Backtracking

3.10.1. El backtracking
3.10.2. Técnicas alternativas

Módulo 4. Diseño avanzado de algoritmos

4.1. Análisis de algoritmos recursivos y tipo divide y conquista

4.1.1. Planteamiento y resolución de ecuaciones de recurrencia homogéneas y no homogéneas
4.1.2. Descripción general de la estrategia divide y conquista

4.2. Análisis amortizado

4.2.1. El análisis agregado
4.2.2. El método de contabilidad
4.2.3. El método del potencial

4.3. Programación dinámica y algoritmos para problemas NP

4.3.1. Características de la programación dinámica
4.3.2. Vuelta atrás: backtracking
4.3.3. Ramificación y poda

4.4. Optimización combinatoria

4.4.1. Representación de problemas
4.4.2. Optimización en 1D

4.5. Algoritmos de aleatorización

4.5.1. Ejemplos de algoritmos de aleatorización
4.5.2. El teorema de Buffon
4.5.3. Algoritmo de Monte Carlo
4.5.4. Algoritmo Las Vegas

4.6. Búsqueda local y con candidatos

4.6.1. Gradient Ascent
4.6.2. Hill Climbing
4.6.3. Simulated Annealing
4.6.4. Tabu Search
4.6.5. Búsqueda con candidatos

4.7. Verificación formal de programas

4.7.1. Especificación de abstracciones funcionales
4.7.2. El lenguaje de la lógica de primer orden
4.7.3. El sistema formal de Hoare

4.8. Verificación de programas iterativos

4.8.1. Reglas del sistema formal de Hoare
4.8.2. Concepto de invariante de iteraciones

4.9. Métodos numéricos

4.9.1. El método de la bisección
4.9.2. El método de Newton-Raphson
4.9.3. El método de la secante

4.10. Algoritmos paralelos

4.10.1. Operaciones binarias paralelas
4.10.2. Operaciones paralelas con grafos
4.10.3. Paralelismo en divide y vencerás
4.10.4. Paralelismo en programación dinámica

Módulo 5. Programación avanzada

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

5.1.1. Introducción a la programación orientada a objetos
5.1.2. Diseño de clases
5.1.3. Introducción a UML para el modelado de los problemas

5.2. Relaciones entre clases

5.2.1. Abstracción y herencia
5.2.2. Conceptos avanzados de herencia
5.2.3. Polimorfismo
5.2.4. Composición y agregación

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

5.3.1. Qué son los patrones de diseño
5.3.2. Patrón factory
5.3.3. Patrón singleton
5.3.4. Patrón observer
5.3.5. Patrón composite

5.4. Excepciones

5.4.1. ¿Qué son las excepciones?
5.4.2. Captura y gestión de excepciones
5.4.3. Lanzamiento de excepciones
5.4.4. Creación de excepciones

5.5. Interfaces de usuario

5.5.1. Introducción a Qt
5.5.2. Posicionamiento
5.5.3. ¿Qué son los eventos?
5.5.4. Eventos: definición y captura
5.5.5. Desarrollo de interfaces de usuario

5.6. Introducción a la programación concurrente

5.6.1. Introducción a la programación concurrente
5.6.2. El concepto de proceso e hilo
5.6.3. Interacción entre procesos o hilos
5.6.4. Los hilos en C++
5.6.5. Ventajas e inconvenientes de la programación concurrente

5.7. Gestión de hilos y sincronización

5.7.1. Ciclo de vida de un hilo
5.7.2. La clase Thread
5.7.3. Planificación de hilos
5.7.4. Grupos de hilos
5.7.5. Hilos de tipo daemon
5.7.6. Sincronización
5.7.7. Mecanismos de bloqueo
5.7.8. Mecanismos de comunicación
5.7.9. Monitores

5.8. Problemas comunes dentro de la programación concurrente

5.8.1. El problema de los productores consumidores
5.8.2. El problema de los lectores y escritores
5.8.3. El problema de la cena de los filósofos

5.9. Documentación y pruebas de software

5.9.1. ¿Por qué es importante documentar el software?
5.9.2. Documentación de diseño
5.9.3. Uso de herramientas para la documentación

5.10. Pruebas de software

5.10.1. Introducción a las pruebas del software
5.10.2. Tipos de pruebas
5.10.3. Prueba de unidad
5.10.4. Prueba de integración
5.10.5. Prueba de validación
5.10.6. Prueba del sistema

Módulo 6. Informática teórica

6.1. Conceptos matemáticos utilizados

6.1.1. Introducción a la lógica proposicional
6.1.2. Teoría de relaciones
6.1.3. Conjuntos numerables y no numerables

6.2. Lenguajes y gramáticas formales e introducción a las máquinas de Turing

6.2.1. Lenguajes y gramáticas formales
6.2.2. Problema de decisión
6.2.3. La máquina de Turing

6.3. Extensiones para las máquinas de Turing, máquinas de Turing restringidas y computadoras

6.3.1. Técnicas de programación para las máquinas de Turing
6.3.2. Extensiones para las máquinas de Turing
6.3.3. Máquinas de Turing restringidas
6.3.4. Máquinas de Turing y computadoras

6.4. Indecibilidad

6.4.1. Lenguaje no recursivo enumerable
6.4.2. Un problema indecidible recursivamente enumerable

6.5. Otros problemas indecibles

6.5.1. Problemas indecidibles para las máquinas de Turing
6.5.2. Problema de correspondencia de Post (PCP)

6.6. Problemas intratables

6.6.1. Las clases P y NP
6.6.2. Un problema NP completo
6.6.3. Problema de la satisfacibilidad restringido
6.6.4. Otros problemas NP completos

6.7. Problemas co - NP y PSPACE

6.7.1. Complementarios de los lenguajes de NP
6.7.2. Problemas resolubles en espacio polinómico
6.7.3. Problemas PSPACE completos

6.8. Clases de lenguajes basados en la aleatorización

6.8.1. Modelo de la MT con aleatoriedad
6.8.2. Las clases RP y ZPP
6.8.3. Prueba de primalidad
6.8.4. Complejidad de la prueba de primalidad

6.9. Otras clases y gramáticas

6.9.1. Autómatas finitos probabilísticos
6.9.2. Autómatas celulares
6.9.3. Células de McCulloch y Pitts
6.9.4. Gramáticas de Lindenmayer

6.10. Sistemas avanzados de cómputo

6.10.1. Computación con membranas: sistemas P
6.10.2. Computación con ADN
6.10.3. Computación cuántica

Módulo 7. Teoría de autómatas y lenguajes formales

7.1. Introducción a la teoría de autómatas

7.1.1. ¿Por qué estudiar teoría de autómatas?
7.1.2. Introducción a las demostraciones formales
7.1.3. Otras formas de demostración
7.1.4. Inducción matemática
7.1.5. Alfabetos, cadenas y lenguajes

7.2. Autómatas finitos deterministas

7.2.1. Introducción a los autómatas finitos
7.2.2. Autómatas finitos deterministas

7.3. Autómatas finitos no deterministas

7.3.1. Autómatas finitos no deterministas
7.3.2. Equivalencia entre AFD y AFN
7.3.3. Autómatas finitos con transiciones ε

7.4. Lenguajes y expresiones regulares (I)

7.4.1. Lenguajes y expresiones regulares
7.4.2. Autómatas finitos y expresiones regulares

7.5. Lenguajes y expresiones regulares (II)

7.5.1. Conversión de expresiones regulares en autómatas
7.5.2. Aplicaciones de las expresiones regulares
7.5.3. Álgebra de las expresiones regulares

7.6. Lema de bombeo y clausura de los lenguajes regulares

7.6.1. Lema de bombeo
7.6.2. Propiedades de clausura de los lenguajes regulares

7.7. Equivalencia y minimización de autómatas

7.7.1. Equivalencia de AF
7.7.2. Minimización de AF

7.8. Gramáticas independientes de contexto (GIC)

7.8.1. Gramáticas independientes de contexto
7.8.2. Árboles de derivación
7.8.3. Aplicaciones de las GIC
7.8.4. Ambigüedad en las gramáticas y lenguajes

7.9. Autómatas a pila y GIC

7.9.1. Definición de los autómatas a pila
7.9.2. Lenguajes aceptados por un autómata a pila
7.9.3. Equivalencia entre autómatas a pila y GIC
7.9.4. Autómata a pila determinista

7.10. Formas normales, lema de bombeo de las GIC y propiedades de los LIC

7.10.1. Formas normales de las GIC
7.10.2. Lema de bombeo
7.10.3. Propiedades de clausura de los lenguajes
7.10.4. Propiedades de decisión de los LIC

Módulo 8. Procesadores de lenguajes

8.1. Introducción al proceso de compilación

8.1.1. Compilación e interpretación
8.1.2. Entorno de ejecución de un compilador
8.1.3. Proceso de análisis
8.1.4. Proceso de síntesis

8.2. Analizador léxico

8.2.1. ¿Qué es un analizador léxico?
8.2.2. Implementación del analizador léxico
8.2.3. Acciones semánticas
8.2.4. Recuperación de errores
8.2.5. Cuestiones de implementación

8.3. Análisis sintáctico

8.3.1. ¿Qué es un analizador sintáctico?
8.3.2. Conceptos previos
8.3.3. Analizadores descendentes
8.3.4. Analizadores ascendentes

8.4. Análisis sintáctico descendente y análisis sintáctico ascendente

8.4.1. Analizador LL (1)
8.4.2. Analizador LR (0)
8.4.3. Ejemplo de analizador

8.5. Análisis sintáctico ascendente avanzado

8.5.1. Analizador SLR
8.5.2. Analizador LR (1)
8.5.3. Analizador LR (k)
8.5.4. Analizador LALR

8.6. Análisis semántico (I)

8.6.1. Traducción dirigida por la sintaxis
8.6.2. Tabla de símbolos

8.7. Análisis semántico (II)

8.7.1. Comprobación de tipos
8.7.2. El subsistema de tipos
8.7.3. Equivalencia de tipos y conversiones

8.8. Generación de código y entorno de ejecución

8.8.1. Aspectos de diseño
8.8.2. Entorno de ejecución
8.8.3. Organización de la memoria
8.8.4. Asignación de memoria

8.9. Generación de código intermedio

8.9.1. Traducción dirigida por la sintaxis
8.9.2. Representaciones intermedias
8.9.3. Ejemplos de traducciones

8.10. Optimización de código

8.10.1. Asignación de registros
8.10.2. Eliminación de asignaciones muertas
8.10.3. Ejecución en tiempo de compilación
8.10.4. Reordenación de expresiones
8.10.5. Optimización de bucles

Módulo 9. Informática gráfica y visualización

9.1. Teoría del color

9.1.1. Propiedades de la luz
9.1.2. Modelos de color
9.1.3. El estándar CIE
9.1.4. Profiling

9.2. Primitivas de salida

9.2.1. El controlador de vídeo
9.2.2. Algoritmos de dibujo de líneas
9.2.3. Algoritmos de dibujo de circunferencias
9.2.4. Algoritmos de relleno

9.3. Transformaciones 2D y sistemas de coordenadas y recorte 2D

9.3.1. Transformaciones geométricas básicas
9.3.2. Coordenadas homogéneas
9.3.3. Transformación inversa
9.3.4. Composición de transformaciones
9.3.5. Otras transformaciones
9.3.6. Cambio de coordenadas
9.3.7. Sistemas de coordenadas 2D
9.3.8. Cambio de coordenadas
9.3.9. Normalización
9.3.10. Algoritmos de recorte

9.4. Transformaciones 3D

9.4.1. Translación
9.4.2. Rotación
9.4.3. Escalado
9.4.4. Reflexión
9.4.5. Cizalla

9.5. Visualización y cambio de coordenadas 3D

9.5.1. Sistemas de coordenadas 3D
9.5.2. Visualización
9.5.3. Cambio de coordenadas
9.5.4. Proyección y normalización

9.6. Proyección y recorte 3D

9.6.1. Proyección ortogonal
9.6.2. Proyección paralela oblicua
9.6.3. Proyección perspectiva
9.6.4. Algoritmos de recorte 3D

9.7. Eliminación de superficies ocultas

9.7.1. Back - face removal
9.7.2. Z - buffer
9.7.3. Algoritmo del pintor
9.7.4. Algoritmo de Warnock
9.7.5. Detección de líneas ocultas

9.8. Interpolación y curvas paramétricas

9.8.1. Interpolación y aproximación con polinomios
9.8.2. Representación paramétrica
9.8.3. Polinomio de Lagrange
9.8.4. Splines cúbicos naturales
9.8.5. Funciones base
9.8.6. Representación matricial

9.9. Curvas Bézier

9.9.1. Construcción algebraica
9.9.2. Forma matricial
9.9.3. Composición
9.9.4. Construcción geométrica
9.9.5. Algoritmo de dibujo

9.10. B - splines

9.10.1. El problema del control local
9.10.2. B - splines cúbicos uniformes
9.10.3. Funciones base y puntos de control
9.10.4. Deriva al origen y multiplicidad
9.10.5. Representación matricial
9.10.6. B - splines no uniformes

Módulo 10. Computación bioinspirada

10.1. Introducción a la Computación bioinspirada

10.1.1. Introducción a la Computación bioinspirada

10.2. Algoritmos de adaptación social

10.2.1. Computación bioinspirada basada en colonias de hormigas
10.2.2. Variantes de los algoritmos de colonias de hormigas
10.2.3. Computación basada en nubes de partículas

10.3. Algoritmos genéticos

10.3.1. Estructura general
10.3.2. Implementaciones de los principales operadores

10.4. Estrategias de exploración y explotación del espacio para algoritmos genéticos

10.4.1. Algoritmo CHC
10.4.2. Problemas multimodales

10.5. Modelos de Computación evolutiva (I)

10.5.1. Estrategias evolutivas
10.5.2. Programación evolutiva
10.5.3. Algoritmos basados en evolución diferencial

10.6. Modelos de Computación evolutiva (II)

10.6.1. Modelos de evolución basados en estimación de distribuciones (EDA)
10.6.2. Programación genética

10.7. Programación evolutiva aplicada a problemas de aprendizaje

10.7.1. Aprendizaje basado en reglas
10.7.2. Métodos evolutivos en problemas de selección de instancias

10.8. Problemas multiobjetivo

10.8.1. Concepto de dominancia
10.8.2. Aplicación de algoritmos evolutivos a problemas multiobjetivo

10.9. Redes neuronales (I)

10.9.1. Introducción a las redes neuronales
10.9.2. Ejemplo práctico con redes neuronales

10.10. Redes neuronales (II)

10.10.1. Casos de uso de las redes neuronales en la investigación médica
10.10.2. Casos de uso de las redes neuronales en la economía
10.10.3. Casos de uso de las redes neuronales en la visión artificial

##IMAGE##

Desarrollarás habilidades para el análisis formal y semántico de programas, mejorando la eficiencia del software significativamente”

Máster en Computación y Lenguajes

El sector de la informática, comparado con otras áreas académicas y laborales, ha alcanzado una hegemonía tan imprescindible que, básicamente todos los aspectos que rodean la vida contemporánea están intrínsecamente ligados a algoritmos y procesos de las ciencias computacionales; desde la ciberseguridad que protege nuestro dinero virtual, pasando por el correo electrónico que enviamos al jefe, hasta la notificación de “match” en apps como Tinder. ¿Por qué no apostarle entonces a mejorar nuestras competencias informáticas? El Máster en Computación y Lenguajes brindado por TECH Universidad Tecnológica es ese plus que necesitas para dar un salto competitivo en el mercado, sea por innovación de emprendimiento o por acceder a cargos más gratificantes en el terreno laboral tradicional. ¿Te gustaría convertirte en el próximo Tim Berners-Lee, padre de la World Wide Web y el código HTML? En TECH puedes lograrlo con clases 100% virtuales y flexibles, un profesorado altamente cualificado y un temario enriquecido por la última tecnología multimedia, donde profundizarás en los lenguajes de programación y las redes neuronales para la visión artificial. Esta es una oportunidad de profesionalización que no te puedes perder.

Obtén un título online sobre computación y lenguajes

De acuerdo con datos del Banco Mundial, a lo largo del próximo lustro se crearán 149 millones de nuevos puestos laborales en todo el mundo vinculados a la programación y el desarrollo de software, lo cual supone un considerable aumento en la búsqueda de profesionales en tecnología e informática que poseen grandes aptitudes y conocimientos especializados. Accediendo a nuestro Máster podrás adquirir un perfil de mayor categoría instruyéndote en temas como: diseño avanzado de algoritmos, estructura de datos, computación basada en nubes de partículas, programación dinámica para problemas NP, entre otros. Poseemos lo más novedoso en telemática y metodologías de enseñanza para hacer tu experiencia inmersiva, dinámica y eficiente. Anímate a matricularte en TECH y lleva tu carrera a niveles que superen las expectativas.