Temario y Políticas Generales
I. Objetivos Generales
Al finalizar el curso, el alumno:
-
Conocer y manejar con soltura el concepto de apuntadores
-
Utilizar técnicas de programación para la solución de problemas utilizando algoritmos complejos.
-
Relacionar los conceptos de programación orientada a eventos y máquinas de estados para el diseño de sistemas.
-
Crear interfases gráficas utilizando el concepto de la programación orientada a eventos.
-
Asignar y tomar responsabilidades en equipos de trabajo.
II. Bibliografía
-
Kernighan, Brian, Ritchie Dennis; The C Programming Language; 2nd Edition; 1988. Prentice Hall
-
Oualline Steve, Practical C Programming, O¥Reilly & Associates, Inc. 1997
-
Prata, Stephen. 2005. C Primer Plus. 5th Edition, SAMS Publishing.
-
Harbison III, Samuel P. & Steele Jr. , Guy L.; C A Reference Manual. Prentice Hall; 5th Edition. 2002
-
Kochan, Stephen G.; Programming in C; Developer's Library - Sam's Publishing, 3rd Edition. 2005
-
Reek, Kenneth A.; Pointers on C; Addison Wesley. 1998
-
Joyanes Aguilar, Luis & Zahonero Martínez, Ignacio; Algoritmos y estructuras de datos. Una perspectiva en C; McGraw Hill. 1∞ Edición. 2004
-
Joyanes Aguilar, Luis & Zahonero Martínez, Ignacio; Programación en C. Metodología, algoritmos y estructura de datos; McGraw Hill. 2∞. Edición, 2005.
-
Loudon Kyle Mastering Algorithms with C, O¥Reilly & Associates, Inc. 1999
-
Deitel, H.M, Deitel, P.J.; Como Programar en C/C++; Prentice Hall; Segunda Edición
-
Wright, Peter; Beginning GTK+/GNOME Programming; Wrox; 2000.
-
Krause, Andrew. 2007. Foundations of GTK+ Development. Apress.
-
Loukides Mike, Oram Andy; Programming with GNU Software; O¥Reilly & Associates, Inc. 1997
III. Metodología
La metodología del curso consistirá en la exposición por parte del profesor del tema a tratar,
contando con la participación de los alumnos. El alumno realizará reportes de lecturas adicionales
sobre temas afines al curso, así como también trabajo de laboratorio a través de prácticas. Así mismo
elaborará una serie de ejercicios y prácticas referentes al material cubierto en clase.
IV. Evaluación
-
Para poder aprobar el curso, se deberá aprobar tanto la parte teórica como la parte práctica por separado, así como haber cumplido con un 80% de asistencia (6 faltas).
-
Para poder aprobar el curso, el proyecto final deberdeberá tener una calificación aprobatoria
-
La calificación del curso será obtenida promediando prácticas, reportes de las prácticas, tareas, lecturas, tres exámenes parciales y un proyecto final.
-
Las prácticas, tareas y lecturas serán obligatorias. Se deberá entregar un resumen no mayor a una cuartilla por cada lectura resaltando los puntos principales de éstas.
-
Se deberá entregar un reporte por cada práctica realizada en el laboratorio, el cual deberá contener un análisis y diseño del programa a desarrollar. Dicho reporte se deberá entregar una semana antes de entregar el código fuente y el programa funcionando.
-
No se realizarán exámenes fuera de las fechas u horas establecidas.
-
Si no se entregan las prácticas de laboratorio y las tareas antes de cada examen parcial, no se tendrá derecho al mismo.
-
Para que el proyecto final pueda ser calificado, éste deberá estar funcionando, además de cumplir completamente con las especificaciones del mismo.
-
Cualquier plagio, copia o intento de copia en cualquier examen, tarea, pr·ctica o trabajo del curso, ser· razÛn suficiente para reprobar autom·ticamente la materia. El dejarse copiar tendr· la misma sanciÛn.
La parte teórica vale un 60% de la calificación final y la parte práctica (laboratorio) el otro 40% restante:
Parte Teórica está dividida de la siguiente manera:
-
Primer Examen Parcial rápidos :................ 20 %
-
Segundo Examen Parcial: .............. 30 %
-
Tercer Examen Parcial: ................ 30 %
-
Documentación de los Programas: .... 10 %
-
Tareas ............................................ 10 %
La parte práctica está dividida de la siguiente manera:
-
Programas (código): ......................... 30 %
-
Proyecto Final: .................................. 50 %
-
Documentación Proyecto Final: ......... 20 %
Promedio final: Cualquier calificación menor a 6 es no aprobatoria. La calificación final se regirá según la siguiente tabla:
-
de 6.0 a 6.49 => 6
-
de 6.5 a 7.49 => 7
-
de 7.5 a 8.49 => 8
-
de 8.5 a 9.29 => 9
-
de 9.3 en adelante 10
V. Calendarización de Exámenes
La entrega de tareas y prácticas se indicarán a lo largo del curso. Las fechas de exámenes y entrega de proyecto final, son las siguientes:
-
Primer examen parcial: 23 de septiembre de 2022
-
Segundo examen parcial: 21 de octubre de 2022
-
Tercer examen parcial: 18 de noviembre de 2022
-
Entrega del Proyecto Final: 9 de diciembre de 2022
VI. Temario
-
Repaso
-
Apuntadores
-
Archivos
-
Depuración de programas utilizando gdb
-
Estructuras de Datos
-
Manejo dinámico de memoria
-
Listas
-
Árboles
-
Tablas de dispersión
-
Grafos
-
Métodos de Búsqueda y Ordenamiento
-
Métodos utilizando listas dinámicas de memoria
-
Métodos utilizando árboles
-
Métodos utilizando archivos
-
Máquinas de Estado (SDL)
-
Programación Orientada a Eventos
-
Introducción a GTK+
-
Conceptos generales
-
Widgets básicos y avanzados