Contenidos
¿Qué necesito aprender?
Para desarrollar las subcompetencias, alcanzar los niveles de dominio, y responder a las situaciones problema planteadas en esta materia, es necesario aprender diferentes conceptos, teorías, procedimientos, técnicas, actitudes y valores, entre otros contenidos.
Contenidos conceptuales
-
Introducción a la teoría de la computación
-
Lenguajes regulares
-
Lenguajes libres de contexto
-
Máquinas de Turing
-
Programación funcional
-
Programación concurrente y paralela
Contenidos procedimentales
-
Uso de herramientas de programación paralela en la solución de problemas concurrentes.
-
Diseño de un lenguaje de programación formal, análisis léxico y sintáctico.
-
Diseño de programas en los diferentes paradigmas.
-
Diseño e implementación de modelos computacionales que tienen interoperación entre ellos para generar soluciones óptimas a problemas establecidos.
Contenidos actitudinales
-
Reconocer y hacer uso consciente y eficiente de los elementos sintácticos y semánticos de un lenguaje de programación de alto nivel.
-
Reconocer la importancia de hacer buen uso de los elementos de un lenguaje de programación y de los recursos de una computadora, así como tener una apertura a nuevos paradigmas de programación.
-
Valorar la importancia de la modelación matemática para la generación de nuevo conocimiento en el área de ciencias computacionales.
-
Valorar la importancia del uso de la modelación matemática para la automatización de tecnologías en el área de ciencias computacionales.