Profesor | José de Jesús Galaviz Casas | lu mi vi | 11 a 12 | O134 |
Ayudante | María Ximena Lezama Hérnandez | ma ju | 11 a 12 | O134 |
Ayudante | Carlos Gerardo Acosta Hernández | ma ju | 11 a 12 | |
Ayud. Lab. | Karla Adriana Esquivel Guzmán | ju | 12 a 14 | Laboratorio de Ciencias de la Computación 3 |
Ayud. Lab. | Carlos Gerardo Acosta Hernández | ju | 12 a 14 | Taller de Lenguajes de Programación |
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
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 el sito web del curso se especifican los porcentajes asignados a cada rubro.
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. Se creará también un grupo de Telegram.