¿Se puede hacer de forma remota, :-) ?

2011/4/15 Hernan Wilkinson <[email protected]>

> Que tal,
>  quería comentarles que estaremos dando el curso de diseño con objetos
> denominado *"Elementos avanzados de Arquitectura de software con objetos"* a
> partir de fin de este mes.
>  Seguramente te estarás preguntando qué puede tener de interesante un curso
> de "objetos" si todo el tiempo estás trabajando con ellos por medio de Java,
> .Net, Ruby, etc. Sin embargo este no es un curso convencional donde se
> enseña una sintaxis de un lenguaje cómo si de eso se tratara el diseño.
> Pero, si alguna vez te surgió la curiosidad o te preguntaste de dónde 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 reales,
> entonces este curso es para vos.
>  Si alguna vez te preguntaste por qué no podés ponerle buenos nombres a las
> clases, por qué el paradigma se llama "orientado a objetos" cuando lo único
> que parece que escribís son clases, por qué nunca estás seguro si está
> subclasificando correctamente, si debés hacer para reusar código o si debés
> hacer porque te conviene, claramente tenés que anotarte en este curso.
>  También puede ser que alguna vez te hayas preguntado por qué me cuesta
> tanto mantener los sistemas que desarrollo, por qué hay gente loca por ahí
> que dice que con Ruby es más fácil que con Java y al mismo tiempo gente que
> dice que programar con Java es más "seguro" que con Ruby o por qué cambiar
> el "tipo" de una variable genera un efecto onda que te obliga a no realizar
> el cambio, no quiero sonar reiterativo, pero este curso es para vos.
>  Si alguna vez te preguntaste cuál es en serio la diferencia entre
> lenguajes estáticamente tipados y dinámicamente tipados, por qué JavaScript
> no utiliza clases (al igual que otros lenguajes como Self o IO), o por qué
> Java parece haber cumplido su ciclo... hmm tengo que decirte que en este
> curso encontrarás esas respuestas.
>  Si alguna vez tuviste que hacer un copy & paste de un método y meter un if
> en el medio para que la cosa funcionara, puesto no entendes nada de lo que
> escribó el tipo que lo hizo pero al mismo tiempo sentís que podrías hacer
> algo mejor pero no sabés cómo, bueno, que te puedo decir... este curso es
> para vos.
>  Si 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 sabes qué corno
> significa eso, si tenés ganas de perderle el miedo a la meta-programación
> (esta palabra que asusta tanto) o querés saber qué es un lenguaje
> "meta-circular", este curso definitivamente es para vos.
>  En conclusión, si te interesa la "creación" de software, hacer buenos
> programas y tener motivos para estar seguro de tus decisiones de diseño, no
> dejes de anotarte.
>
>  *Duración*: El curso es de 24 horas y lo daremos en 6 clases de 4 horas,
> en el horario de 9 a 13 hrs, dos días por semana.
>  *Objetivo*: El objetivo del curso es brindar a los asistentes elementos
> avanzados de Diseño de software con objetos que le permitan construir un
> software robusto, mantenible, extensible y reusable (independientemente de
> la plataforma).
>  *Características*: El mismo estará compuesto por una parte de fundamentos
> teóricos y otra de ejercicios prácticos. Los lenguajes para los ejercicios
> prácticos son Java, C#, Ruby y Smalltalk. (Al final del mail podrán
> encontrar una descripción completa del contenido del curso). Este es el
> primer curso de los dos de diseño que daremos este año. El segundo curso lo
> estaremos ofreciendo para Junio (pero es requisito haber cursado el primero
> para cursar el segundo :-) )
>  *Costo*: El costo del mismo es de $ 1450 IVA INCLUIDO.
>  *Forma de Pago*: Los pagos se pueden hacer con transferencia bancaria,
> efectivo o tarjeta hasta 24 cuotas (con tarjeta hay un costo adicional del
> 5%).
>  *Fechas*:
>
> Clase 1: Lunes 25 de Abril
> Clase 2: Jueves 28 de Abril
> Clase 3: Lunes 2 de Mayo
> Clase 4: Jueves 5 de Mayo
> Clase 5: Lunes 9 de Mayo
> Clase 6: Jueves 12 de Mayo
>
>
>  Todos aquellos que estén interesados en anotarse o tengan preguntas envíen
> un mail a [email protected]. Aún quedan varios cupos.
>  Saludos!
>  Hernán.
>
> *Descripción completa del curso*:
> Brindar a los asistentes en primera instancia, los conceptos fundamentales
> de la Orientación a 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 arquitectura que
> le 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á un mecanismo de comunicación de diseños sencillo,
> fluido y efectivo
> *Audiencia*:
> Programadores, Diseñadores, Arquitectos
> *Temario*:
>
>    - Concepto de “paradigma”
>    - Definición de "paradigma de objetos" y  “programa orientado a
>    objetos”
>    - Historia del surgimiento paradigma
>    - Concepto de abstracción
>    - Conceptos básicos del paradigma:
>       - Objeto y Mensaje
>       - Identidad
>       - Método
>       - Polimorfismo, Binding Dinámico
>       - Colaboraciones, colaboradores
>       - Encapsulamiento
>       - Expresiones Lambda
>    - Tipos de Lenguajes de Programación del Paradigma
>       - Lenguajes Clásicos/Aristotélicos
>       - Lenguajes Modernos/Prototipicos
>    - Conceptos y construcciones derivados del paradigma:
>       - Creación de objetos, destrucción de objetos
>       - Clases abstractas y concretas
>       - Clasificación, subclasificación y herencia
>    - Concepto de “tipo” en el paradigma de objetos
>       - Definición de Cohesión en el paradigma
>       - Definición de Acoplamiento en el paradigma
>    - Lenguajes y ambientes de desarrollo
>    - Definición y especificación de protocolos y contratos
>    - Jerarquías polimórficas
>    - Excepciones
>    - Reglas de Diseño básicas.
>    - Diagramas básicos de UML simplificado
>       - Diagrama de Objetos
>       - Diagrama de Secuencia
>       - Diagrama de Clases
>    - Breve introducción a patrones de diseño
>       - Definición de Arquitectura
>       - Problemas de Diseño recurrentes
>       - Idioms
>       - Definición de Patrón de Diseño
>       - Ejemplos de utilización de patrones
>
>
> --
> *Hernán Wilkinson
> Agile Software Development, Teaching & Coaching
> Mobile: +54 - 911 - 4470 - 7207
> email: [email protected]
> site: http://www.10Pines.com <http://www.10pines.com/>*
>
>  --
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
>
> http://www.clubSmalltalk.org

-- 
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]

http://www.clubSmalltalk.org

Responder a