ELO 329
Diseño y Programación Orientados a Objetos
Primer Semestre 2007 (31 sessiones)
Profesor: Agustín J. González
Ayudante: Diego Del Valle,  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: 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)
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 2006
Clase
Fecha
Material
Tarea
Hito
Adicional
1
05/03
Perfil del Ing. ELO demandado Encuenta 2006 Introducción Ejemplo1  Ejemplo2



2
07/03
Pensando Orientado a Objetos Ejemplo: Puntos y líneas Makefile: Ejemplo Manual



3
12/03
Java y Diseño Orientado a Objetos




14/03
Suspensión de actividades por Semana Mechona



4
19/03
Sintaxis Básica de Java InputTest.java



5
21/03
Nos pusimos al día en material pendiente de clases previas



6
26/03
(Explicar significado de >>>) Sobre entrada y salida básica InputExample.java , InputErrorExample.java
 Clases y Objetos en Java y su Documentación  Account  Documentación



7
28/03
Herencia Ejemplos: ManagerTest.java  PersonTest.java  CatsAndDogs.java EqualsTest.java  ReflexionTest.java

Colecciones
Genericas
Comparar V2 y V3

29/03

Se publica Tarea 1


8
02/04
Avanzamos con Herencia, revisamos dudas de la tarea, revisamos tareas similares



9
04/04
Informar sobre Java en aragon Interfaces y Clases Internas Ejemplos: EmployeeSortTest.java  InnerClassTest.java  AnonymousInnerClassTest.java


10
09/04
Programación Conducida por Eventos: Interfaces Gráficas  Ejemplos: CloseableFrame.java  Mimic.java  MimicCharbyChar.java


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



12/04


Plazo entrega de Tarea 1

12
16/04
 Concluimos Material previo, y vimos Índice visual de componentes de SwingAdministrador de distribución física de componentes (Layout Managers) Ejemplo sobre uso de scroll bars agregado el 19/06/07
Se publica Tarea 2


13
18/04
Presentar tarea, revisar fecha de certamen, mostar trabajo en aragorn desde windows, Manejo de Excepciones en Java   ExceptionalTest.java


14
23/04
OJO Clases en M-302
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




25/05
 Clase cancelada por aviso de desalojo de la Universidad




30/04
 Suspensión de actividades por el día



15
02/05
 Primer Certamen

1 C


03/05


Plazo entrega  de Tarea 2

16
07/05
Ver www.google.con/apis  Terminamos Applets Plazo inscripción proyecto (Original, se cambió para el viernes)

Tema Proyecto

17
09/05
Elementos de ingeniería de Software  Ver: Software Engineering Institute




11/05
Nuevo plazo para inscripción de tema



18
14/05
Presentación de tarea 3, concluimos elementos de ing. de software
Se publica Tarea 3


19
16/05
Algunas herramientas de apoyo al diseño de software



20
23/05
Elementos básicos de C++, Definición de datos en C++,



21
28/05
Terminamos material sobre Clases en C++ Clases en C++


22
30/05
Sobrecarga de operadores,  ejemplo: CVector
Manejo de Objetos en memoria dinámica en C++
Se publica Tara 4

23
04/06
Funciones (este material es en gran parte para estudio personal) Herencia en C++



24
06/06
Ligado dinámico La sobrecarga de operadores no cambia su precedencia.  Plantillas (templates) Ejemplo



25
11/06
Biblioteca Estándar de Plantillas (Standar Template LibraryVectores  Listas Ejemplos  Tarea3 año 2003



26
13/06
 Plazo término de proyectos e inicio presentaciones



27
18/06
 Certamen Final

2 C

28
20/06
 Presentación Proyectos



29
25/06
 Presentación Proyectos



30
27/06
 Presentación Proyectos



31
04/07
 Certamen Recuperativo




Evaluación  Notas finales al 28.06.07 al 03.07.07  04.07.07 11.07.07 09.08.07
Alumnos con resultado final destacado (sobre 75%) en orden alfabético
Gabriel Cisternas, Carlos Cortés, Klaus Hott, y Francisco Olivares.

    60 %    2 Certámenes : 02 de Mayo y 13 de Junio
Soluciones
Notas
Histograma
Alumnos destacados en cada certamen (sobre 80%)
1er Certamen
C1
Histograma
----
2do Certamen
C2
Histograma
Francisco Olivares  y  Gabriel Cisternas

Otros Años:
Año
Primer Certamen
Certamen Final
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  Chequeo de estilo
    15 %  Proyecto personal              Inscripción de temas                Temas ya inscritos
                Inscripción: 10% por definición a tiempo.
                Resultados y Demostración: 90 %  por informe, 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. Si no, 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: Creación de Figuras Plazo: 12 de abril 20 hrs.
Notas
Eric Maldonado & Patricio Castillo
Daniel Doris
Carlos Cortés
2: Dibujando una Red Eléctrica Simple Plazo 3 de mayo, 20 hrs.
Notas, Detalles
Carlos Cortés
Cristhoper Jaña & Francisco Olivares
Klaus Hott
3: Red eléctrica como applet Plazo 28 de mayo, 20 hrs
Notas,
Detalles
Klaus Hott
Carlos Cortés

4: Ejercitando con Conjuntos (Voluntaria, reemplaza peor nota de tareas) Plazo 21 de Junio, 20 hrs.
Notas




Proyectos de Alumnos
Grupo
Tema
Insc. en Plazo 11/05
Presentó
Informe a tiempo
Gonzálo Silva León, Gabriel Cisternas Guajardo, Ignacio Arriagada Pinochet Tetris para Celular con J2ME
OK
13/06
Si
Carlos Cortés Cortés
Cubo Rubik
OK
13/06
Si
Alejandro Kemp y Gustavo Sarmiento
Everywhere: Diccionario Inglés - Español, Español - Inglés para el celular
OK
20/06
Si
Adrian Castillo
Creación de Figura 3D
OK
20/06
NO
Pablo Cortés
Administración Sistemas de cobranza
Atrasado
20/06
Si
Klaus Hott
Inscripción de Salas
OK
25/06
NO
Francisco Olivares & Cristhoper Jaña
Mapa de Karnaugh
Cambió tema
25/06
NO
Pablo Arancibia & Mauricio Rodríguez
Monitoreo de Licencias
OK
27/06
NO
René Cáceres
Administrador de Campeonatos Deportivos OK
27/06
Si
Patricio Castillo & Eric Maldonado
Interfaz de Programación para Robots LEGO OK
27/06
Si
Sebastián Muñoz & Pablo Navarrete
Sistema de Vigilancia para Monitoreo de Taludes
OK
27/06
NO
Daniel Doris Cabezas Simulador de Red de Computadores OK
No Presenta

Javier Gonzalez Ovalle Video Juego Atrasado
No Presenta

Cesar Salazar Leiva Juego para celulares Atrasado
No Presenta

Simón Campos Rivera Generador de horario para profesores y alumnos de un colegio Atrasado
No Presenta
NO
Proyecto o estudio sugerido para 2008: MjSip: Biblioteca Java para SIP y telefonía IP, usado en memoria de Tamara y Jaime.

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

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++)
    Página de Herramientas GNU portadas a Windows
Ver stats de esta Página
Servicio de Contadores y Estadísticas ELO