En las ecuaciones diofánticas se buscan soluciones de ecuaciones polinomiales en enteros o números racionales. Las ecuaciones diofánticas de una variable son fáciles de resolver. Con respecto a las ecuaciones diofánticas de dos variables f(x,y)=0 surgen las preguntas siguientes:
1. ¿Existen soluciones en enteros?
2. ¿Existen soluciones en números racionales?
3. ¿Cuántas soluciones hay en números enteros?
4. ¿Cuántas soluciones hay en números racionales?
Para polinomios f(x1,…,𝑥n) con más de dos variables, Davis, Matijasevic y Robinson mostraron que no existe solución a la pregunta 1. Esto es, no existe un algoritmo que puede responder simplemente con un sí o un no a esta pregunta.
Ahora bien, regresando a las ecuaciones con dos variables, si pensamos en los polinomios de grado 1, ax+by=c; a,b,c enteros,
se conoce lo siguiente:
• Hay un número infinito de soluciones racionales.
• No existen soluciones enteras si mcd(a,b) no divide a c.
• De otro modo, hay un número finito de soluciones enteras.
Con respecto a los polinomios de grado dos, se sabe que, si existe una solución racional, entonces existe un número infinito de ellas. En el curso, en el capítulo 1, daremos un criterio, el teorema de Legendre, para saber cuándo una ecuación cuadrática tiene una solución en enteros.
Así que para ecuaciones de grado uno y dos se tienen una buena idea de cómo resolverlas. Las ecuaciones siguientes de dos variables, son las de grado tres. Las gráficas de estas ecuaciones son las curvas elípticas, objeto de estudio de esta asignatura. Exploraremos en el curso lo que se conoce de estas curvas. En el capítulo dos, vemos que el conjunto de soluciones de una curva elíptica, cuya ecuación es usualmente escrita en la forma de Weierstrass, forman un grupo abeliano. Establecemos el invariante j, que es un invariante de las curvas elípticas que nos ayuda en su clasificación.
Los puntos de torsión de una curva elíptica, esto es, puntos cuyo orden es finito, juegan un papel importante en su estudio. En el capítulo 3, consideramos los casos de 2 y 3 torsión y luego determinamos la situación general. Finalmente, discutimos el importante pareo de Weil sobre los puntos de torsión.
En el capítulo final, capítulo 4, estudiamos las curvas elípticas sobre campos finitos. El grupo abeliano de estas curvas es desde luego finito y el estudio de su orden es importante en muchos contextos. El conocimiento de la teoría básica de este tipo de curvas elípticas es el punto de inicio para las aplicaciones criptográficas. Aquí estudiamos un algoritmo para calcular el orden de un punto de la curva, el algoritmo de pasos pequeños y saltos gigantescos, que es un algoritmo que sirve para cualquier grupo abeliano finito. Finalmente presentamos el algoritmo de Schoof, que da un método para calcular el orden del grupo de una curva elíptica sobre un campo finito.
- Profesor: Javier Arturo Díaz Vargas

Esta asignatura se centrará en la comprensión e implementación de las redes neuronales convolucionales de aprendizaje profundo aplicadas a imágenes digitales para resolver problemas de visión computacional.
- Profesor: Anabel Martín González
En este curso se aplican los conceptos generales de Gráficas por Computadora para modelar y animar objetos 3D. Nuestro mundo está lleno de aplicaciones gráficas que buscan llamar la atención del usuario o cliente, con aplicaciones comerciales, promocionales, videojuegos, realidad aumentada (AR, Augmented Reality), realidad virtual (VR, Virtual Reality), etc. El común denominador es el contenido digital gráfico que hace llamar la atención.
- Profesor: Francisco Alejandro Madera Ramírez
En el artículo seminal “Una teoría matemática de la comunicación” publicado en 1948, Claude Shannon demostró que, dado un canal de comunicación ruidoso, existe un número, llamado la capacidad del canal, tal que se puede lograr una comunicación confiable a cualquier velocidad por debajo de la capacidad del canal, si se utilizan técnicas de codificación y decodificación adecuadas. Esto marcó el nacimiento de la teoría de la codificación, un campo de estudio que se ocupa de la transmisión de datos a través de canales ruidosos y la recuperación de mensajes dañados.
Esta teoría ha sido desarrollada para diversas aplicaciones como la transmisión de información financiera a través de líneas telefónicas, transferencia de datos de una computadora a otra o de una memoria a un procesador central, como en el caso de la memoria RAM y el procesador de una computadora; o más complicado aún, la transferencia de información desde una nave espacial a una fuente receptora en la tierra. Por ejemplo, en enero de 1979, la nave espacial “Mariner
El único prerrequisito matemático que se supone es la familiaridad con las nociones básicas y los resultados del álgebra lineal. Los resultados sobre cuerpos finitos necesarios en el curso se tratan en la unidad II.
Se hace un esfuerzo para introducir sistemáticamente muchas de las familias de códigos bien conocidas, por ejemplo, los códigos de Hamming, los códigos de Golay, los códigos de Reed-Muller, los códigos cíclicos, los códigos BCH, los códigos de Reed-Solomon, etc.
- Profesor: Javier Arturo Díaz Vargas

El curso "Aplicaciones con Arduino y Raspberry Pi", tiene como objetivo que los estudiantes utilicen las tarjetas Raspberry Pi y la plataforma Arduino para complementar sus conocimientos teóricos en Ingeniería en Computación, a través de un enfoque práctico. En este curso, también se emplearán otros sistemas digitales que faciliten la actualización y selección de componentes electrónicos, con especial énfasis en la optimización del consumo de energía. Además, se abordarán las distintas etapas del diseño, optimización y creación de sistemas y dispositivos tanto de hardware como de software.
- Profesor: Fernando Ruiz Cardeña