ELO 329
Diseño y Programación Orientados a Objetos
Primer Semestre 2006 (31 sessiones)
Profesor: Agustín J. González
Ayudante: Miguel Rebolledo  Dirección de correo del ayudante: elo329 ARROBA elo PUNTO utfsm PUNTO cl.
Horario clases: Lunes 11:45-13:15 B-221,   Miércoles 11:45 - 13:15  B-221
Horario de Oficina
Información de contacto:  Oficina: B-301        Fono: (32) 654196
Lista de correo: lista_elo329 arroba elo PUNTO utfsm PUNTO 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  Biblioteca)
"Core Java 2, Volume II Advanced Features", Cay S. Horstmann and Gary Cornell, Prentice Hall, 5th edition, 2001. (Hay copia  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)
Fecha
Material
Tarea
Hito
01/03
Perfil del Ing. ELO demandado Encuenta 2005 Introducción (pdf) Ejemplo1  Ejemplo2


06/03
Pensando Orientado a Objetos (pdfPuntos y líneas


08/03
Java y Diseño orientado a Objetos (pdf) Correo Zero Tracker


13/03
Sintaxis Básica de Java (pdf) (Ejemplos del texto guíaFirstSample.java  InputTest.java


15/03
Suspensión por Semana Mechona


20/03
Más sobre clases y Objetos en Java y su documentación (pdf) Ejemplo: Account Documentación


22/03
Herencia (pdf) Ejemplos: ManagerTest.java  PersonTest.java  CatsAndDogs.java  EqualsTest.java  ReflexionTest.java

27/03
Interfaces y Clases Internas (pdf) Ejemplos: EmployeeSortTest.java  InnerClassTest.java  AnonymousInnerClassTest.java Correo Preparándose para rendir en trabajo Tarea 1

29/03
Dimos término a material de la clase del 27/03


03/04
Programación Conducida por Eventos: Interfaces Gráficas (pdf)  Ejemplos: ClosableFrame.java  Mimic.java  MimicCharbyChar.java

05/04
Programación Gráfica Ejemplos: GlassPaneDemo LayeredPaneDemo  IconDisplayer ShapesDemo2D Sketch.java  MouseTest.Java  Receptores multiples para un evento (MulticastTest.java)

10/04
Dimos término a material de la clase del 05/04


12/04
Índice visual de componentes de SwingAdministrador de distribución física de componentes (Layout Managers)


17/04
Manejo de Excepciones en Java   ExceptionalTest.java


19/04
Applets  Ejemplos:
NotHelloWorldApplet  Prueba TumbleItem  Prueba Calculator.java CalculatorApplet prueba CalculatorPanel.java  PopupCalculatorApplet  prueba
Chart prueba TicTacToe Bookmarks prueba
Tutorial en sitio SUN Dar una mirada al Demo de applets en la JDK


24/04
Terminados Applets. Certamen se corrió por problemas con la red el fin de semana.


26/04
Primer Certamen

03/05
Elementos de Ingeniería de Software

Inscripción Proyecto
8/05
Elementos de Análisis y diseño de software


10/05
Técnicas de definición de requerimientos, análisis y diseño: Casos de uso, tarjetas CRC, diagramas UML.
Entrada y Salida en Java, Jerarquía de clases de IO


15/05
Ejemplo: Sistema de Mensajería
Persistencia y Serialización  Ejemplos: Copy.java   Objetos en formato Texto: DataFileTest.java  Objetos en formato Binario: ObjectFileTest.java  NewIODemo.java
Tutorial en Java.sun.com


17/05
Elementos básicos de C++


22/05
Definición y conversión de datos   Clases en C++


24/05
Manejo de Objetos en memoria dinámica en C++, Funciones Oferta de trabajo C++ 


29/05
Herencia en C++ Métodos Virtuales


31/05
05/06
07/06
Interrupción por Paro de Estudiantes


12/06
Feriado Legal (Corpus Cristi)


14/05
Sobrecarga de operadores,  ejemplo: CVector, manipulación de figuras
Miembros estáticos y calificador friend  Manejo de excepciones en C++: Ejemplo


19/06
Plantillas en C++ (Templates) Ejemplo


21/06
Biblioteca estándar de platillas (Standar Template Library) Vectores (vector) Ejemplo de Alvaro Arenas
Listas (list) Ejemplo Catálogo.


26/06
Feriado Legal (San Pedro y San Pablo)


28/06
Parten Presentaciones de proyectos


03/07
Certamen Final


05/07
Presentación de Proyectos


10/07
Presentación de Proyectos


12/07
Presentación de Proyectos


Evaluación   Notas al 11/05 al 23/07  al 24/07  al 25/07 al 31/07 al 02/08
Alumnos con resultado final destacado (sobre 80%) en orden alfabético
Alejandro Alviña, Diego Del Valle, Tomas Genet, Diego González, César Muñoz, Francisco Sepúlveda, Patricio Valle

    60 %    2 Certámenes :
Soluciones
Notas
Histograma
Alumnos destacados en cada certamen (sobre 80%)
Primer Certamen
C1.notas()
C1.histograma()
Diego González, Diego Del Valle, Thomas Genet, Francisco Sepúlveda, Alejadnro Alviña, Rodrigo Vizcarra, Gonzalo Saavedra, Patricio valle, Luis Espinoza, César Muñoz.
 Certamen Final
C2.notas()
 C2.histograma()
Diego González

Otros Años:
Año
Primer Certamen
Certamen Final
2005
C1.solución()   C1.histograma() C2.solución()   C2.histograma()
2004
C1.solución()   C1.histograma() C2.solución()   C2.histograma()
2003
C1.solución()   C1.histograma() C2.solución()   C2.histograma()
2002
C1.solución() 
C2.solución()
                   
    25 %   Tareas de programación  Instrucciones para su entrega  Criterio general de evaluación Chequeo de estilo
    15 %  Proyecto personal              Inscripción de temas                Temas ya inscritos
                Inscripción: 10% por definición a tiempo.  Plazo 3 de Mayo
                Resultados y Demostración: 90 %  por presentación y demostración
                Usamos la tómbola para definir el orden. Lista del curso. Resultado del ORDEN de presentaciones.
NOTA: Su promedio de certámenes debe ser superior o igual a 50 para que su proyecto y tareas de programación sean consideradas. Sino el promedio de certámenes será su nota final.


Tareas y sus mejores Soluciones 
Tarea (grupo de 1 ó 2 integrantes)
Evaluación
Mejores Soluciones
1: Formas Geométricas Plazo: 10/04, 20 hrs.
TestTarea1.java
t1.notas()
Eduardo Toro & Nicolas Montoya


2: Dibujando y manipulando figuras geométricas  Plazo 24/04 27/04, 20 hrs.
t2.notas()
t2.detalles()
Thomas Genet
Luis Espinoza

3: Applets: Manipulación de Formas Geométricas   Plazo: 11/05, 20 hrs.
t3.notas()
Mauricio Solis & César Muñoz


4: Persistencia de Figuras Geométricas (Voluntaria) Plazo: 30 de Mayo.





Proyectos de Alumnos
Grupo
Tema
Presentó
Alejandro Alviña, Luis Espinoza y Gonzalo Saavedra
Diseño de un Juego Arcade para Dispositivos Móviles
SI
Carolina Astudillo y Rodrigo Gómez
Carro de Compras
SI
César Muñoz
IRMA
SI
Simon Campos y Cesar Salazar
Sistema de Almacenamiento de Valores Campbell V Región
NO
Rodrigo Camacho y Rodrigo Espinoza
NetJavaUser: Integrando Redes con Java
SI
José Guerra, Diego González y Patricio Valle
mapELO
SI
Karenn Johnson
Empresarial
SI
Thomas Genet
Agenda Virtual
SI
Rodrigo Vizcarra
JSshPad
SI
Felipe Conejera e Ignacio Sánchez
Gym-Adm
SI
Francisco Sepúlveda y Klaus Hott
MallaMatic
SI
Stefan Zepeda
Thevenin
SI
Eduardo Toro y Nicolás Montoya
CopeteMóvil
SI
Claudia Codriansky y Miguel Olave
Transfer File by IP
SI
Cristhoper Jañas y Tomás Calderón
JEasyMail
SI
Mauricio Solis y Diego Del Valle
Emulador de Ascensor
SI
Pedro Toledo No hizo llegar página (informe) Fue enviado al correo errado, Recibido 9/8/2006: Portalog... vinculos donde sea
SI


Misceláneos
 
Resultados de Encuesta Docente 2005

  Página ELO329 años 2005 2004 2003  

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
Editores: XEmacs (win o Linux) , jgrasp (Java), otros que no he tenido oportunidad de probar: kate (Linux), Netbeans  (viene con J2SE5.0)
Sistema de desarrollo: J2SE5.0
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.

Otros:
    Ejemplo de perfil típico pedido en varios trabajos.
    Clase magistal de Don Federico Mayor Zaragoza: "La Universidad, pieza clave para un futuro más justo" versión Windows Media player Cable moden o ADSL, versión RealPlayer ~35kbps
    Sobre evaluación de expresiones aritméticas
    Ejemplo de uso de gnuplot
    Compilación con MAKE:
Tutorial simple (orientado a C, C++)
Ejemplo de Java Makefile
Manual GNU para make (versión html Local) 
    Página de Herramientas GNU portadas a Windows
Ver stats de esta Página
Servicio de Contadores y Estadísticas ELO