Trabajos Prácticos
Enunciado
Enunciado
Pautas Generales
Pautas Generales
Las siguientes son algunas recomendaciones generales para los Trabajos Prácticos.
Las siguientes son algunas recomendaciones generales para los Trabajos Prácticos.
- Como siempre hay ciertas características generales de programación que evaluamos, sin importar si es código de UI o de dominio o de test, etc.
- Legibilidad del código: nombre de variables, métodos y clases significativas.
- Prolijidad y formateo: eliminar código "okupa", código comentado, espacios y lineas en blanco "extra", etc.
- Diseño:
- Priorizar la delegación y división del comportamiento entre los objetos evitando algoritmos procedurales, largos y concentrados en un solo método.
- Favorecer el "Tell, Don't Ask"
- Evitar objetos anémicos (objetos que solo tiene datos).
- La más importante, evitar duplicaciones y repeticiones de código (DRY).
- Simplicidad:
- Evitar caer en el sobrediseño (explotar y diseñar todo un modelo de objetos para un problema que todavía no conocemos, pensando en "quizás en un futuro me van a pedir....").
- Evitar centrarse únicamente en la idea de que "más es mejor". Evitar el agregar features o funcionalidades extras, si todavía no emprolijé o refactoricé lo que ya tenía implementado, a fin de que, no solo funcione, si no que cumpla con las ideas de calidad que mencionamos acá.
Objetivos
Objetivos
Trabajo Práctico 1
Trabajo Práctico 1
- Construir una aplicación desktop no trivial, modelando un dominio medianamente complejo
- Aprender conceptos básicos de interfaces de usuario
- Modelar la interfaz de usuario como parte del código
- Definir un layout simple
- Poner en practica conceptos como modelo de aplicación, binding (binding bidireccional), controller
Trabajo Práctico 2
Trabajo Práctico 2
- Construir una aplicación web, aprendiendo a manipular herramientas utilizadas en la industria actualmente: Framework javascript, plugins de "debugging" client side, Eclipse, comunicación con un servidor JSon
- Introducirse y familiarizarse con:
- HTML: tags comunes como <table>, <a>, <br>, etc
- CSS: no se espera que sean expertos, ni que hagan una aplicación con estética profesional, pero sí se va a valorar el hecho de que hayan escrito algunos estilos, y jugado con la tecnología. Les recomendamos el uso de librerías que permiten dar estilos más rápidamente como Boostrap.
- JS: en realidad javascript "con pinzas", porque no profundizamos en las características peculiares del lenguaje. Usaremos algun framework aceptado actualmente como angular para hacer una SPA, siempre manteniendo el espírutu de una aplicación mínima que siga los lineamientos básicos del framework.
- Implementar y familiarizarse con las problemáticas de estado y comportamiento server-side:
- Entender y aplicar la división de "controller / modelo / vista", a través del patrón MVC tanto en el modelo como en la vista
- Entender cuando nos encontramos en la vista y cuando en el cliente y realizar la comunicación entre ambos de forma satisfactoria
Enunciados de Cuatrimestres Anteriores
- TP - Domino's Pizza (2do Cuatrimestre 2017) - Seguidor de series (Recuperatorio)
- Carmen San Diego (1er Cuatrimestre 2017)
- Rank-IT (2do Cuatrimestre 2016)
- Control de Gastos (Recuperatorio 1er Cuatrimestre 2016)
- Aca hay gato encerrado (1er Cuatrimestre 2016)
- Lucha de Robots (Integrador fuera del cuatrimestre 2015)
- Sistema de Encuestas (Integrador 2do Cuatrimestre 2015)
- Duelo entre Leyendas (2do Cuatrimestre 2015)
- El Cumpleañero (1er Cuatrimestre 2015)
- Planificador de horarios (1er cuatrimestre 2014)
- Candy Crush (2do Cuatrimestre 2013)
- Plantas vs Zombies (1er Cuatrimestre 2013)
- Competencias de Robots(2do Cuatrimestre 2012)
- Ruleta (1er Cuatrimestre 2012)
- TP Esferas del Dragón (2do Cuatrimestre 2011)
- Primer cuatrimestre 2010 - Task Manager
- Enunciado base para todos los trabajos prácticos
- Enunciado específico para el TP1 (cliente pesado)
- Enunciado TP: Aplicación de Manejo de Permisos
- Seguimiento (Algoritmos 3)