General |
Contenidos |
Evaluación |
Tareas |
Proyecto |
Profesor: Agustín J. González,
Horario de Oficina,
Paralelo 2: Prof. Cristóbal Nettle Oficina: B-301 Fono: (56-32) 2654196 Horario clases: Lunes 11:30-13:00 Par 1: P-101; Par 2: P308 Miércoles 11:30-13:00 Par 1: Lab. Sala P004 P008; Par 2: B213 PC-04 (DCSC) |
Ayudante: Paralelo 1: Jesús
Márquez; Paralelo 2: Pilar Arancibia, su cuenta gmail es elo329
punto utfsm Lista de correo: elo329 arroba listas PUNTO usm PUNTO cl. Para inscribirse llenar este formulario. |
Clase |
Fecha | Material |
Material adicional de apoyo |
1 |
5/3 |
Introducción: Contenidos, estructura
del ramo, evaluación. Conceptos en lenguajes orientados a objetos: Objeto, comportamiento, estado; clase, jerarquías, herencia, polimorfismo; Ligado dinámico, abstracción, subtipo. Diseño orientado a objetos (pdf, ppt). |
Ejemplos: Tarea
2 2017 Mejor
Solución Perfil del Ingeniero Solicitado el 2016 The 2017 Top Programming Lenguages |
2 |
8/3 |
Introducción
a Java: Máquina virtual. Entornos de desarrollo para proyectos en
Java (pdf, ppt). Ejemplos: FirstSample.java SecondSample.java Si arroja warnings asociado a acentos, compilar con: javac -encoding ISO8859_1 |
Entornos de desarrollo: Oracle, Virtual Machine, Operating system-level virtualization, Ver Editores y Ambientes de trabajo, Documentación SE 8 (sólo API) Tarea individual: Si usted tiene acceso a un computador, instale Java, compile y corra los ejemplos de esta clase Relación entre Android y Java |
3 |
12/3 |
Tipos de datos y control de flujo básicos (pdf, ppt). Ejemplos: Puntos y líneas; entrada de texto:InputExample; Entrada gráfica: InputTest | Clase Scanner |
4 |
14/3 |
A
contar de esta clase, los miércoles el Paralelo 1 trabajará en
Lab. P008 (mismo piso sala previa pero en otro pasillo) Java: objetos, clases (pdf, ppt). Ejemplos: Employee, ConstructorTest. Actividad a desarrollar fuera de la clase. |
Terminal
para Windows con servidor X |
5 |
19/3 |
Java: Herencia, clases abstractas, clase Object -equals- (pdf, ppt) Ejemplo: ManagerTest.java: Managers son empleados, Rectangle.java | |
Semana Mechona | |||
6 |
26/3 |
Terminar Herencia,
clases abstractas. (pdf,
ppt) PersonTest,
Cats and Dogs,
Clase Object: EqualsTest Java: interfaces, clases anidadas: internas y anónimas -clone- (pdf, ppt). Ejemplos: Empleados comparables, clase Interna a una clase, clase interna a un método, clase anónima, CloneTest.java |
Equals es problemático en algunos casos, ideas similares aplican a clone ReflectionTest Java Collections |
7 |
28/3 |
Avnazar
Interfaces, clases anidadas y clone. (pdf,
ppt) Comentar Tarea 1: comenzar con etapa 1. |
Documentación
Git Libro 2014 Understanding
Git Flow Paltario GIT |
8 |
2/4 |
Concluir clases anidadas, Programación basada en eventos (o dirigida por eventos): Conceptos (pdf, ppt). Ejemplos: CloseableFrame, SimpleMimic | JFrame WindowListener WindowsAdapter |
9 |
4/4 |
Programación basada en eventos (o
dirigida por eventos): Conceptos
(pdf, ppt).
Ejemplos: Mimic,
MimicCharByChar
Actividad en clases: Trabajar en grupos en desarrollo de la tarea. |
Tutorial
sobre
Swing (2017) Adobe decide discontinuar Flash |
10 |
9/4 |
Programación de interfaces gráficas en Java. Swing (pdf, ppt) Ejemplos: Sketch.java y MouseTest.java, CreaBotones | Ejemplos:
GlassPaneDemo,
LayeredPaneDemo,
MenuDemo,
ShapesDemo2D Programas de ejemplo Guía Visual de componentes Swing Swing Painting Guidelines |
11 |
11/4 |
Actividad "Handson": Creando
aplicaciones gráficas en Java |
|
12 |
16/4 |
Administradores del Espacio:
Layout Managers: Cómo posicionar componentes dentro de un
contenedor. Explicar la tarea 2 Java: Manejo de excepciones (pdf, ppt). Ejemplos: Efecto en desempeño ExceptionalTest |
Ejemplos
de Layout Managers Tutorial Excepciones |
13 |
18/4 |
Handson Lab: Desarrollo
de etapa 1 de la tarea 2. |
|
14 | 23/4 |
Java
Archives (pdf, ppt) Generación de paquetes y documentación, Javadoc (pdf. ppt) Ejemplos: PackageTest, Account y documentación resultante Documentar en clases su clase Robot y generar documentación con javadoc. Si queda tiempo, generar archivo .jar ejecutable para la etapa 1 de la tarea. |
Tutorial
sobre
creación de jar files Documentación de código en Java Experiencia de ex-alumno |
15 |
25/4 |
Actividad de avance
en Tarea 2, etapa 2. Introducción a desarrollo de aplicaciones móviles con Java: Android Aplicación Android simple: Clickme SimpleClickMeApp |
The
future of Java Applets Estadísticas Subtel Introduction to Android Android API Classes Paso de App de Eclipse a teléfono |
16 |
30/4 |
Clase
suspendida por instrucción del señor Rector, Circular N°7
de los Vice-rectores, 9 de abril 2018. |
|
17 |
2/5 |
Primer Certamen: Paraleleo 1, Prof. González: C227; Paralelo 2, Prof. Nettle: B221. Ambos en horario normal 11:30 hrs. | Contenidos a evaluar hasta antes de
Android. |
18 |
7/5 |
Introducción a C++ (pdf,
ppt) IO_simple.cpp
IO_simple_2.cpp Clases en C++ (pdf, ppt). Ejemplos: CRectangle |
Pre-procesador
(documentación gnu)
C++ Resources Network Tutorial C++ Type casting: dynamic_cast <new_type> (expression), static_cast <new_type> (expression), const_cast <new_type> (expression) Revisar construcción de Makefiles |
19 |
9/5 |
Hablar sobre Proyecto
de la asignatura Constantes, referencias y cambios de tipo en C++ (pdf, ppt) Actividad handson |
|
20 |
14/5 |
Sobrecarga de Operadores. Ejemplo: CVector |
Incomplete
Class Declarations |
21 |
16/5 |
Paralelo del Prof. González
tendrá esta clase el Jueves 17 a
las 9:45 hrs en Lab P004. Ningún alumno llegó a clases en ambos paralelos por Paro de Estudiantes |
|
21/05 27/05 |
Vacaciones de estudiantes |
||
22 |
28/05 |
Calificador Friend
y Static (pdf,
ppt), Ejemplo:
Función CVectorFriend Manejo de punteros y objetos en memoria dinámica (pdf, ppt) |
dynamic_cast
|
Con motivo del Paro de Estudiantes,
las autoridades nos pide seguir con el curso con los alumnos
internacionales dentro de las fechas normales del semestre Como se trata de menos de 8 alumnos, las clases son por tutoría. Nos reunieremos una vez por semana. La página para los estudiantes SIN PARO se actualizará cuando decidan retomar el curso. |
|||
23 |
25/07 |
Herencia en C++ (pdf,
ppt) Ejemplos: Herencia Pública, Protegida,
Privada. Actividad en clases: a partir de su solución de la tarea1 avance en la primera etapa de la tarea3. Ligado dinámico en C++: Métodos Virtuales (pdf, ppt) Ejemplos: VirtualMotor, CatsAndDogs |
Clase
estándar exception |
24 |
30/07 |
Excepciones (pdf,
ppt) Programación Genérica: Templates (Pantillas) en C++ (pdf, ppt) Ejemplos: cuentaRepeticiones, Máximo Biblioteca estándar de plantillas y Algoritmos genéricos: "Vector" e "Iterators" (pdf, ppt) |
|
25 |
1/08 |
Programación gráfica en C++: Desarrollo
en Qt Ejemplos: HelloWorld
PainterRect Scene
Conversor de temperatura
Celcius-Fahrenheit Motivación: Método (Jorge Guerra, Pin Pon) Ingeniería de software: Introducción (pdf, ppt) |
Aprenda Qt desde Hoy Mismo ¿Es esto importante? Mauricio Venegas |
26 |
6/08 |
Proceso de Desarrollo de Software (pdf.
ppt) Metodologías de desarrollo de software: Desarrollo Iterativo e Incremental (pdf, ppt) |
|
27 |
8/08 |
Herramientas de desarrollo de
software: Casos
de uso, Tarjetas CRC, UML (pdf,
ppt) Niveles de Certificación CMM (pdf, ppt) |
Violet UML
Editor Instalación Certificación |
28 |
13/08 |
Presentación de Proyectos Cada grupo contará con X minutos (a determinar según número de grupos). Las presentaciones serán evaluadas por todos los presentes según: Contenido (25%) : El tema es pertinente al ramo, lo presentado es lo importante del tema e interesante para el curso. Dominio (30%) : Los integrantes tienen muy buen dominio del tema, lo conocen bien. Comunicación (15%): Usan bien el material de apoyo y tiene buena expresión oral de las ideas. Demostración (30%): Evalúe su funcionamiento, su resultado y aporte. |
|
29 |
20/08 |
Presentación de Proyectos |
Plazo para entregar informe final |
30 |
22/08 |
Segundo certamen: Paraleleo
1, Prof. González: C227; Paralelo 2, Prof. Nettle: B221.
Ambos en horario normal 11:30 hrs. |
|
31 |
|
Soluciones |
Notas |
Histograma |
Alumnos
destacados
en cada certamen (80% o superior) |
C1.solución() |
C1_P1.Notas()
C1_P2.Notas() |
C1_P1.Histo()
C1_p2.Histo() |
Marcelo
Barrientos, Filip Ekstrom, Francisco Frez, Marcelo González, Andrés
Romo, Sebastián Ubiergo |
C2.solución() |
C2_P1.Notas()
C2_P2.Notas() |
C2_P1.Histo()
C2_P2.Histo() |
Marcelo
Barrientos, Francisco Frez, Luis Leiva, Martín Miranda, Yeriel Paz,
Gonzalo Rojas, Gabriel Rudloff, Sebastián Ubiergo, Anibal Weippert,
|
Tarea (grupos de
3 integrantes) |
Evaluación |
Mejores
Soluciones |
Tarea 1: Robot en Laberinto como Objeto de Software Plazo 12 13 de abril, 20:00 23:59 hrs. | Notas Recorrecciones ; Detalle observaciones Recorrecciones | Eduardo Hales y Nicole Bernal |
Tarea
2: Aplicación Gráfica para Robots en
Laberinto Plazo 30 de abril 23:59 hrs. |
Notas Recorrecciones Detalle Recorrecciones | Matías
Contreras, Francisco Frez y Damian Quiroz |
Tarea
3: Robot en Laberinto como Objetos de Software en C++
Plazo 1 de Junio
27 31 de julio
23:59 hrs. |
Notas
Recorrecciones
Detalle Recorrecciones |
Matías Contreras, Francisco Frez y Damian Quiroz |
Tarea 4 (voluntaria): Aplicación Gráfica para Robots en Laberinto en C++ y QT (etapas equivalentes a Tarea2 sin generación automática de documentación) Plazo 17 de agosto 23:59 hrs. Elimina la peor nota entre las 4 tareas. Quien no entregue, se queda con sus tres notas previas. | Notas |
Grupo: Si un grupo no llega el día programado, presenta al final; su nota de presentación se multiplica por 0.8 | Tema |
Insc./Inf. en
Plazo |
Paralelo1 |
||
Sebastián Araneda, Nicolás Calderón, Marcelo Barrientos | Browser de web local | No presenta/no
entrega informe |
Sebastián Ubiergo, Luis Leiva, Felipe Muñoz | Detección de rostro con openCV | |
Matias Díaz, Nicolás Hernández | Sistema voto electrónico basado en blockchain | |
Mario Araya - Marcelo González - Valentina Yévenes | Juego utilizando c++ y Allegro | |
Matías Contreras - Francisco Frez - Damián Quiroz | Desarrollo Interfaz Gráfica en Qt (Proyecto USMZero) | |
José Rojel | Aplicación orientada a conductores de locomoción colectiva | |
Gonzalo Rojas, Marcelo Araya, Gabriel Fuentes | Desarrollo de aplicación Android para control de herramientas del teléfono | |
Diego Riquelme, Gabriel Rudloff, Leonardo Solis Zamora | Sistema de registro de patente | |
Gabriel Carrillo | Implementación de videojuegos online en tiempo real. | No presenta/no
entrega informe |
Martin Miranda (201430022), Javier Campos(201273065) | Pokedex | |
Anibal Weippert Sebastian Villanelo | Dots Game | |
Nicole Bernal, Eduardo Hales | Aplicación en Android para transcripción de audio a texto. | |
Paralelo
2 |
||
Jorge Fernandez, Jose Benavente, Martin Lara | [Juego]Combate Naval | |
Yeriel Paz, Oscar Guajardo, Cristian Bruna | Role Master | |
Javiera Rojas-Andres Romo | Libreria e interfaz para brazo robotico educativo | |
Lorens Paez, Jose Quinteros, Lucas Villarroel | Carrobombapp | |
Fabian Guerrero, Axel Silva | Afinador de instrumentos | |
Agustin Acevedo - Stefano Aguilera - Cristian Lezana | Aplicacion Android - Busqueda y ruta a sala de clases | |
Daniel Bernal - Juan Pablo Sanchez, Pascal Arriagada | Aplicación de Android para registro de datos en una BD |
Proyectos interesantes que bien se les pueden ocurrir a ustedes como
memoria.
Misceláeos
Instrucciones
para
trabajar en aragorn desde windows (seleccionar Ayuda Aragorn)
Un libro que ha sido útil para algunos. Ejemplos del libro.C++:
Sitios pra ejercitar la programación en Java (para registrarse puede usar una dirección de correo, pero nunca la misma clave): w3resource, Hackerrank
Versión comprimida de los ejemplos de a revisar en el curso.
makefile para Java: Ejemplo, explicación.
Documentación Java SE Standard Edition 8 (local SE 8, Directo al API)
Tutorial Java para el autodidacta. Otro en MIT.
Editores: BlueJ XEmacs (win o Linux, tutorial emacs, manual de emacs) , jgrasp (Java), Netbeans, Eclipse.
Usando Preprocesador C++Otros:
C++ Preprocessor por Sh. Mannan
Compilador C++ para Windows (recomendado por alumnos año 2016)
Bibloteca estándar de Plantillas (Standard Template Library) ( local en ELO ) (Documentación en cplusplus.com)