Encabezado Facultad de Ciencias
presentacion

Objetivos


PROGRAMACIÓN I
José Luis Torres Rodríguez
Luis Enrique Serrano Gutiérrez
Requisitos
  1. Tener una cuenta de correo @ciencias.unam.mx (URL: http://mail.ciencias.unam.mx).
  2. Asistencia regular a clases
  3. No tener materias encimadas
  4. Dedicar al menos una hora diaria a la materia, adicional a las clases
  • Obtener conocimientos básicos de la creación de algoritmos para la solución de problemas.
  • Obtener conocimientos básicos de programación, y de los distintos procesos implicados en el desarrollo de software, que le permitan al estudiante generar implementaciones de soluciones a problemas, a través del uso de la computadora.
  • Obtener conocimientos del lenguaje de programación C, del manejo de los distintos tipos de datos simples y estructurados, así como de su representación en una computadora.
  • Conocer los fundamentos de los algoritmos recursivos para la solución de problemas.
  • Obtener conocimientos básicos de análisis de algoritmos.
  • C
  • Dev-Cpp
    Este compilador puede ser usado de manera libre bajo los términos de la licencia GPL de GNU, puede ser descargado en la dirección:
http://www.bloodshed.net

Las clases se llevarán a cabo de lunes a viernes, de 13:00 a 14:00 horas, con la asistencia del titular o el ayudante, en el Aula de Enseñanza de Matemáticas del edificio Tlahuizcalpan.

Se determinarán sesiones prácticas, de acuerdo a las tareas asignadas. Durante estas sesiones se revisará parte del material visto en clase, por lo que solamente se permitirá el acceso a quien asista con dicho material listo para su revisión.

Contenido
  1. Conceptos teóricos:
    • Estructura de una computadora.
    • Representación de datos en una computadora.
    • Descripción de los sistemas de numeración binario, octal y hexadecimal.
    • Descripción teórica del funcionamiento de una computadora (Máquina de Turing).
  2. Descripción del proceso de desarrollo de un sistema, como solución a un problema.
    Descripción del Ciclo de Vida de un sistema.
  3. Proceso de creación de una solución para un problema.
    • Análisis.
    • Diseño de una solución a partir del análisis.
  4. Uso de diagramas de Warnier/Orr para la descripción de una solución a un problema.
  5. Lenguaje C
    • Estructura general de un programa en C.
    • Tipos de datos simples.
    • Operadores (aritméticos, lógicos, relacionales).
    • Uso de variables.
    • Uso de la biblioteca de funciones de C.
    • Sentencias de ejecución condicional.
    • Arreglos.
    • Creación de funciones.
    • Sentencias para creación de ciclos.
    • Estructuras, uniones y enumeraciones.
    • Manejo de arreglos empacados.
  6. Manejo del ambiente de desarrollo Dev-Cpp.
  7. Recursividad.
  8. Desarrollo de soluciones recursivas a problemas.
  9. Revisión del concepto de apuntador.
  10. Uso de apuntadores para desarrollo de soluciones a problemas.
    • Apuntadores a datos
    • Apuntadores a funciones
  11. Manejo de archivos.
  12. Principios de análisis de algoritmos. Elementos básicos para determinar la conveniencia del uso de una solución a un problema, de entre varias opciones, en determinadas condiciones.
  • Practical C Programming. Oualline, Steve.
  • El lenguaje de programación C. Kernighan, Bryan. Ritchie, Dennis.
  • Fundamental of computing I: Logic, Problem solving, Programs and Computers.
El arte de la programación. Kernighan, Bryan.·Logical Construction of Systems. Warnier, J. D.

Para llevar a cabo consultas en Internet, se sugiere no hacer uso de Wikipedia, Wikimedia o algún otro WikiX, como un medio de consulta final, solamente como un medio inicial de consulta o como una forma de obtener referencias en Internet.


Evaluación del semestre

Se considerarán los siguientes elementos para llevar a cabo la evaluación:

1.Asistencia regular a clase.

2.Exámenes. Éstos se aplicarán en las siguientes fechas:


Parcial 1: 6 de marzo de 2009
Parcial 2: 17 de abril de 2009

Parcial 3: 22 de mayo de 2009

Requisito para presentar examen: haber entregado puntualmente las tareas anteriores a la fecha del examen. No habrá reposiciones.

3.Tareas teórico-prácticas, con la misma periodicidad que los exámenes teóricos. En estas tareas se aplicarán todos los conocimientos vistos hasta la fecha, complementados con material adicional.

4.Entrega de los programas vistos en clase, cada lunes. Esto incluye complementar los bloques de código vistos como ejemplo.

5.Programas semanales (de tamaño y complejidad razonable). Éstos servirán para reforzar y complementar el material visto durante la semana.

6.Participaciones en clase. Se tomarán en cuenta sobre todo aquellas participaciones que refuercen lo visto en clase y que constituyan una aportación importante.

7.Proyecto final. Se propondrán varios temas a desarrollar; cada equipo deberá seleccionar uno, el cual será entregado a más tardar el día 5 de junio de 2009. Se informará acerca de los temas al menos un mes antes de la entrega. Este proyecto final se deberá presentar ante el grupo, incluyendo el análisis, diseño e implementación realizados.

8.La entrega de todos los trabajos será improrrogable.

9.Todos los trabajos duplicados serán evaluados con cero, sin hacer indagaciones.

10.La calificación final se entregará PERSONALMENTE a más tardar el día 10 de junio de 2009, sin excepción ni prorroga.

Quien no se presente el día señalado a recibir su calificación está aceptando la evaluación que se haga de su trabajo durante el semestre.

Sin excepción, no se aceptarán reclamaciones fuera de esta fecha.

11.Sin excepciones, no se permitirá renunciar a ninguna calificación.

12.La calificación de NP solo se asignará a quien no haya entregado ningún trabajo y no haya presentado ningún examen.

13.De ninguna manera se dará un trato ni una calificación especial a ningún estudiante, por el hecho de trabajar, tener un promedio alto, contar con algún tipo de beca o tener materias encimadas. Tampoco se tomarán en cuenta recomendados de ninguna persona.


Observaciones

1.Se prohíben los teléfonos celulares durante la clase. Éstos deberán apagarse o ponerse en modo vibrador y no contestarse en el salón o laboratorio. Quien responda llamadas dentro del salón o laboratorio deberá retirarse, por respeto a sus compañeros.

2.Por ningún motivo se repetirán clases anteriores, a menos que la mayoría lo solicite y justifique.

3.Al inicio del semestre se formarán equipos de trabajo, para llevar a cabo las tareas que lo requieran, tomando en cuenta lo siguiente:

  • Los equipos constarán de a lo más cuatro integrantes.
    No se permitirá hacer cambios de los integrantes de los equipos.
  • El trabajo en equipo no implica la división de la tarea por partes iguales.
  • Se supondrá que estos trabajos se desarrollaron colectivamente por todos los integrantes, por lo que no se evaluará cada parte individualmente; cada uno de los miembros de un equipo deberá poder defender, en su totalidad, el trabajo entregado.

3.Las tareas y programas podrán ser enviados por correo a las siguientes direcciones:


jluis+P2009-2@ciencias.unam.mx
luis+P2009-2@ciencias.unam.mx

4.Para las tareas que se entreguen en papel, se sugiere hacer uso de papel reciclado. No es necesario hacer la entrega de los trabajos en fólder, sobre, etc.

5.De cada trabajo entregado se les podrá solicitar – en cualquier momento – responder preguntas acerca de o adicionales al mismo, por lo que todos deberán ser entregados, o enviados por correo, personalmente.

6.Se prohíbe introducir alimentos y bebidas al laboratorio de cómputo.

7.Ningún alumno deberá entrar al laboratorio de cómputo hasta que esté presente el titular o el ayudante; tampoco deberá permanecer dentro después de finalizada la clase.

 


Hecho en México, todos los derechos reservados 2011-2016. Esta página puede ser reproducida con fines no lucrativos, siempre y cuando no se mutile, se cite la fuente completa y su dirección electrónica. De otra forma requiere permiso previo por escrito de la Institución.
Sitio web administrado por la Coordinación de los Servicios de Cómputo de la Facultad de Ciencias. ¿Dudas?, ¿comentarios?. Escribenos. Aviso de privacidad.