Teaching‎ > ‎

Programación Estructurada

On two occasions I have been asked, 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.
Charles Babbage

The Analytical Engine has no pretensions whatever to originate anything. It can do whatever we know how to order it to perform... But it is likely to exert an indirect and reciprocal influence on science itself.
Ada Lovelace












Información general
Clave: 4604031
Trimestre: 17-I
Grupo: CB01C
Profesor: Antonio López Jaimes (Cubículo C-802alopez <arroba> correo.cua.uam.mxtonio.jaimes <arroba> gmail.com).


Calificaciones



Presentaciones

Planeación del curso

La planeación detallada del curso la encuentran aquí.
Planeacion 17-I


Software y herramientas del curso
Compiladores e intérpretes: este es el programa que traduce un archivo escrito en un lenguaje de programación a lenguaje máquina.
    • Lenguaje PSeInt: Usaremos el traductor con editor integrado PSeInt
    • Lenguaje Python: Usaremos el intérprete oficial del lenguaje Python
      • Para Linux/Mac OS es fuertemente recomendable instalarlo usando el administrador de paquetes de su distribución (e.g., Ubuntu, OpenSuse, Fedora, etc.).
      • Para Windows descárguenlo del sitio oficial.
    • Lenguaje C: Usaremos de preferencia el compilador GCC.  
      • Para instalarlo en Linux/Mac OS deben usar el administrador de paquetes de su distribución.
      • Para Windows hay una herramienta que tiene el compilador GCC y el editor integrado, se llama Dev C++
    Editores y herramientas de desarrollo: herramienta para escribir fácilmente programas (colores, ayuda rápida) y usar fácilmente algún compilador e intérprete (como los listados arriba).
    • Editor para PSeInt: En la herramienta PSeInt ya están integrados el compilador + editor (con la liga de arriba tienen los dos).
    • Editor para Python: el editoSublime Text sirve tanto para Python como para C.
    • Editor para C: el editoSublime Text sirve tanto para Python como para C.

    Tareas de investigación
     # Tarea  Fecha entrega  Comentario
    Tarea 1Martes 24Fenómenos analógicos y digitales

    Prácticas
     #Práctica  Fecha entregaComeantario 
     1 Miércoles 25 antes de las 8am Aquí está la descripción de la práctica. Deben subirla a su carpeta Gooogle Drive.
     2 Lunes 30 antes de las 8am Descripción de la práctica. Deben subir los archivos de sus programas a Gooogle Drive.
     3 Miércoles 1 de febrero antes 8am    Deben hacer los mismos 7 ejercicios de la práctica 1, pero ahora escritos en Python.
     4 Lunes 6 de febrero Acá está la descripción de práctica.
     5  
     6  
     7 Miércoles 22 feb. antes 8am. 
     8 Viernes 24 febrero El juego del ahorcado
     9 Miércoles 1 de marzo antes 8am Búsqueda Binario VS Secuencial: descripción de la práctica.
     10 Viernes 3 de marzo Funciones: aquí está la descripción de la práctica.
     11 Miércoles 8 de marzo, antes 8am Batalla Naval I: aquí está la descripción de la práctica y la presentación de ayuda.
     12 Lunes 12 de marzo Batalla Naval II:Completar el juego de la práctica 11.
     13 Miércoles 15 de marzo, antes 8am Introducción C: 2 ejercicios de la práctica 4, escritos en lenguaje C.
     14 Lunes 20 de marzo, antes de 8am Busca Minas en lenguaje C.


    Ponderación y escala de calificaciones
    Para calcular la calificación final se tomarán en cuenta los siguientes porcentajes:
    Prácticas: 40%
    Evaluaciones periódicas: 40%
    Tareas y trabajos de investigación: 20%


    Intervalos para la calificación
    NA: 0.0 ≤ Cal <  6.0
    S:  6.0 ≤ Cal <  7.5
    B:  7.5 ≤ Cal <  9.0
    MB: 9.0 ≤ Cal ≤ 10.0


    Bibliografía para el curso
    1. Guillermo Levine Gutiérrez. Computación y Programación Moderna: Perspectiva Integral de la Informática. Pearson Educación, 2001.
    2. Luis Joyanes Aguilar. Fundamentos de programación: algoritmos y estructuras de datos. Pearson Educación, 1997.
    3. Raúl González Duque. Python para todos. 1.a ed. Creative Commons, 2014.
    4. Mark Lutz. Python Pocket Reference. 1.a ed. O’Reilly Media, 2014.
    5. Harvey M. Deitel y Paul J. Deitel. Cómo programar en C. 6.a ed. (7a edición en inglés.). Pearson Educación, 2009.
    6. Brian Kernighan y Dennis Ritchie. El lenguaje de programción C. 2.a ed. Prentice-Hall, 1991.