Algoritmos y Estructuras I
CI-2615
septiembre-diciembre 2001
Índice
Docentes 
Listado de Estudiantes Inscritos
Horas de Consulta
Horario de Clases
Cronograma de Actividades
Evaluación
Enunciado del proyecto
Material de Teoría, Práctica y Laboratorio
Para visualizar archivos .ps, .pdf, .doc
 

CALIFICACIONES (TEORÍA) SECCIÓN OSCAR MEZA
revisión viernes 14-12-2001, 10:30am MEM-108


Docentes:
 
Teoría: 
      Oscar Meza(coordinador)
      Maruja Ortega
Laboratorio
    Jesús Ravelo (coordinador)
    Enrique González
    Rosseline Rodríguez
    Víctor Fuentes


Horas de Consulta:
Oscar Meza:                lunes 3:30-5:30pm      ofic. MYS-220-B
Maruja Ortega:            miércoles 2:00-4:00pm
Jesús Ravelo:             martes y jueves de 10:30 a 11:30am
Rosseline Rodríguez   jueves 9:30-11:30am
Enrique González       martes y jueves 10:30 a 11:30am (Sala de Lectura Comp.)
Víctor Fuentes            Miercoles 1:30-3:30pm ofic. MYS-212-C

Horario de clases:
  • Teoría: Lunes y Miércoles 9:30am-11:30am
  • Laboratorio: 
    •  
    • Bloque A martes 1:30-4:30pm
      • sala A: Rosseline Rodríguez
      • sala B: Jesús Ravelo
      • sala F: Enrique González (de 3:30-6:30pm)
    • Bloque B jueves 1:30-4:30pm
      • sala A: Rosseline Rodríguez
      • sala B: Jesús Ravelo
      • sala F: Víctor Fuentes

Cronograma de Actividades Septiembre-Diciembre 2001:
 
 
CI-2615 (Algoritmos y Estructuras de Datos I) 
Sept.-Dic. 2.001
Teoría (Lunes) Teoría (Miércoles) Laboratorio
(1) 24-28 Sept.
Teoría de Conjuntos, Relaciones, Secuencias Cálculo proposicional y cálculo de predicados
(2) 1-5 Oct.
Resolución de problemas mediante algoritmos (conceptos: especificación, acción, algoritmo, proceso, etc.) Ejemplos: pelar papas, corrección versus depuración. Solución algorítmica de Problemas. ¿Qué es un programa?. Lenguaje de Programación, Diseño descendente. Especificación de Programas Práctica sobre Conjuntos, Proposiciones y predicados.
(3) 8-12 Oct.
Introducción al Pseudolenguaje. La instrucción de asignación. Regla para demostrar la corrección de programas. Tipos básicos del Pseudolenguaje. La secuenciación de acciones. Bloques de acciones. Regla para demostrar la corrección de secuencia de acciones. Ejemplo de síntesis: covertir segundos en días, horas, minutos y segundos. Procedimientos y Funciones. Motivación del uso (control de la complejidad inducido por el diseño descendente, encapsulamiento de acciones que se repiten). Ejemplos con la máquina de trazados. Familiarización con el ambiente de desarrollo JDK de JAVA.. Cómo compilar un programa en JAVA. Ejemplo sencillo de programa. Lectura y Escritura (clase Console)
(4) 15-19 Oct.
Análisis por casos (instrucción condicional). Reglas para demostrar la corrección. Ejemplo: raíces reales de un polinomio de segundo grado. Ciclos (Procesos Iterativos). La instrucción "Mientras". Concepto de Invariante. Reglas para demostrar la corrección de ciclos. Ejemplos (se determina el invariante y función de cota de manera intuitiva): suma de los primeros n números de una sucesión.

(Quiz 17-10-2001. 10%. Material: semanas 1-3)

Ejercicios sobre especificación de problemas. Uso de las nociones de lógica, conjuntos. Desarrollo de programas sencillos en JAVA usando solo la asignación, secuenciación y llamadas a funciones y procedimientos (ejemplo, usar máquina de trazados).
(5) 22-26 Oct.
Ciclos. Otros ejemplos: desarrollo de taylor de una función, Cálculo de la potencia n-ésima de un número. Aplicación de diseño descendente. Tipo Arreglo. Ejemplos (intercambio, búsqueda binaria, recorrido de arreglos)  Ejercicios de programación que incluyan análisis de casos. (Especificación de los programas, Diseño Descendente, uso de normas de Estilo de programación, varias soluciones, documentación de los programas, usando JAVA DOC)
(6) 29-2 Oct./Nov.
Tipo arreglo. Ejemplos sobre matrices: multiplicación de matrices, almacenar una matriz en un arreglo lineal)  Esquemas de algoritmos de recorrido y búsqueda secuencial. Tipo archivo Secuencial. Desarrollo de programas en JAVA utilizando la máquina de trazados, problemas númericos, problemas sobre secuencias donde se apliquen esquemas de algoritmos (procedimientos y funciones, secuenciación, uso del condicional, ciclos) (Especificación de los programas, Diseño Descendente, uso de normas de Estilo de programación, varias soluciones, documentación de los programas, usando JAVA DOC)
(7) 5-9 Nov.
Esquemas de algoritmos de recorrido y búsqueda secuencial. Primer examen Parcial 07-11-2001 (25 %). Material de semanas 1-6 Desarrollo de programas en JAVA utilizando la máquina de trazados, problemas númericos, problemas sobre secuencias donde se apliquen esquemas de algoritmos, ej: merge de dos secuencias ordenadas. (procedimientos y funciones, secuenciación, uso del condicional, ciclos) (Especificación de los programas, Diseño Descendente, uso de normas de Estilo de programación, varias soluciones, documentación de los programas, usando JAVA DOC)
(8) 12-16 Nov.
Diseño Descendente. Refinamiento de datos y acciones. Ejemplo 1. Diseño Descendente. Refinamiento de datos y acciones. Invariante de acoplamiento. Encapsulamiento y Ocultamiento de datos.
Ejemplo 2.
Desarrollo de programas en JAVA utilizando la máquina de trazados, problemas númericos, problemas sobre secuencias. Hablar de clases en JAVA para implementar Encapsulamiento y Ocultamiento de datos (procedimientos y funciones, secuenciación, uso del condicional, ciclos) (Especificación de los programas, Diseño Descendente, uso de normas de Estilo de programación, varias soluciones, documentación de los programas, usando JAVA DOC)
(9) 19-23 Nov.
Diseño Descendente. Refinamiento de datos y acciones. Ejemplo 3. Diseño Descendente. Refinamiento de datos y acciones. Ejemplo 4. Desarrollo de programas en JAVA utilizando la máquina de trazados, problemas númericos, problemas sobre secuencias. Ejemplos sencillos para definir clases. (procedimientos y funciones, secuenciación, uso del condicional, ciclos) (Especificación de los programas, Diseño Descendente, uso de normas de Estilo de programación, varias soluciones, documentación de los programas, usando JAVA DOC)
(10) 26-30 Nov.
Derivación formal de programas iterativos (Heurísticas) Derivación formal de programas iterativos (Heurísticas). Tratamiento formal de arreglos. Desarrollo y Prueba de corrección de programas en JAVA . 
(11) 3-7 Dic.
Soluciones recursivas de problemas. Procedimientos y funciones recursivas Derivación de programas iterativos a partir de una formulación recursiva. Desarrollo y Prueba de corrección de programas en JAVA . Ejemplo de programas recursivos en JAVA.
(12) 10-14 Dic.
Segundo Examen Parcial 10-12-2001 (25%). Material: semanas 7-11

Notas: 

  • Los enunciados de los ejercicios de práctica que se harán en una determinada clase serán entregados a los estudiantes en la clase anterior de práctica. 
  • Se utiliza el lenguaje de programación JAVA.
  • Las copias tanto de proyectos como de exámenes serán sancionadas con el aplazamiento de la materia y una amonestación en la coordinación de la carrera. 

  • Los proyectos se realizan en equipos de 2 (dos) personas.

Evaluación : 
Evaluación Semana Valor
Ex. Parcial 1 07-11-2001 25%
Ex. Parcial 2  10-12-2001 25%
Quiz  17-10-2001  10%
Laboratorio 40%


Enunciado del proyecto
    Enunciado   MSWord         PDF
     

    El proyecto deberá utilizar las siguientes clases:

          Clase TableroAleatorio .JAVA
Material para teoría, práctica y laboratorio
 
  • Tareas:
         Bloque A: Tarea1 (.ps)      Tarea 1 (.pdf)     Tarea 2 (.ps)     Tarea 2 (.pdf)
                   Tarea 3 (.ps)Tarea 3 (.pdf)Tarea 4 (.ps)Tarea 4 (.pdf)
                   PRELABORATORIO(.ps)   PRELABORATORIO(.pdf)
 

         Bloque B:  Tarea1 (.ps)    Tarea 1 (.pdf)     Tarea 2 (.ps)     Tarea 2 (.pdf)
                    Tarea 3 (.ps)Tarea 3 (.pdf) Tarea 4 (.ps)Tarea 4 (.pdf)
                    PRELABORATORIO(.ps)   PRELABORATORIO(.pdf)

  • Material para los Proyectos y JAVA:

Para Visualizar Archivos:
  • Postscript (.ps): Utilizar Ghostview. Es un software de distribución gratuita, para obtenerlo visite su página.
  • MSword (.doc): Utilizar MicroSoft Word para Windows.
  • Portable Document Format (.pdf): Utilizar Acrobat Reader. Es un software de distribución gratuita, para obtenerlo visite su página.