Sobre la materia
¡Hola! ¡Bienvenide a diseño de sistemas!
Estás arrancando una materia nueva, y es muy posible que te surjan (ahora, o más adelante) un montón de preguntas.
¿Es una materia fácil?
Marge, no voy a mentirte: diseño es una materia anual, compleja e integradora, que está situada justo en la mitad de la carrera. Y además, se trata de resolver problemas, en constante diálogo y tensión entre cuestiones técnicas y tecnológicas, metodológicas y económicas, conceptuales y pragmáticas, y a veces, incluso filosóficas, políticas y éticas.
Si diseñar sistemas fuera fácil, cualquiera lo haría.
¡Pero no desesperes! Diseño de sistemas también es una materia muy enriquecedora, que te da herramientas prácticas y que muchas veces te ayudarán incluso a conseguir un trabajo. Sí, vas a tener que esforzarte, y puede que sufras un poquito y se te piante un lagrimón, pero también (creemos y esperamos) vas a reír, aprender y disfrutar mucho.
¿Es difícil aprender a diseñar?
Dominar el arte de diseñar no es imposible, pero tampoco es trivial: no hay caminos directos ni atajos rápidos. Aprehender las técnicas y cualidades de diseño es un camino no lineal, sinuoso, que requiere tiempo y paciencia. A diseñar se aprende leyendo y estudiando de las lecciones y errores de otres, pero sobre todo, haciendo, equivocándose y volviendo a hacer.
¿Se puede aprender a diseñar en una materia de la facultad?
Ni sí ni no. Aprender equivocándose choca con nuestras expectativas del aprendizaje universitario, en el cual le docente es una fuente emisora de conocimiento, a una cierta cantidad de información por minuto, al que si le prestamos atención, nos asegurará la aprobación de los exámenes. O en el que el docente sólo puede hacer preguntas para las que tenga respuestas.
Peor aún, el cumplimiento riguroso de una currícula obliga a que cualquier desviación del plan original, en la que todo el curso avanza a una misma velocidad, con tasas de error bajas y controladas, sea un fracaso de les docentes, de les estudiantes, o ambes. ¡Todo un contrasentido!
El problema es que en una educación fragmentaria en la que la adquisición de conocimientos individuales, desprovistos de su dinamismo y relación natural, orientada a las evaluaciones antes que a los aprendizajes significativos, al depósito bancarizado de información antes que a la construcción de saberes cooperativos, y al cumplimiento de currículas modulares antes que a los recorridos enriquecedores, el aprendizaje del diseño de sistemas (como así cualquier actividad que involucre práctica, creatividad, discusión, pero también apropiación de contenidos disciplinares duros) siempre será trunco, y apenas una aproximación a lo que debe ser.
¿Y entonces? ¿Será muy pesada la cursada? ¿Se puede aprobar? ¿Puedo ya empezar a llorar?
¡No todo está perdido! Quizás estudiar bajo esta estructura no sea la forma ideal, pero definitivamente hay mucho que podemos y vamos a conocer durante la cursada. Eso sí, tendremos que aceptar (en el ínterin) y convivir con algunas realidades:
- Llevarse trabajo para la casa será la regla y no la excepción.
- Los trabajos prácticos muchas veces requerirán entregas y reentregas.
- Los parciales tendrán muchas veces bajas tasas de aprobación en las primeras instancias. Pero crecerán de forma consistente y sostenida conforme llegamos a los recuperatorios. Si seguís la materia, hacés los trabajos prácticos,practicás mucho durante todo el año y aprovechás cada instancia de parcial como una oportunidad más para aprender, la meta está casi asegurada.
- Y sobre todo: nada de lo anterior debe ser considerado un fracaso o una falta. No te frustres, ¡estás aprendiendo!
Si considerás que astas son condiciones justas, este es tu lugar. ¡Te esperamos!
¿Cuánto demoran las correcciones?
Las correcciones de los parciales ocurren siempre antes del fin de la cursada en plazos razonables. Sin embargo, los primeros recuperatorios (que se toman a mediados de diciembre) suelen demorar más tiempo: suelen estar a fines de enero o principios de febrero, dos semanas antes de los segundos recuperatorios.
¿Por qué? Porque por un lado nos solemos tomar bastante tiempo para entender y revisar los exámenes, y dar el mejor feedback posible, y por otro lado, porque les docentes también nos tomamos vacaciones.
Esto significa que salvo que estés muy convencide de que te fue bien en el recuperatorio… ¡estudies durante el verano!
¿Cuál es el horario de cursada?
Las clases serán teórico-prácticas, aunque usualmente más prácticas que teóricas. Para aprovechar al máximo el tiempo de clase, necesitaremos dos cosas:
- Que traigan los textos teóricos leídos.
- Que respetemos los horarios: de 19 a 22.15 los viernes, y de 9.15 a 12.30 los jueves.
¿Qué temas vamos a ver en la materia?
Ahora sí, yendo a los contenidos concretos, diseño es una materia en que:
- pondremos al diseño y construcción de software en el contexto del ciclo de vida del desarrollo de sistemas, y veremos cómo factores externos técnicos, humanos y económicos los afectan.
- aprenderemos sobre cualidades de diseño y de software.
- tendremos que plantear diseños alternativos para un mismo problema, analizar sus ventajas y justificar las decisiones de diseño tomadas.
- tendremos que criticar soluciones existentes y mejorarlas.
- tendremos que comunicar nuestros diseños a otres.
- tendremos que analizar modelos de negocio de mayor complejidad (comparado con Análisis) para poder diseñar y construir sistemas a partir de estos modelos.
- resolveremos problemas de programación de mayor complejidad (comparado con Paradigmas) empleando el paradigma de objetos
- aprenderemos a diseñar y construir sistemas (casi) completos, cubriendo los tres componentes arquitectónicos fundamentales: modelo, persistencia (guardar nuestros objetos) y presentación (hacer interfaces gráficas).
- aprenderemos conceptos y herramientas que trascenderán el objetivo de la cursada y te servirán en toda tu carrera profesional, más allá de en qué parte de un equipo de desarrollo trabajes.
- vincularemos a la actividad con cuestiones que la trascienden.
¿Y qué queda afuera?
Diseño NO es una materia:
- de lenguajes de programación o sobre tecnologías concretas, pero de todas formas los necesitaremos para bajar los conceptos a detalle.
- de repaso de Análisis. Asumiremos que tenés claros los conceptos de requerimiento funcional y no funcional, de especificación de caso de uso o de historia de usuario, de entrevista y una noción ciclo de vida del software. Si no fuera el caso, consultanos y te proveeremos apuntes niveladores.
- de repaso de Paradigmas. Asumiremos que tenés claros los conceptos de declaratividad, expresividad, orden superior, polimorfismo y excepciones, y que podés resolver problemas de programación bajo el paradigma de objetos. Si no fuera el caso, consultanos y te proveeremos apuntes niveladores.
- que te enseñe trucos para aprobar los TP de Operativos, TADP o TGC; pero muchas ideas te pueden ser de gran ayuda: si bien no hablaremos de
sockets
, metaprogramación osprites
, las ideas de diseño que verás acá son aplicables a muchas otras materias. - basada en herramientas que ofrecen las bases de datos relacionales. Pero sí necesitaremos algunos conocimientos básicos sobre las mismas en el segundo cuatrimestre, es recomendable cursar en paralelo Gestión de Datos.
- en la que tengas que recitar de memoria un catálogo de patrones de diseño: si bien utilizaremos eventualmente la idea de patrón (solución conocida a problema recurrente), nos servirán sólo como catalizador de nuestro proceso de pensamiento, no son el foco de la materia. Diseñar NO es aplicar patrones.
- de la que vayas a salir con un título de arquitecte o gurú del software, pero que te dará valiosos fundamentos del diseño y desarrollo de sistemas para la vida profesional.
¿Voy a tener que dedicarle bastante tiempo a la materia?
Sí.
(De verdad, no nos ocurrió nada mejor para decir acá…)
¿Y qué hay sobre el lenguaje y el respeto?
Desde el equipo docente creemos que no hay educación posible sin respeto entre todas las partes: todes (estudiantes y docentes) somos personas, y estamos acá para enseñar y aprender, pero también para pasar momentos disfrutables. Por eso es importante que siempre tengamos esto en cuenta, tanto para ofrecerlo como para exigirlo, y señalarlo si se quiebra.
¿Les docentes se adhieren a los paros?
Llegó la hora de hablar de otro temido tema: los paros docentes.
La respuesta breve es que sí, nos adherimos, a veces no yendo a clases, y otras veces, de forma activa (es decir, dando las clases pero no tomando listas), eso dependerá del reclamo particular y de la planificación a ese día. Vemos a este como un último recurso, al que sólo recurriremos cuando sea necesario.
¿El motivo? Por un lado, porque creemos en la educación pública, y no estaríamos aquí si no fuera por ella. Y por otro, porque creemos que la labor docente debe ser considerada de excelencia y no de segunda, y una de (las tantas) formas de jerarquizarla es asignándole salarios acordes a las realidades. Pero sobre todo, porque pensamos que docente que lucha, docente que enseña.
¿Cómo nos comunicamos?
Aula virtual
Es obligatorio inscribirse al aula virtual de cada curso.
Repositorios de la cátedra
El repositorio de la cátedra es https://github.com/dds-utn, ahí vas a encontrar ejemplos varios de código (que iremos enlazando) y tu repositorio. Vas a necesitar un usuario Github.
Seguimiento de cursada
¡Mirá siempre el seguimiento de las clases antes y después de cada una! Lo vas encontrar en las bitácoras: