¿Viste objetos en la facultad, sabes programar en Java, C# u otro lenguaje pero sentís que te falta aprender algo más?
¿Alguna vez te preguntaste cómo surgió el paradigma de objetos, qué bases teóricas lo sustentan, cómo se compara con el paradigma funcional y cuáles son sus ventajas y desventajas?
¿Te cuesta ponerle buenos nombres a las clases, y te preguntás por qué el paradigma se llama "orientado a objetos" cuando lo único que parece que escribís son clases?
¿Te cuestionaste por qué te cuesta tanto mantener los sistemas que desarrollas? ¿Por qué dicen que desarrollar con Ruby es más fácil que con Java pero con Java es más "seguro" que con Ruby?
¿Te preguntaste cómo afectan tus diseños los lenguajes estáticamente tipados y dinámicamente tipados? o ¿por qué JavaScript no utiliza clases o qué es un closure?
¿Tenés dudas sobre qué decisión de diseño es mejor, sabes que tenés que buscar mínimo acoplamiento y máxima cohesión pero no estás seguro qué significa en términos de objetos?
Si alguna vez te hiciste alguna de estas preguntas, ¡entonces este curso es para vos!
Sobre el Instructor
Hernán Wilkinson desarrolla software de manera profesional desde el año 1991 y utiliza TDD para hacerlo desde el año 2000. Ha programado innumerables sistemas utilizando esta técnica y la enseña sistemáticamente desde el año 2004.
Es profesor hace 11 años de las materias de "Programación Orientada a Objetos" y "Diseño Avanzado con Objetos" de la Facultad de Ciencias Exactas de la UBA. Da clases de diseño en la cátedra de "Ingeniería de Software 2" y participa de la materia de "Paradigmas de Lenguajes de Programación" de la misma facultad. Es también profesor titular de la materia "Métodos de Desarrollo con Objetos" del Master de Ingeniería de Software de la UCA.
Ha participado activamente en varios congresos internacionales y nacionales como OOPSLA, ESUG, Agiles y Smalltalks. Es miembro fundador de FAST, Fundación Argentina de Smalltalk, organizadora de los congresos argentinos de Smalltalk.
Se ha desempeñado como programador, líder de grupos de arquitectura, gerente de desarrollo y actualmente es socio de 10Pines, pero nunca ha dejado de hacer aquello que es su pasión: desarrollar software.
Qué han dicho las personas que ya tomaron este curso
Lo que más me gustó del curso fue...
¿Recomendaría esta actividad a otros colegas?
¿Asistir fue una buena inversión de tu tiempo?
¿Por qué un curso de Diseño Avanzado con Objetos?
El paradigma de objetos surgió hace más de 40 años con el lenguaje Simula 67, aún antes que el paradigma estructurado, pero sin embargo existe mucha confusión sobre cómo diseñar con objetos.
Lamentablemente la mayoría de los lenguajes de programación que se usan a nivel comercial no ayudan demasiado a entender la esencia de este paradigma y los cursos que generalmente se dictan sobre este tema son más bien cursos sobre lenguajes y su sintaxis o sobre frameworks y tecnologías particulares.
Es por eso que creemos necesario un curso de objetos avanzado, donde se analise el paradigma de acuerdo a cómo fue planteado en su "fundación" y se cuestione el "status quo" del desarrollo con objetos, para que a partir de esto formemos una visión "novedosa" y al mismo tiempo "madura" sobre qué significa desarrollar software con objetos y cómo hacerlo bien.
Objetivos del curso
Brindar a los asistentes en primera instancia, los conceptos fundamentales del Paradigma de Objetos, con un enfoque tal que ayude a producir un cambio paradigmático en la manera de pensar al momento de construir software. Para esto se utiliza un enfoque pedagógico constructivista que permite desarrollar, a lo largo del curso, el Paradigma de Objetos en forma “pura” — expresando todo el paradigma sólo en términos de objetos— y “minimal” —introduciendo sólo los elementos esenciales que conforman el paradigma y que permiten la construcción de elementos más complejos y sofisticados—.
En segunda instancia, se verán elementos avanzados de diseño que permitan construir software robusto, mantenible, extensible y reusable, independientemente de la plataforma de desarrollo que se utilice. Mejorar la calidad de los sistemas desarrollados a partir de entender el concepto de contrato entre objetos, su especificación (precondiciones, invariantes, etc.) y manejo en caso de violaciones (errores y excepciones). Proverá también, un mecanismo de comunicación de diseños sencillo, fluido y efectivo.
Una vez terminado el curso, conocerás mucho mejor las ventajas y desventajas de los lenguajes de objetos, podrás tomar decisiones de diseño basadas en reglas confiables y estarás preparado para realizar saltos cualitativos conceptuales que te permitirán crear soluciones de las que te sentirás orgulloso.
Duración
24 horas
Pre-Requisitos
- Familiaridad con alguno de los lenguajes de programación a utilizar.
Lenguajes de Programación
- Java (Eclipse)
- .Net (C#, VisualStudio 2010 con Re-Sharper)
- Smalltalk (Pharo)
- Ruby (Ambiente a elección)
Si querés, podés traer su laptop y utilizar el ambiente de desarrollo que más te guste, siempre y cuando puedas utilizar el framework xUnit correspondiente.
Precio
$1.800 + IVA (¡Incluye café ilimitado y medialunas!)
Métodos de Pago: Transferencia bancaria, efectivo o tarjeta hasta 24 cuotas (con tarjeta hay un costo adicional del 6%)
Próxima fecha
Buenos Aires, Argentina
Fecha:: Ver Cursos Disponibles
Horario: De 9 a 13 hrs. Último día de 9 a 18 hrs
Lugar: Av. de Mayo y Florida
Inscripción
¿Cómo te podés anotar?: Completá el formulario de inscripción indicando tu nombre, empresa y datos de contacto. Nos comunicaremos con vos a la brevedad para confirmar tu inscripción.
¿Tenés preguntas?: No dudes en comunicarte con nosotros.
