Profesor | José de Jesús Galaviz Casas | ma ju | 13 a 14:30 |
Ayudante | María Ximena Lezama Hérnandez | lu mi | 13 a 14 |
Ayudante | Luis Soto Martínez | lu mi | 13 a 14 |
Ayud. Lab. | Karla Adriana Esquivel Guzmán | ju | 10 a 12 |
Ayud. Lab. | Miren Jessamyn Hernández Leyva | ju | 10 a 12 |
Proceso de solución de problemas.
Paradigmas de programación.
Encapsulación, cohesión y acoplamiento.
Cualidades del software.
Programación a la defensiva.
Código limpio. Buenas prácticas de programación.
Elementos objetivos y subjetivos de la calidad del software.
Pruebas.
Depuración.
Optimización.
Herramientas de programación.
Patrones de diseño.
Martin, R.C, Clean Code, Pearson, 2009.
Hunt, A y D. Thomas, The pragmatic programmer: from journeyman to master, Addison Wesley, 1999.
Mancuso, S., The Software Craftsman: Professionalism, Pragmatism, Pride, Prentice Hall, 2014.
Gamma, E., R. Helm, R. Johnson, J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison Wesley, 1995.
Henney, K., 97 Things Every Programmer Should Know, O'Reilly Media, 2010.
Organización
El curso estará organizado en varias sesiones semanales síncronas que serán grabadas para que quienes no puedan asistir o tengan problemas de conectividad puedan accederlas posteriormente.
No habrá exámenes que requieran conexión síncrona de los asistentes.
Los mecanismos de evaluación estarán basados en cuestionarios (para evaluar la parte teórica del curso), proyectos de programación (que requieren del proceso completo de modelación, abstracción y diseño de la solución) y pequeños problemas orientados a la optimización de código. Se realizarán tres proyectos y alrededor de una decena de programas pequeños. Los proyectos pueden realizarse en parejas, a lo más. Los programas pequeños son individuales. En esto se difiere de lo especificado el el sito web del curso.
En principio la calificación final se calculará considerando estos tres rubros en partes iguales (teoría, proyectos, programas breves).
Si en algún momento durante el curso la situación de algun(a) estudiante se torna difícil para continuar o seguir el ritmo del curso, en cualquier momento se puede solicitar la calificación NP. Sin embargo se procurará tener mecanismos alternos para evaluar de mejor manera al alumno(a) en problemas (cláusula "No one left behind").
En caso de plagio los involucrados en el hecho se harán acreedores a la calificación de 5.
Los y las estudiantes que se inscriban al curso serán dados de alta en Google classroom y se usará el enlace de meet para las sesiones. Se creará también un grupo de Telegram