ELO 329
Diseño y Programación Orientados a Objetos
Primer Semestre 2004 / 32 sesiones
Profesor: Agustín J. González
Ayudante: Christian Lalanne  Email: elo329 en elo.utfsm.cl
Horario clases: Lunes 12:00-13:30 B-221,   Miércoles 12:00 - 13:30  B-221
Horario de Oficina
Información de contacto:  Oficina: B-322        e-mail: agustin . gonzalez "arroa"  elo.utfsm.cl        Fono: 654196
Lista de correo: lista_elo329 @ elo.utfsm.cl  (ver instrucciones de uso aquí )

Textos: Las clases estarán basadas en los siguientes textos:

"Core Java 2, Volume I Fundamentals", Cay S. Horstmann and Gary Cornell, Prentice Hall, 6th. edition 2002. (Hay copia en español en Biblioteca)
"Core Java 2, Volume II Advanced Features", Cay S. Horstmann and Gary Cornell, Prentice Hall, 5th edition, 2001. (Hay copia en español en Biblioteca)
"Data Structures in C++, Using the Standard Template Library", Timothy Budd, Addison Wesley, 1998, ISBN:0-201-30879-7 ( 5 copias se encuentran en Biblioteca)
"The C++ Standard Library", Nicolai M. Josuttis, Addison Wesley, 1999, Printing 2003. (Hay al menos una copia en Biblioteca)
"Applying UML and Patterns", Craig Larman, Prentice Hall, second edition,  2002 ( Hay copias en Biblioteca)

Contenido  (Programa)

Introducción
Pensando Orientado a Objetos
Java y Diseño Orientado a Objetos
Java: (Ejemplos del texto guia)
Sintaxis básica
Clases y objetos en Java y su documentación
Herencia, Interfaces y clases internas,
Programación conducida por eventos. ClosableFrame.java  Mimic.java  MimicCharbyChar.java
Programación gráfica   Sketch.java  MouseTest.Java  Receptores multiples para un evento (MulticastTest.java)
Indece visual de componentes de Swing
Administrador de distribución física de componentes (Layout Managers).
Excepciones en Java
Applets Ejemplos:  TumbleAppletNotHelloWorldApplet CalculatorApplet PopupCalculatorApplet ChartApplet Bookmarks.html Bookmarks.java

Elementos de Ingeniería de Software  Vea estudio comparativo
<==== Desde aquí para segundo certamen ===>
Casos de Uso, Tarjetas CRC, y diagramas UML
Ejemplo Sistema de mensajería

Más Java

Entrada y Salida en Java
Manejo de Propiedades (Properties) Ejemplo
Persistencia en Java y "Serialización"
C++
Ideas básicas
Definición de datos
Clases
Asignación dinámica de memoria
Funciones
Herencia
Métodos virtuales y ligado dinámico en C++  Ejemplo de manipulación de figuras simples
Sobrecarga de operadores
Miembros estáticos y calificador friend
Manejo de excepciones en C++: Ejemplo
Plantillas en C++ (Templates) Ejemplo

Bibioteca estándar de Plantillas ( Standard Template Library )
Vectores<vector>  (Ejemplo de Alvaro Arenas)
Listas <list>  (Ejemplo Catálogo)


    Evaluación
    60 %    2 Certámenes : 28 de Abril y 21 de Junio Primer Certamen Histograma
                                 Segundo Certamen   Histograma
                    Certámenes año 2001: Certamen 1 y Certamen 2
                    Certámenes Año 2002: Certamen 1 y Certamen 2
                    Certámenes Año 2003: Certamen 1  y su Histograma  Certamen Final y su HistogramaHistograma Resultados finales
    25 %   Tareas de programación  Instrucciones para su entrega  Criterio general de evaluación Chequeo de estilo Recomendaciones del ayudante corrector sobre documentación.
Tarea 1: Editor de Figuras. Plazo 13 de Abril 20:00 hrs. Una tarea similar del año pasado.
Tarea 2: Applet para dibujar. Plazo 4 de Mayo 20:00 hrs.
Tarea 3: Editor de figuras persistentes. Plazo 1 de Junio 20:00 hrs.
Tarea 4: (Voluntaria) Tómbola en C++ con salida HTML. Plazo 18 de Junio 20:00 hrs.

   15 %  Proyecto personal 
                Inscripción de temas                Temas ya inscritos
                Inscripción: 10% Definición a tiempo. Plazo 9 de Mayo 23:59 [h]
                Resultados y Demostración: 90 %  Demostración 14 y 16 de Junio
Notas Finales incluid proyecto
Correlación Promedio de tareas => promedio de certamenes


Mejores Soluciones a Tareas 
Tarea 1
César Vásquez

Tarea 2
Juan Pablo Carvallo
Gonzalo Ojeda
Tarea 3
Gonzalo Ojeda
Juan Pablo Carvallo     César Vásquez
Tarea 4
 Única solución entregada: Carolina Mellings & Luis Baez


Proyectos desarrollados
  1. Juan Pablo Carvallo,  "Post-it"
  2. Carolina Mellings y Luis Baez,  "Encriptación de Imágenes "
  3. Bernardo Malet,  "ZERO - Tracker Mapa de Búsqueda (soporte para el auto-inteligente)"
  4. Miguel Azócar y Darwin Valderas,  "Recordón "
  5. Gonzalo Ojeda y César Vasquez,  "Receptor de Tareas via web "
  6. Cristian Oyarzo,  "Asisgnación de horarios del Auditorio de Electrónica"
  7. Rodrigo Loyola y Gustavo Valdés,  "Secretaria Virtual" (-5)
  8. Enrique Pastene,  "Java Black Jack (JBJ)"
  9. Solange Ahumada,  "Orden de Redes"
  10. Nelson Loaiza,  "Sistema de Reservación de Libros"

Misceláneos
  Resultados de Encuensta Docente 2004

Estimados alumnos de Diseño y programacion orinetados a objetos,
    Les agradezco el alto porcentaje de respuestas de la encuesta Docente del ramo. También destaco y agradezco sus interesantes comentarios y sugerencias para mejorar el trabajo en esta asignatura.
Haré lo posibe por tomar en cuenta sus recomendaciones.
Muchas Gracias

  Página ELO329 año 2003
     Clase magistal de Don Federico Mayor Zaragoza: "La Universidad, pieza clave para un futuro más justo"

    Ingeniería de Software:

Artículo que compara distintas metodologías de calidad

"Ingeniería de software" por Dr, Marcelo Visconti.
UML:
Curso del Departamento Sistemas Informáticos y Computación (DSIC) Universidad Politécnica de Valencia (UPV) - España sobre UML
Encontrá aquí material sobre UML: Unified Modeling Language
Practical UML
 
 Preprocesador C++:
Usando Preprocesador C++
C++ Preprocessor por Sh. Mannan
    C++
Entrada y Salida tomado de Department of Engineering of the University of Cambridge
Compilador C++ GNU
Bibloteca estándar de Plantillas (Standard Template Library) ( local en ELO ) (Documentación C++)
    Java
Documentación Java   "Paltas" técnicas sobre Java (por SUM)
Comparación entre Java y C# "A comparison of Microsoft's C# programming Language to Sun Microsystem Java Programming Language" by Dare Obasanjo.

    Sobre evaluación de expresiones aritméticas
    ELO-329    FQA
    Ejemplo de uso de gnuplot
    Manual GNU para make (versión html Local)
    Página de Herramientas GNU portadas a Windows
Servicio de Contadores y Estad?sticas ELO