ELO 329
Diseño y Programación Orientados a Objetos
Primer Semestre 2008
Encuesta al término del ramo Correlación Prom Tareas y prom Certámenes Preguntas Ejemplo Certificación Java
Profesor: Agustín J. González
Ayudante: Stefan Zepeda,  Dirección de correo del ayudante: elo329 ARROBA elo PUNTO utfsm PUNTO cl.
Horario clases: Lunes 12:00-13:30 B-221,   Miércoles 11:45 - 13:15  B-221
Horario de Oficina
Información de contacto:  Oficina: B-301        Fono: (32) 2654196
Lista de correo: elo329 arroba listas 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)
Ejemplos del texto guía
"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, en web ELO) Página 1er. sem 2007
Clase
Fecha
Material
Observaciones
1
03/03
 Encuenta 2007 Introducción Ejemplo1  Ejemplo2

2
05/03
Pensando Orientado a Objetos Ejemplo: Puntos y líneas Makefile: Ejemplo Manual
3
10/03
Generalidades de Java y Diseño Orientado a Objetos
Java: desde Sun, ELO
Jgrasp
4 12/03 Sintaxis básica de Java y primeros programas: FirstSample.java,  InputExample.java, InputTest.java Otros ejemplos: InputErrorExample.java, LotteryOdds.java, BigIntegerTest.java Componentes en Java SE
Clase Scanner
5
17/03
Clases y Objetos en java y su documentación   Account Documentación
Herencia   ManagerTest  CatsAndDogs
Documentación en Java
6 19/03 Terminamos herencia  Ejemplos: Rectangulo.java, PersonTest.java CatsAndDogs.java EqualTest.java ReflectionTest.java
7
24/03 Interfaces y clases internas Ejemplos: EmpoyeeSortTest.java InnerClassTest.java AnonymousInnerClassTest.java

8
26/03 Programación de Interfaces Gráficas Ejemplos: ClosableFrame.java Mimic.java MimicCharbyChar.java
Atención: por examen de Doctorado en B221, cambio a sala B100
9
31/03 Programación Gráfica Ejemplos: GlassPaneDemo LayeredPaneDemo  IconDisplayer ShapesDemo2D Sketch.java  MouseTest.Java  Documentación Swing Tutorial
Java 2D
      Se publica primera tarea
10 02/04 Clase recuperativa por acuerdo de gran mayoría.
Explicación de Tarea 1. Revisión de solución tarea año previo.
Ver Guía visual de Componentes y Layout Managers. Ejemplo Simple CreaBotones.java
Guía Visual de Componentes Swing
Guía Visual de Administradores de Distribución del Espacio (Layout Managers)
11
07/04
Manejo de excepciones en Java ExceptionalTest.java

12
09/04
Applets
NotHelloWorldApplet  Prueba TumbleItem  Prueba Calculator.java CalculatorApplet prueba CalculatorPanel.java  PopupCalculatorApplet  prueba
Chart prueba TicTacToe Bookmarks prueba
Ver ejemplos de Redes de Computadores
Tutorial de Applet de SUN

14/04
Esta clase fue adelantada, se efectuó el 2/04

13
16/04
Terminamos con Applets. Motivación y explicación del proyecto del curso. Vimos: www.google.con/apis


17/04
Se publica segunda tarea
14
21/04
Atendí a estudiantes pero no hubo clases normales por paro de estudiantes.

23/04
..21/05
No hubo clases por paro de estudiantes.
15
26/05
Ver demo applets, y explicar cómo configurar java plug-in en browser  Introducción a Ingeniería de Software
16
28/05
Introducción a Ingeniería de Software: 1°Parte
17
02/06
Elementos de Ingeniería de Software 2° Parte: RUP

18
04/06
Herramientas de apoyo al Desarrollo de software: Casos de Uso, Tarjetas CRC, UML
Diagramas UML con NetBeans, con JGrasp
Ver Notación UML
VoiceMail
19
09/06
Primer Certamen
Certamen : Será en dos salas: de Almarza a Johnson en C-238, de Lacaze a Zuleta en B221.

10/06

Aclaración de dudas sobre corrección de tarea 1 por parte del ayudante, Stefan Zepeda, en Lab. Kleinrock B321, 14:00 a 15:30 hrs
20
11/06
Considerar proyecto programando SunSpot con J2ME, oferta de trabajo Synopsys
Introducción a C++: Parte 1 Parte 2
Pre-procesador IO_simple.cpp IO_simple_2.cpp C++ Resources Network
Tutorial C++
21 16/06 Considerar proyecto programando celulares con J2ME (ejemplo). Parte 2 Clases en C++  

17/06

Plazo para definir el proyecto y su grupo de trabajo
22
18/06
Sobrecarga de Operadores Ejemplo CVector,   Creación y manejo de objetos en mem. dinámica
 
23
23/06
Revisamos el certamen
 
24 25/06 Revisión de funciones en C++, Calificadores static y friend, Herencia doxygen, tutorial elo330
Ejemplo de uso friend item.h Item.cpp, 
25 30/06 Terminamos Herencia y vimos Métodos Virtuales Última tarea publicada. CatsAndDogs Motores 
26 02/07 Excepciones y Templates en C++ Ejemplo de Templates: Diccionario
27 07/07 Vector y Listas Ejemplo de uso de Listas: Catálogo 
28 8/07 Presentación de Jean-Batiste, Explicar corrección de tareas, Explicar destructor virtual,   Algoritmo genérico y destructor virtual 

14..19/07
Vacaciones de Invierno para el Personal.


21/07
Patrones de Diseño, Ejemplo de Patrón de Arquitectura: Model-View-Controller MVC Patrón Observador MVW

23/07
Libre para trabajo en projecto. Si tiene consulas, lo atenderé en la oficina, avise.


28/07
Libre para trabajo en projecto. Si tiene consulas, lo atenderé en la oficina, avise.

30/07
Presentación de proyectos 1º Parte
Presentan 5 grupos

04/08
Presentación de proyectos 2º Parte Presentan 5 grupos

06/08
Certamen Final
Como el primero, se tomará en dos salas: de Almarza a José González en B221 (sala normal) y  de Javier González a Zuleta en C-235

07/08
Plazo para que todos los grupos hagan llegar archivo compactado con el sitio web del Trabajo. Éste es el informe.

11/08
Presentación de proyectos 3º Parte

13/08
Presentación de proyectos 4º Parte Cancelada por Jornada ELO
Si su grupo es uno de los últimos 5 grupos, coordine con le profesor cuándo pueden hacer la presentación. Opciones son  Lunes 11 por la tarde, Martes 12 o lunes 18 o martes 19.

21/08 Certamen Recuperativo Horario por ver

Evaluación  Notas Finales al: 25/08 (antes de recuperativo/examen) 25/08 (después de recuperativo) 27/08 (después de recorrecciones)
A petición de uno de los alumnos y manteniendo el espíritu incial del sistema de evaluación usé:
Nota final: Si Promedio de Certámenes es inferior a 50 => Nota Final= 90% Promedio de certámenes + 10% de (25% Tareas+15% Proyecto)/40%
                  En otro caso Nota final = 60% Promedio de certámenes + 25% Tareas + 15% Proyecto. 
Si algún alumno objeta tal mecanismo, volvemos a lo previo (certámenes menos de 50 pasan a ser la nota final)
    60 %    2 Certámenes :  7 de mayo 9 de junio y (18 conflicto con Análisis numérico) 23 de junio (se mantiene para internacionales) 6 de agosto.
Soluciones
Notas
Histograma
Alumnos destacados en cada certamen (80% o superior)
1er Certamen
C1
Histograma
Mauricio Díaz, Tomás Girardi, Alejandro Merello, Joaquín Moreira,
2do Certamen
C2
Histograma
Javiera Quiroz, Jaquín Moreira

Otros Años:
Año
Primer Certamen
Certamen Final
2007 C1.solución()  C1.histograma() C2.solución()  C2.histograma()
2006
C1.solución()  C1.histograma()
C2.solución()   C2.histograma()
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
    15 %  Proyecto grupal              (Inscripción de temas)               (Temas ya inscritos)
                Inscripción: 10% por definición a tiempo Plazo: (5/Mayo) 17 de Junio.
                Resultados y Demostración: 90 %  por informe (en formato html), presentación y demostración (Plazo: 7 de agosto) 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. Si no, su nota final será su promedio de certámenes.


Tareas y sus mejores Soluciones 
Tarea (grupo de 1 ó 2 integrantes)
Evaluación
Mejores Soluciones
1. Herencia e Interfaces: programación genérica Plazo:17 de abril 28/05, 20 hrs.
Notas: V1, V2 V3
Nelson López & Jaime Stockle

 
Héctor Varela & Enrique Fernandez   
2. Tómbola en Java Plazo: 2 de Mayo 05/06, 20 hrs.
Notas
versión 22/07
24/07
Daniel Caro & José González
Linus Casassa & Javier González
Sebastián Contreras & Eduardo García
Felipe Díaz & Alejandro Merello Olga Godoy & Alejandro Homes Nicolás Sanz & Michael Vicencio
3. Simulación de Planta Plazo (sugerido 26 de mayo) 19/06 , 20 hrs.
07/08:Global
07/08:Detalle
Sebastián Contreras & Eduardo García
Mauricio Díaz & Daniel Zuleta
 Francisco Cabezas & Manuel Gallardo
 Joaquín Moreira & Javier Núñez    
4. Diferentes Implementaciones de Conjuntos Plazo 21 23 de Julio, 20 hrs.



 
     

Proyectos de Alumnos: según orden de presentación (agradecimiento a grupo de Javiera, Benjamin, y Juan)
Grupo
Tema
Insc. en Plazo (17/06)
Presenta
Informe web a tiempo
1 Jean-Baptiste Lacaze Gestión de Salas (página incompleta)

9/07/08

2 Alejandro Merello - Felipe Díaz Control Computador Mediante Celular 30/07/08
3 Joaquín Moreira - Javier Núñez Solver para el Problema del Vendedor Viajero 30/07/08
4 Juan José Donoso Álvarez, Gerardo Andrés Lecaros Easton, José Pablo Álvarez Lacasia, Eduardo García Diccionario de Kanji y programa de ejercitación (Página incompleta) 30/07/08
5 Enrique Fernández, Héctor Varela, Daniel Velásquez Celular wii 30/07/08
6 Freddy Goldberger, Daniel Rivera, Jaime Stockle Aplicación para Celulares con plataforma J2ME 30/07/08
7 Alfonso Becerra, Rodrigo Melo, Angelo Vidal DTT 04/08/08
8 Nicolas Sanz, Michael Vicencio,Javier Gonzalez Ovalle SAL : Sincronización de Archivos en Linux 04/08/08
9 Francisco Cabezas, Manuel Gallardo, Jose Gonzalez Implementación de RMI en transmisión de datos 04/08/08
10 Claudio Castro, Gunther Bevensee, Marcelo Rute DEMP, Donde Esta Mi Pedido 04/08/08
11 Valeria Araya Valdés - Nelson López Coppa - Pedro Riffo Gómez ACHU!: Administrador de Cuentas para Hogares Universitarios 04/08/08
12 Jorge Mellings , Juan Carlos Véliz Applet como complemento del laboratorio de Física 120 UTFSM ??? No entrega
13 Javiera Quiroz, Benjamin Almarza, Juan Ferrada Editor Cuchufli
11/08/08

14 Markus Nikkinen Gestion de campeonatos ??? No entrega
15 Andrés Reyes, Pedro Rojas, Danilo Bize GATEforward: plataforma comercial online, Networking & B2B 11/08/08

Daniel Zuleta - Mauricio Díaz Virtual-Sword 11/08/08
17 Olga Godoy, Alejandro Homes, Sebastián Duque BLUECONTROL 12/08/08
18 Daniel Enrique Caro Peñaloza ZiXTA: Plataforma para control y monitoreo de nodos ZigBee a distancia
No entrega
19 Karen Johnson, Adrian Castillo, Linus Casassa Deshidratador de Fruta 18/08/08 No
20 Nabor Conrado Moral Coro NN No ??? No entrega
21 Tomás Girardi J, Pablo Benaprés M, Roberto Vargas H. Identificación de voz No 18/08/08
Proyecto o estudio sugerido: MjSip: Biblioteca Java para SIP y telefonía IP, usado en memoria de Tamara y Jaime.

Misceláneos
  Página ELO329 años 2007 2006 2005 2004 2003  
  Instrucciones para trabajar en aragon desde windows

 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
Tutorial Java para el autodidacta
Editores: XEmacs (win o Linux) , jgrasp (Java), otros que no he tenido oportunidad de probar: kate (Linux), Netbeans  (viene con J2SE5.0)
Documentación Java
  
Comparación entre Java y C# "A comparison of Microsoft's C# programming Language to Sun Microsystem Java Programming Language" by Dare Obasanjo.
Otros:
   Compilación con MAKE:
Tutorial simple (orientado a C, C++)
Servicio de Contadores y Estadísticas ELO