[ANN] Elementos avanzados de Arquitectura de software con objetos

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
19 messages Options
Reply | Threaded
Open this post in threaded view
|

[ANN] Elementos avanzados de Arquitectura de software con objetos

Hernan Wilkinson-3
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 [hidden email]. 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: [hidden email]
site: http://www.10Pines.com

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Elementos avanzados de Arquitectura de software con objetos

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

2011/4/15 Hernan Wilkinson <[hidden email]>
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 [hidden email]. 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: [hidden email]
site: http://www.10Pines.com

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Elementos avanzados de Arquitectura de software con objetos

Mariano Martinez Peck
In reply to this post by Hernan Wilkinson-3


2011/4/15 Hernan Wilkinson <[hidden email]>
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.

no vende mencionar Smalltalk?

 
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 [hidden email]. 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: [hidden email]
site: http://www.10Pines.com

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org



--
Mariano
http://marianopeck.wordpress.com

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Elementos avanzados de Arquitectura de software con objetos

Diogenes Moreira
Mira, la ignorancia generaliza que hay sobre smalltalk, hace que no sea un "Key Success", para la venta.. es mas a veces resta :(...

Lo bueno, también es que es como una droga.. es un camino de ida..

Por eso me parece bien lo que hace Hernan, que no lo ponen el subject.. pero después lo mecha.. de esa manera no tiene que luchar con preconceptos..

Saludos

2011/4/15 Mariano Martinez Peck <[hidden email]>


2011/4/15 Hernan Wilkinson <[hidden email]>
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.

no vende mencionar Smalltalk?

 
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 [hidden email]. 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: [hidden email]
site: http://www.10Pines.com

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org



--
Mariano
http://marianopeck.wordpress.com

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Elementos avanzados de Arquitectura de software con objetos

Cesar Ballardini-3
In reply to this post by Alex Schenkman
El día 15 de abril de 2011 10:35, Alex Schenkman <[hidden email]> escribió:
> ¿Se puede hacer de forma remota, :-) ?
>

+1

> 2011/4/15 Hernan Wilkinson <[hidden email]>
>>
>> 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 [hidden email]. 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: [hidden email]
>> site: http://www.10Pines.com
>>
>> --
>> To post to this group, send email to [hidden email]
>> To unsubscribe from this group, send email to
>> [hidden email]
>>
>> http://www.clubSmalltalk.org
>
> --
> To post to this group, send email to [hidden email]
> To unsubscribe from this group, send email to
> [hidden email]
>
> http://www.clubSmalltalk.org



--
It's not enough to teach students to surf the Net, we must teach them to
make waves. My pedagogical theory is relate, create, donate, which
suggests that students work in teams, create ambitious projects and then
donate these to people who can use and build upon them. --Ben Shneiderman

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

http://www.clubSmalltalk.org
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Elementos avanzados de Arquitectura de software con objetos

pdigonzelli
+1
El vie, 15-04-2011 a las 12:45 -0300, Cesar Ballardini escribió:

> El día 15 de abril de 2011 10:35, Alex Schenkman <[hidden email]> escribió:
> > ¿Se puede hacer de forma remota, :-) ?
> >
>
> +1
>
> > 2011/4/15 Hernan Wilkinson <[hidden email]>
> >>
> >> 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 [hidden email]. 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: [hidden email]
> >> site: http://www.10Pines.com
> >>
> >> --
> >> To post to this group, send email to [hidden email]
> >> To unsubscribe from this group, send email to
> >> [hidden email]
> >>
> >> http://www.clubSmalltalk.org
> >
> > --
> > To post to this group, send email to [hidden email]
> > To unsubscribe from this group, send email to
> > [hidden email]
> >
> > http://www.clubSmalltalk.org
>
>
>
> --
> It's not enough to teach students to surf the Net, we must teach them to
> make waves. My pedagogical theory is relate, create, donate, which
> suggests that students work in teams, create ambitious projects and then
> donate these to people who can use and build upon them. --Ben Shneiderman
>
> --
> To post to this group, send email to [hidden email]
> To unsubscribe from this group, send email to [hidden email]
>
> http://www.clubSmalltalk.org


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

http://www.clubSmalltalk.org
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Elementos avanzados de Arquitectura de software con objetos

Gastón Dall' Oglio
+10 aprox :)... En la regional Concepción de la UTN podrían estar interesados.

El 15 de abril de 2011 12:50, pablo digonzelli <[hidden email]> escribió:
+1
El vie, 15-04-2011 a las 12:45 -0300, Cesar Ballardini escribió:
> El día 15 de abril de 2011 10:35, Alex Schenkman <[hidden email]> escribió:
> > ¿Se puede hacer de forma remota, :-) ?
> >
>
> +1
>
> > 2011/4/15 Hernan Wilkinson <[hidden email]>
> >>
> >> 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 [hidden email]. 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: [hidden email]
> >> site: http://www.10Pines.com
> >>
> >> --
> >> To post to this group, send email to [hidden email]
> >> To unsubscribe from this group, send email to
> >> [hidden email]
> >>
> >> http://www.clubSmalltalk.org
> >
> > --
> > To post to this group, send email to [hidden email]
> > To unsubscribe from this group, send email to
> > [hidden email]
> >
> > http://www.clubSmalltalk.org
>
>
>
> --
> It's not enough to teach students to surf the Net, we must teach them to
> make waves. My pedagogical theory is relate, create, donate, which
> suggests that students work in teams, create ambitious projects and then
> donate these to people who can use and build upon them. --Ben Shneiderman
>
> --
> To post to this group, send email to [hidden email]
> To unsubscribe from this group, send email to [hidden email]
>
> http://www.clubSmalltalk.org


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

http://www.clubSmalltalk.org

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Elementos avanzados de Arquitectura de software con objetos

Cesar Ballardini-3
2011/4/15 Gastón Dall' Oglio <[hidden email]>:
> +10 aprox :)... En la regional Concepción de la UTN podrían estar
> interesados.
>

moodle por ahi? :)

> El 15 de abril de 2011 12:50, pablo digonzelli
> <[hidden email]> escribió:
>>
>> +1
>> El vie, 15-04-2011 a las 12:45 -0300, Cesar Ballardini escribió:
>> > El día 15 de abril de 2011 10:35, Alex Schenkman <[hidden email]>
>> > escribió:
>> > > ¿Se puede hacer de forma remota, :-) ?
>> > >
>> >
>> > +1
>> >
>> > > 2011/4/15 Hernan Wilkinson <[hidden email]>
>> > >>
>> > >> 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 [hidden email]. 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: [hidden email]
>> > >> site: http://www.10Pines.com
>> > >>
>> > >> --
>> > >> To post to this group, send email to [hidden email]
>> > >> To unsubscribe from this group, send email to
>> > >> [hidden email]
>> > >>
>> > >> http://www.clubSmalltalk.org
>> > >
>> > > --
>> > > To post to this group, send email to [hidden email]
>> > > To unsubscribe from this group, send email to
>> > > [hidden email]
>> > >
>> > > http://www.clubSmalltalk.org
>> >
>> >
>> >
>> > --
>> > It's not enough to teach students to surf the Net, we must teach them to
>> > make waves. My pedagogical theory is relate, create, donate, which
>> > suggests that students work in teams, create ambitious projects and then
>> > donate these to people who can use and build upon them. --Ben
>> > Shneiderman
>> >
>> > --
>> > To post to this group, send email to [hidden email]
>> > To unsubscribe from this group, send email to
>> > [hidden email]
>> >
>> > http://www.clubSmalltalk.org
>>
>>
>> --
>> To post to this group, send email to [hidden email]
>> To unsubscribe from this group, send email to
>> [hidden email]
>>
>> http://www.clubSmalltalk.org
>
> --
> To post to this group, send email to [hidden email]
> To unsubscribe from this group, send email to
> [hidden email]
>
> http://www.clubSmalltalk.org



--
It's not enough to teach students to surf the Net, we must teach them to
make waves. My pedagogical theory is relate, create, donate, which
suggests that students work in teams, create ambitious projects and then
donate these to people who can use and build upon them. --Ben Shneiderman

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

http://www.clubSmalltalk.org
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Elementos avanzados de Arquitectura de software con objetos

Hernan Wilkinson-3
In reply to this post by Alex Schenkman
jeje, estaría bueno pero aún no encontramos cómo :-)

2011/4/15 Alex Schenkman <[hidden email]>
¿Se puede hacer de forma remota, :-) ?

2011/4/15 Hernan Wilkinson <[hidden email]>
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 [hidden email]. 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: [hidden email]
site: http://www.10Pines.com

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org



--
Hernán Wilkinson
Agile Software Development, Teaching & Coaching
Mobile: +54 - 911 - 4470 - 7207
email: [hidden email]
site: http://www.10Pines.com

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Elementos avanzados de Arquitectura de software con objetos

Hernan Wilkinson-3
In reply to this post by Mariano Martinez Peck
jaja, claro que sí, fijate más abajo qué dice sobre los lenguajes que se pueden usar :-)

2011/4/15 Mariano Martinez Peck <[hidden email]>


2011/4/15 Hernan Wilkinson <[hidden email]>
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.

no vende mencionar Smalltalk?

 
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 [hidden email]. 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: [hidden email]
site: http://www.10Pines.com

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org



--
Mariano
http://marianopeck.wordpress.com


--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org



--
Hernán Wilkinson
Agile Software Development, Teaching & Coaching
Mobile: +54 - 911 - 4470 - 7207
email: [hidden email]
site: http://www.10Pines.com

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Elementos avanzados de Arquitectura de software con objetos

Hernan Wilkinson-3
In reply to this post by Cesar Ballardini-3
uh... parece que el tema de hacerlo remoto viene en serio... también me preguntaron de bahía blanca..
El tema que para hacerlo remoto tendríamos que tener instalaciones para hacer video conferencia de la buena (no skype con una camarita pedorra :-)) y no hemos averiguado por este tipo de tecnología... me voy a poner en campaña....

Igual, si fuera de buenos aires se junta un grupo de 10 o más personas que estén interesadas en el curso podemos ver de ir a darlo ahí, todo es posible :-)

2011/4/15 Cesar Ballardini <[hidden email]>
2011/4/15 Gastón Dall' Oglio <[hidden email]>:
> +10 aprox :)... En la regional Concepción de la UTN podrían estar
> interesados.
>

moodle por ahi? :)

> El 15 de abril de 2011 12:50, pablo digonzelli
> <[hidden email]> escribió:
>>
>> +1
>> El vie, 15-04-2011 a las 12:45 -0300, Cesar Ballardini escribió:
>> > El día 15 de abril de 2011 10:35, Alex Schenkman <[hidden email]>
>> > escribió:
>> > > ¿Se puede hacer de forma remota, :-) ?
>> > >
>> >
>> > +1
>> >
>> > > 2011/4/15 Hernan Wilkinson <[hidden email]>
>> > >>
>> > >> 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 [hidden email]. 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: [hidden email]
>> > >> site: http://www.10Pines.com
>> > >>
>> > >> --
>> > >> To post to this group, send email to [hidden email]
>> > >> To unsubscribe from this group, send email to
>> > >> [hidden email]
>> > >>
>> > >> http://www.clubSmalltalk.org
>> > >
>> > > --
>> > > To post to this group, send email to [hidden email]
>> > > To unsubscribe from this group, send email to
>> > > [hidden email]
>> > >
>> > > http://www.clubSmalltalk.org
>> >
>> >
>> >
>> > --
>> > It's not enough to teach students to surf the Net, we must teach them to
>> > make waves. My pedagogical theory is relate, create, donate, which
>> > suggests that students work in teams, create ambitious projects and then
>> > donate these to people who can use and build upon them. --Ben
>> > Shneiderman
>> >
>> > --
>> > To post to this group, send email to [hidden email]
>> > To unsubscribe from this group, send email to
>> > [hidden email]
>> >
>> > http://www.clubSmalltalk.org
>>
>>
>> --
>> To post to this group, send email to [hidden email]
>> To unsubscribe from this group, send email to
>> [hidden email]
>>
>> http://www.clubSmalltalk.org
>
> --
> To post to this group, send email to [hidden email]
> To unsubscribe from this group, send email to
> [hidden email]
>
> http://www.clubSmalltalk.org



--
It's not enough to teach students to surf the Net, we must teach them to
make waves. My pedagogical theory is relate, create, donate, which
suggests that students work in teams, create ambitious projects and then
donate these to people who can use and build upon them. --Ben Shneiderman

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

http://www.clubSmalltalk.org



--
Hernán Wilkinson
Agile Software Development, Teaching & Coaching
Mobile: +54 - 911 - 4470 - 7207
email: [hidden email]
site: http://www.10Pines.com

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Elementos avanzados de Arquitectura de software con objetos

Angel Java Lopez
Hola gente!

Una forma alternativa, de llegar a difundir el tema.

Pasar en limpio lo que se da, y pasarlo a posts.

Se que se pierde lo de dar un curso interactivo, pero por otro lado, el esfuerzo permite que:

- Quede expuesto al gran google
- Cualquiera lo puede consumir
- Es base para un libro u otros contenidos
- El esfuerzo de "pasarlo en limpio y por escrito" es un gran ejercicio: desde Richard Feynman y sus Lectures (pasadas de dar clase a libro), que tenemos: "si no sabemos explicarlo, es que no lo entendemos". Y Feynman enseniaba de tal manera, que tranquilamente lo que dio se pudo pasar por escrito.

Por ejemplo, para ayudar, alguno de los asistentes puede ir grabando la voz, el material ser pasado a dibujos, codigo, presentacion con notas, etc...

Es mi gran opinion personal: todo curso dictado deberia ser posible de pasar a ese formato: por escrito.

Segunda alternativa:
Filmarlo, y ponerlo en Youtube u otros
Problema: hay que saber filmar, ver que no se pierda algun detalle, etc...

Ya escribi sobre el tema:
http://ajlopez.zoomblog.com/archivo/2007/07/22/lo-que-no-esta-escrito-no-existe.html
http://ajlopez.zoomblog.com/archivo/2008/09/05/la-difusion-del-conocimiento-en-Intern.html
http://msmvps.com/blogs/lopez/archive/2009/09/10/lo-que-no-est-225-escrito-y-en-google-no-existe.aspx
http://msmvps.com/blogs/lopez/archive/2009/10/19/ense-241-ando-a-programar-parte-1.aspx

Jeje.. pienso que cada cosa que uno opina firmemente, y es hasta una postura, debe estar escrita, por eso esos enlaces ya estaban preparados desde hace anios para comentar este email del bueno de Hernan Wilkinson ;-)

Como gran ejemplo de alguien que puede enseniar por video:
http://www.khanacademy.org/

Pero antes de llegar ahi. se podria intentar por texto.

Nos leemos!

Angel "Java" Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez


2011/4/15 Hernan Wilkinson <[hidden email]>
uh... parece que el tema de hacerlo remoto viene en serio... también me preguntaron de bahía blanca..
El tema que para hacerlo remoto tendríamos que tener instalaciones para hacer video conferencia de la buena (no skype con una camarita pedorra :-)) y no hemos averiguado por este tipo de tecnología... me voy a poner en campaña....

Igual, si fuera de buenos aires se junta un grupo de 10 o más personas que estén interesadas en el curso podemos ver de ir a darlo ahí, todo es posible :-)


2011/4/15 Cesar Ballardini <[hidden email]>
2011/4/15 Gastón Dall' Oglio <[hidden email]>:
> +10 aprox :)... En la regional Concepción de la UTN podrían estar
> interesados.
>

moodle por ahi? :)

> El 15 de abril de 2011 12:50, pablo digonzelli
> <[hidden email]> escribió:
>>
>> +1
>> El vie, 15-04-2011 a las 12:45 -0300, Cesar Ballardini escribió:
>> > El día 15 de abril de 2011 10:35, Alex Schenkman <[hidden email]>
>> > escribió:
>> > > ¿Se puede hacer de forma remota, :-) ?
>> > >
>> >
>> > +1
>> >
>> > > 2011/4/15 Hernan Wilkinson <[hidden email]>
>> > >>
>> > >> 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 [hidden email]. 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: [hidden email]
>> > >> site: http://www.10Pines.com
>> > >>
>> > >> --
>> > >> To post to this group, send email to [hidden email]
>> > >> To unsubscribe from this group, send email to
>> > >> [hidden email]
>> > >>
>> > >> http://www.clubSmalltalk.org
>> > >
>> > > --
>> > > To post to this group, send email to [hidden email]
>> > > To unsubscribe from this group, send email to
>> > > [hidden email]
>> > >
>> > > http://www.clubSmalltalk.org
>> >
>> >
>> >
>> > --
>> > It's not enough to teach students to surf the Net, we must teach them to
>> > make waves. My pedagogical theory is relate, create, donate, which
>> > suggests that students work in teams, create ambitious projects and then
>> > donate these to people who can use and build upon them. --Ben
>> > Shneiderman
>> >
>> > --
>> > To post to this group, send email to [hidden email]
>> > To unsubscribe from this group, send email to
>> > [hidden email]
>> >
>> > http://www.clubSmalltalk.org
>>
>>
>> --
>> To post to this group, send email to [hidden email]
>> To unsubscribe from this group, send email to
>> [hidden email]
>>
>> http://www.clubSmalltalk.org
>
> --
> To post to this group, send email to [hidden email]
> To unsubscribe from this group, send email to
> [hidden email]
>
> http://www.clubSmalltalk.org



--
It's not enough to teach students to surf the Net, we must teach them to
make waves. My pedagogical theory is relate, create, donate, which
suggests that students work in teams, create ambitious projects and then
donate these to people who can use and build upon them. --Ben Shneiderman

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

http://www.clubSmalltalk.org



--
Hernán Wilkinson
Agile Software Development, Teaching & Coaching
Mobile: +54 - 911 - 4470 - 7207
email: [hidden email]
site: http://www.10Pines.com

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Elementos avanzados de Arquitectura de software con objetos

Jose Gregoris
In reply to this post by Hernan Wilkinson-3

Hola

Para mí siempre es más rico, en persona.
Capas se puede hacer en alguna facultad del interior o algo así

saludos
--- El vie 15-abr-11, Hernan Wilkinson <[hidden email]> escribió:

De: Hernan Wilkinson <[hidden email]>
Asunto: Re: [clubSmalltalk] [ANN] Elementos avanzados de Arquitectura de software con objetos
Para: [hidden email]
Cc: "Cesar Ballardini" <[hidden email]>, "Gastón Dall' Oglio" <[hidden email]>
Fecha: viernes, 15 de abril de 2011, 18:54

uh... parece que el tema de hacerlo remoto viene en serio... también me preguntaron de bahía blanca..
El tema que para hacerlo remoto tendríamos que tener instalaciones para hacer video conferencia de la buena (no skype con una camarita pedorra :-)) y no hemos averiguado por este tipo de tecnología... me voy a poner en campaña....

Igual, si fuera de buenos aires se junta un grupo de 10 o más personas que estén interesadas en el curso podemos ver de ir a darlo ahí, todo es posible :-)

2011/4/15 Cesar Ballardini <cesar@...>
2011/4/15 Gastón Dall' Oglio <gaston.dalloglio@...>:
> +10 aprox :)... En la regional Concepción de la UTN podrían estar
> interesados.
>

moodle por ahi? :)

> El 15 de abril de 2011 12:50, pablo digonzelli
> <pdigonzelli@...> escribió:
>>
>> +1
>> El vie, 15-04-2011 a las 12:45 -0300, Cesar Ballardini escribió:
>> > El día 15 de abril de 2011 10:35, Alex Schenkman <alex@...>
>> > escribió:
>> > > ¿Se puede hacer de forma remota, :-) ?
>> > >
>> >
>> > +1
>> >
>> > > 2011/4/15 Hernan Wilkinson <hernan.wilkinson@...>
>> > >>
>> > >> 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 cursos@.... 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: [hidden email]
>> > >> site: http://www.10Pines.com
>> > >>
>> > >> --
>> > >> To post to this group, send email to clubSmalltalk@...
>> > >> To unsubscribe from this group, send email to
>> > >> clubSmalltalk+unsubscribe@...
>> > >>
>> > >> http://www.clubSmalltalk.org
>> > >
>> > > --
>> > > To post to this group, send email to clubSmalltalk@...
>> > > To unsubscribe from this group, send email to
>> > > clubSmalltalk+unsubscribe@...
>> > >
>> > > http://www.clubSmalltalk.org
>> >
>> >
>> >
>> > --
>> > It's not enough to teach students to surf the Net, we must teach them to
>> > make waves. My pedagogical theory is relate, create, donate, which
>> > suggests that students work in teams, create ambitious projects and then
>> > donate these to people who can use and build upon them. --Ben
>> > Shneiderman
>> >
>> > --
>> > To post to this group, send email to clubSmalltalk@...
>> > To unsubscribe from this group, send email to
>> > clubSmalltalk+unsubscribe@...
>> >
>> > http://www.clubSmalltalk.org
>>
>>
>> --
>> To post to this group, send email to clubSmalltalk@...
>> To unsubscribe from this group, send email to
>> clubSmalltalk+unsubscribe@...
>>
>> http://www.clubSmalltalk.org
>
> --
> To post to this group, send email to clubSmalltalk@...
> To unsubscribe from this group, send email to
> clubSmalltalk+unsubscribe@...
>
> http://www.clubSmalltalk.org



--
It's not enough to teach students to surf the Net, we must teach them to
make waves. My pedagogical theory is relate, create, donate, which
suggests that students work in teams, create ambitious projects and then
donate these to people who can use and build upon them. --Ben Shneiderman

--
To post to this group, send email to clubSmalltalk@...
To unsubscribe from this group, send email to clubSmalltalk+unsubscribe@...

http://www.clubSmalltalk.org



--
Hernán Wilkinson
Agile Software Development, Teaching & Coaching
Mobile: +54 - 911 - 4470 - 7207
email: [hidden email]
site: http://www.10Pines.com

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Elementos avanzados de Arquitectura de software con objetos

Angel Java Lopez
Si, pero hay que pensar en riqueza colectiva. Se tiende a:

n (grupo presencial) * riqueza1 < m (grupo internet) * riqueza2

siendo riqueza1: lo "ganado por individuo en curso presencial"
y riqueza2: lo "ganado por individuo en curso disponible en forma X", donde prefiero X = "por escrito, imagenes, video, lo que sea, en Internet, disponible 24hs, 7ds por semana"

siempre habra m que cumpla eso, aunque riqueza1 > riqueza2

Un principio de Arquimedes, aplicado a esto ;-)

Siempre es mas rico sentarse con Socrates, pero gracias a Platon (que paso a escrito) tenemos al fin, mas "riqueza colectiva".

Y hasta diria que el esfuerzo de preparar un curso asi (o un libro de Platon) es de una VEZ, por lo menos, no es proporcional a m.

Y por que pensar en "colectivo" en vez de "individual"? Jeje.. ya es tema para otro post ;-)

Angel "Java" Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez


2011/4/16 Jose Gregoris <[hidden email]>

Hola

Para mí siempre es más rico, en persona.
Capas se puede hacer en alguna facultad del interior o algo así

saludos
--- El vie 15-abr-11, Hernan Wilkinson <[hidden email]> escribió:

De: Hernan Wilkinson <[hidden email]>
Asunto: Re: [clubSmalltalk] [ANN] Elementos avanzados de Arquitectura de software con objetos
Para: [hidden email]
Cc: "Cesar Ballardini" <[hidden email]>, "Gastón Dall' Oglio" <[hidden email]>
Fecha: viernes, 15 de abril de 2011, 18:54


uh... parece que el tema de hacerlo remoto viene en serio... también me preguntaron de bahía blanca..
El tema que para hacerlo remoto tendríamos que tener instalaciones para hacer video conferencia de la buena (no skype con una camarita pedorra :-)) y no hemos averiguado por este tipo de tecnología... me voy a poner en campaña....

Igual, si fuera de buenos aires se junta un grupo de 10 o más personas que estén interesadas en el curso podemos ver de ir a darlo ahí, todo es posible :-)

2011/4/15 Cesar Ballardini <cesar@...>
2011/4/15 Gastón Dall' Oglio <gaston.dalloglio@...>:
> +10 aprox :)... En la regional Concepción de la UTN podrían estar
> interesados.
>

moodle por ahi? :)

> El 15 de abril de 2011 12:50, pablo digonzelli
> <pdigonzelli@...> escribió:
>>
>> +1
>> El vie, 15-04-2011 a las 12:45 -0300, Cesar Ballardini escribió:
>> > El día 15 de abril de 2011 10:35, Alex Schenkman <alex@...>
>> > escribió:
>> > > ¿Se puede hacer de forma remota, :-) ?
>> > >
>> >
>> > +1
>> >
>> > > 2011/4/15 Hernan Wilkinson <hernan.wilkinson@...>
>> > >>
>> > >> 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 cursos@.... 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: [hidden email]
>> > >> site: http://www.10Pines.com
>> > >>
>> > >> --
>> > >> To post to this group, send email to clubSmalltalk@...
>> > >> To unsubscribe from this group, send email to
>> > >> clubSmalltalk+unsubscribe@...
>> > >>
>> > >> http://www.clubSmalltalk.org
>> > >
>> > > --
>> > > To post to this group, send email to clubSmalltalk@...
>> > > To unsubscribe from this group, send email to
>> > > clubSmalltalk+unsubscribe@...
>> > >
>> > > http://www.clubSmalltalk.org
>> >
>> >
>> >
>> > --
>> > It's not enough to teach students to surf the Net, we must teach them to
>> > make waves. My pedagogical theory is relate, create, donate, which
>> > suggests that students work in teams, create ambitious projects and then
>> > donate these to people who can use and build upon them. --Ben
>> > Shneiderman
>> >
>> > --
>> > To post to this group, send email to clubSmalltalk@...
>> > To unsubscribe from this group, send email to
>> > clubSmalltalk+unsubscribe@...
>> >
>> > http://www.clubSmalltalk.org
>>
>>
>> --
>> To post to this group, send email to clubSmalltalk@...
>> To unsubscribe from this group, send email to
>> clubSmalltalk+unsubscribe@...
>>
>> http://www.clubSmalltalk.org
>
> --
> To post to this group, send email to clubSmalltalk@...
> To unsubscribe from this group, send email to
> clubSmalltalk+unsubscribe@...
>
> http://www.clubSmalltalk.org



--
It's not enough to teach students to surf the Net, we must teach them to
make waves. My pedagogical theory is relate, create, donate, which
suggests that students work in teams, create ambitious projects and then
donate these to people who can use and build upon them. --Ben Shneiderman

--
To post to this group, send email to clubSmalltalk@...
To unsubscribe from this group, send email to clubSmalltalk+unsubscribe@...

http://www.clubSmalltalk.org



--
Hernán Wilkinson
Agile Software Development, Teaching & Coaching
Mobile: +54 - 911 - 4470 - 7207
email: [hidden email]
site: http://www.10Pines.com

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Elementos avanzados de Arquitectura de software con objetos

Hernan Wilkinson-3
In reply to this post by Angel Java Lopez
la parte dinámica e interactiva del curso es muy importante... más aún la parte práctica donde se muestran las soluciones realizadas y se realizan discusiones de diseño muy interensantes, es más, es lo más interesante del curso se podría decir... lamentablemente este tipo de cosas no se pueden reemplazar con algo escrito.
Y la parte práctica-interactiva para mi es muy importante e irremplazable porque creo que uno aprende haciendo y además porque permite achicar el gap de interpretación que se produce en toda comunicación (en este caso profesor-alumno, en el que propones, blogger-lector, etc)

Saludos,
Hernan.


2011/4/15 Angel Java Lopez <[hidden email]>
Hola gente!

Una forma alternativa, de llegar a difundir el tema.

Pasar en limpio lo que se da, y pasarlo a posts.

Se que se pierde lo de dar un curso interactivo, pero por otro lado, el esfuerzo permite que:

- Quede expuesto al gran google
- Cualquiera lo puede consumir
- Es base para un libro u otros contenidos
- El esfuerzo de "pasarlo en limpio y por escrito" es un gran ejercicio: desde Richard Feynman y sus Lectures (pasadas de dar clase a libro), que tenemos: "si no sabemos explicarlo, es que no lo entendemos". Y Feynman enseniaba de tal manera, que tranquilamente lo que dio se pudo pasar por escrito.

Por ejemplo, para ayudar, alguno de los asistentes puede ir grabando la voz, el material ser pasado a dibujos, codigo, presentacion con notas, etc...

Es mi gran opinion personal: todo curso dictado deberia ser posible de pasar a ese formato: por escrito.

Segunda alternativa:
Filmarlo, y ponerlo en Youtube u otros
Problema: hay que saber filmar, ver que no se pierda algun detalle, etc...

Ya escribi sobre el tema:
http://ajlopez.zoomblog.com/archivo/2007/07/22/lo-que-no-esta-escrito-no-existe.html
http://ajlopez.zoomblog.com/archivo/2008/09/05/la-difusion-del-conocimiento-en-Intern.html
http://msmvps.com/blogs/lopez/archive/2009/09/10/lo-que-no-est-225-escrito-y-en-google-no-existe.aspx
http://msmvps.com/blogs/lopez/archive/2009/10/19/ense-241-ando-a-programar-parte-1.aspx

Jeje.. pienso que cada cosa que uno opina firmemente, y es hasta una postura, debe estar escrita, por eso esos enlaces ya estaban preparados desde hace anios para comentar este email del bueno de Hernan Wilkinson ;-)

Como gran ejemplo de alguien que puede enseniar por video:
http://www.khanacademy.org/

Pero antes de llegar ahi. se podria intentar por texto.

Nos leemos!

Angel "Java" Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez


2011/4/15 Hernan Wilkinson <[hidden email]>
uh... parece que el tema de hacerlo remoto viene en serio... también me preguntaron de bahía blanca..
El tema que para hacerlo remoto tendríamos que tener instalaciones para hacer video conferencia de la buena (no skype con una camarita pedorra :-)) y no hemos averiguado por este tipo de tecnología... me voy a poner en campaña....

Igual, si fuera de buenos aires se junta un grupo de 10 o más personas que estén interesadas en el curso podemos ver de ir a darlo ahí, todo es posible :-)


2011/4/15 Cesar Ballardini <[hidden email]>
2011/4/15 Gastón Dall' Oglio <[hidden email]>:
> +10 aprox :)... En la regional Concepción de la UTN podrían estar
> interesados.
>

moodle por ahi? :)

> El 15 de abril de 2011 12:50, pablo digonzelli
> <[hidden email]> escribió:
>>
>> +1
>> El vie, 15-04-2011 a las 12:45 -0300, Cesar Ballardini escribió:
>> > El día 15 de abril de 2011 10:35, Alex Schenkman <[hidden email]>
>> > escribió:
>> > > ¿Se puede hacer de forma remota, :-) ?
>> > >
>> >
>> > +1
>> >
>> > > 2011/4/15 Hernan Wilkinson <[hidden email]>
>> > >>
>> > >> 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 [hidden email]. 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: [hidden email]
>> > >> site: http://www.10Pines.com
>> > >>
>> > >> --
>> > >> To post to this group, send email to [hidden email]
>> > >> To unsubscribe from this group, send email to
>> > >> [hidden email]
>> > >>
>> > >> http://www.clubSmalltalk.org
>> > >
>> > > --
>> > > To post to this group, send email to [hidden email]
>> > > To unsubscribe from this group, send email to
>> > > [hidden email]
>> > >
>> > > http://www.clubSmalltalk.org
>> >
>> >
>> >
>> > --
>> > It's not enough to teach students to surf the Net, we must teach them to
>> > make waves. My pedagogical theory is relate, create, donate, which
>> > suggests that students work in teams, create ambitious projects and then
>> > donate these to people who can use and build upon them. --Ben
>> > Shneiderman
>> >
>> > --
>> > To post to this group, send email to [hidden email]
>> > To unsubscribe from this group, send email to
>> > [hidden email]
>> >
>> > http://www.clubSmalltalk.org
>>
>>
>> --
>> To post to this group, send email to [hidden email]
>> To unsubscribe from this group, send email to
>> [hidden email]
>>
>> http://www.clubSmalltalk.org
>
> --
> To post to this group, send email to [hidden email]
> To unsubscribe from this group, send email to
> [hidden email]
>
> http://www.clubSmalltalk.org



--
It's not enough to teach students to surf the Net, we must teach them to
make waves. My pedagogical theory is relate, create, donate, which
suggests that students work in teams, create ambitious projects and then
donate these to people who can use and build upon them. --Ben Shneiderman

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

http://www.clubSmalltalk.org



--
Hernán Wilkinson
Agile Software Development, Teaching & Coaching
Mobile: +54 - 911 - 4470 - 7207
email: [hidden email]
site: http://www.10Pines.com

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org



--
Hernán Wilkinson
Agile Software Development, Teaching & Coaching
Mobile: +54 - 911 - 4470 - 7207
email: [hidden email]
site: http://www.10Pines.com

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org
Reply | Threaded
Open this post in threaded view
|

RE: [ANN] Elementos avanzados de Arquitectura de software con objetos

Angel "Java" Lopez

Se aprende haciendo, pero en aprendizaje hay dos partes:

 

-          Entender el tema

-          Saber hacer algo

 

Pienso, imagino que hay, en tu temario, bastante de la primera parte.

 

La segunda parte es la que, en general, se aprende haciendo (ejemplo, tocar la guitarra). Y se debe aprender haciendo. Hay también de ese segundo tipo en tu temario, imagino. Pero es necesario tener el instructor siempre? Gran parte de lo que se aprende haciendo, se aprende viendo como otro lo hace. De ahí la gran cantidad de libros, videos que explican los pasos a dar (como tus videos de TDD, por ejemplo).

 

El mostrar como se hace algo, achica el gap de interpretación (ejemplo: el libro de Evans sobre DDD, ha producido gran candidad de dudas, porque no es un libro que muestre casos, ejemplos, en general). Un blob o un escrito, no implica que no se muestre como se hace algo. Si hasta se puede insertar un video. Aun asi pienso que también se puede explicar un paso a paso por escrito, pero puede que sea mas fácil  de producir directamente el video.

 

Insisto: vale la pena hacer el esfuerzo de producir algo mas que el curso presencial, aunque se pierda algo. No digo que no se haga el curso presencial (yo no le hubiera dicho a Richard Feynman que no lo diera) pero si levanto aca la mano y digo: es la oportunidad para producir algo mas (como hizo Feynman y sus muchachos).

 

Nos leemos!

Angel “Java” Lopez

http://www.ajlopez.com

http://twitter.com/ajlopez

 

 

De: [hidden email] [mailto:[hidden email]] En nombre de Hernan Wilkinson
Enviado el: Monday, April 18, 2011 9:50 AM
Para: [hidden email]
Asunto: Re: [clubSmalltalk] [ANN] Elementos avanzados de Arquitectura de software con objetos

 

la parte dinámica e interactiva del curso es muy importante... más aún la parte práctica donde se muestran las soluciones realizadas y se realizan discusiones de diseño muy interensantes, es más, es lo más interesante del curso se podría decir... lamentablemente este tipo de cosas no se pueden reemplazar con algo escrito.

Y la parte práctica-interactiva para mi es muy importante e irremplazable porque creo que uno aprende haciendo y además porque permite achicar el gap de interpretación que se produce en toda comunicación (en este caso profesor-alumno, en el que propones, blogger-lector, etc)

 

Saludos,

Hernan.

 

 

2011/4/15 Angel Java Lopez <[hidden email]>

Hola gente!

Una forma alternativa, de llegar a difundir el tema.

Pasar en limpio lo que se da, y pasarlo a posts.

Se que se pierde lo de dar un curso interactivo, pero por otro lado, el esfuerzo permite que:

- Quede expuesto al gran google
- Cualquiera lo puede consumir
- Es base para un libro u otros contenidos
- El esfuerzo de "pasarlo en limpio y por escrito" es un gran ejercicio: desde Richard Feynman y sus Lectures (pasadas de dar clase a libro), que tenemos: "si no sabemos explicarlo, es que no lo entendemos". Y Feynman enseniaba de tal manera, que tranquilamente lo que dio se pudo pasar por escrito.

Por ejemplo, para ayudar, alguno de los asistentes puede ir grabando la voz, el material ser pasado a dibujos, codigo, presentacion con notas, etc...

Es mi gran opinion personal: todo curso dictado deberia ser posible de pasar a ese formato: por escrito.

Segunda alternativa:
Filmarlo, y ponerlo en Youtube u otros
Problema: hay que saber filmar, ver que no se pierda algun detalle, etc...

Ya escribi sobre el tema:
http://ajlopez.zoomblog.com/archivo/2007/07/22/lo-que-no-esta-escrito-no-existe.html
http://ajlopez.zoomblog.com/archivo/2008/09/05/la-difusion-del-conocimiento-en-Intern.html
http://msmvps.com/blogs/lopez/archive/2009/09/10/lo-que-no-est-225-escrito-y-en-google-no-existe.aspx
http://msmvps.com/blogs/lopez/archive/2009/10/19/ense-241-ando-a-programar-parte-1.aspx

Jeje.. pienso que cada cosa que uno opina firmemente, y es hasta una postura, debe estar escrita, por eso esos enlaces ya estaban preparados desde hace anios para comentar este email del bueno de Hernan Wilkinson ;-)

Como gran ejemplo de alguien que puede enseniar por video:
http://www.khanacademy.org/

Pero antes de llegar ahi. se podria intentar por texto.

Nos leemos!

Angel "Java" Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

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

uh... parece que el tema de hacerlo remoto viene en serio... también me preguntaron de bahía blanca..

El tema que para hacerlo remoto tendríamos que tener instalaciones para hacer video conferencia de la buena (no skype con una camarita pedorra :-)) y no hemos averiguado por este tipo de tecnología... me voy a poner en campaña....

 

Igual, si fuera de buenos aires se junta un grupo de 10 o más personas que estén interesadas en el curso podemos ver de ir a darlo ahí, todo es posible :-)

 

2011/4/15 Cesar Ballardini <[hidden email]>

2011/4/15 Gastón Dall' Oglio <[hidden email]>:

> +10 aprox :)... En la regional Concepción de la UTN podrían estar


> interesados.
>

moodle por ahi? :)


> El 15 de abril de 2011 12:50, pablo digonzelli
> <[hidden email]> escribió:
>>
>> +1
>> El vie, 15-04-2011 a las 12:45 -0300, Cesar Ballardini escribió:
>> > El día 15 de abril de 2011 10:35, Alex Schenkman <[hidden email]>
>> > escribió:
>> > > ¿Se puede hacer de forma remota, :-) ?
>> > >
>> >
>> > +1
>> >
>> > > 2011/4/15 Hernan Wilkinson <[hidden email]>
>> > >>
>> > >> 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 [hidden email]. 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: [hidden email]
>> > >> site: http://www.10Pines.com
>> > >>
>> > >> --
>> > >> To post to this group, send email to [hidden email]
>> > >> To unsubscribe from this group, send email to
>> > >> [hidden email]
>> > >>
>> > >> http://www.clubSmalltalk.org
>> > >
>> > > --
>> > > To post to this group, send email to [hidden email]
>> > > To unsubscribe from this group, send email to
>> > > [hidden email]
>> > >
>> > > http://www.clubSmalltalk.org
>> >
>> >
>> >
>> > --
>> > It's not enough to teach students to surf the Net, we must teach them to
>> > make waves. My pedagogical theory is relate, create, donate, which
>> > suggests that students work in teams, create ambitious projects and then
>> > donate these to people who can use and build upon them. --Ben
>> > Shneiderman
>> >
>> > --
>> > To post to this group, send email to [hidden email]
>> > To unsubscribe from this group, send email to
>> > [hidden email]
>> >
>> > http://www.clubSmalltalk.org
>>
>>
>> --
>> To post to this group, send email to [hidden email]
>> To unsubscribe from this group, send email to
>> [hidden email]
>>
>> http://www.clubSmalltalk.org
>
> --
> To post to this group, send email to [hidden email]
> To unsubscribe from this group, send email to
> [hidden email]
>
> http://www.clubSmalltalk.org



--

It's not enough to teach students to surf the Net, we must teach them to
make waves. My pedagogical theory is relate, create, donate, which
suggests that students work in teams, create ambitious projects and then
donate these to people who can use and build upon them. --Ben Shneiderman

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

http://www.clubSmalltalk.org



--

Hernán Wilkinson
Agile Software Development, Teaching & Coaching
Mobile: +54 - 911 - 4470 - 7207
email: [hidden email]
site: http://www.10Pines.com

 

--

To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org

 

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org




--

Hernán Wilkinson
Agile Software Development, Teaching & Coaching
Mobile: +54 - 911 - 4470 - 7207
email: [hidden email]
site: http://www.10Pines.com

 

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Elementos avanzados de Arquitectura de software con objetos

Angel Java Lopez
Disculpen, me quedaba algo que agregar:

Hernan, las discusiones presenciales no necesitan perderse. Simplemente se publican, como parte del material online.

Hay gap de intrepretacion en lo presencial y lo no presencial. Todo gap de interpretacion es reducible (no diria que desaparece, pero se puede pasar a un gap menor), con explicacion, ejemplo adicional. Yo siempre me imagino: todo gap que se presente se puede ir achicando de la manera agil: con feedback e iteraciones sobre el material producido. En el caso de un blog, se puede aprovechar de los comentarios con dudas para ver que parte se entiende o no entiende, e ir disminuyendo ese gap.

Lo que si da el presencial (lo puse en alguno de los enlaces que envie) es:
- Disciplina en horario para los asistentes
- Material (computadora, con software instalado, controlado, con version X, Y, Z) o sea, todo el setup o todo el espacio de disco, sistema operativo adecuado, para llevar a cabo lo que se hace.

Eso es lo que veo que a la gente le cuesta, si no es presencial: tener la disciplina de avance, y el material de soporte (hardware, software preparado).

El tener el material publicado online, permite tambien que otros organicen un curso presencial de apoyo, dudas, lo que sea, o que puedan armar un laboratorio para que se consolide lo que se da en el material publicado online. Aca en Argentina, o en donde sea.

Bueno, espero no haberlos cansado con toda esta exposicion .. ;-)

Nos leemos!

Angel "Java" Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez




2011/4/18 Angel "Java" Lopez <[hidden email]>

Se aprende haciendo, pero en aprendizaje hay dos partes:

 

-          Entender el tema

-          Saber hacer algo

 

Pienso, imagino que hay, en tu temario, bastante de la primera parte.

 

La segunda parte es la que, en general, se aprende haciendo (ejemplo, tocar la guitarra). Y se debe aprender haciendo. Hay también de ese segundo tipo en tu temario, imagino. Pero es necesario tener el instructor siempre? Gran parte de lo que se aprende haciendo, se aprende viendo como otro lo hace. De ahí la gran cantidad de libros, videos que explican los pasos a dar (como tus videos de TDD, por ejemplo).

 

El mostrar como se hace algo, achica el gap de interpretación (ejemplo: el libro de Evans sobre DDD, ha producido gran candidad de dudas, porque no es un libro que muestre casos, ejemplos, en general). Un blob o un escrito, no implica que no se muestre como se hace algo. Si hasta se puede insertar un video. Aun asi pienso que también se puede explicar un paso a paso por escrito, pero puede que sea mas fácil  de producir directamente el video.

 

Insisto: vale la pena hacer el esfuerzo de producir algo mas que el curso presencial, aunque se pierda algo. No digo que no se haga el curso presencial (yo no le hubiera dicho a Richard Feynman que no lo diera) pero si levanto aca la mano y digo: es la oportunidad para producir algo mas (como hizo Feynman y sus muchachos).

 

Nos leemos!

Angel “Java” Lopez

http://www.ajlopez.com

http://twitter.com/ajlopez

 

 

De: [hidden email] [mailto:[hidden email]] En nombre de Hernan Wilkinson
Enviado el: Monday, April 18, 2011 9:50 AM
Para: [hidden email]
Asunto: Re: [clubSmalltalk] [ANN] Elementos avanzados de Arquitectura de software con objetos

 

la parte dinámica e interactiva del curso es muy importante... más aún la parte práctica donde se muestran las soluciones realizadas y se realizan discusiones de diseño muy interensantes, es más, es lo más interesante del curso se podría decir... lamentablemente este tipo de cosas no se pueden reemplazar con algo escrito.

Y la parte práctica-interactiva para mi es muy importante e irremplazable porque creo que uno aprende haciendo y además porque permite achicar el gap de interpretación que se produce en toda comunicación (en este caso profesor-alumno, en el que propones, blogger-lector, etc)

 

Saludos,

Hernan.

 

 

2011/4/15 Angel Java Lopez <[hidden email]>

Hola gente!

Una forma alternativa, de llegar a difundir el tema.

Pasar en limpio lo que se da, y pasarlo a posts.

Se que se pierde lo de dar un curso interactivo, pero por otro lado, el esfuerzo permite que:

- Quede expuesto al gran google
- Cualquiera lo puede consumir
- Es base para un libro u otros contenidos
- El esfuerzo de "pasarlo en limpio y por escrito" es un gran ejercicio: desde Richard Feynman y sus Lectures (pasadas de dar clase a libro), que tenemos: "si no sabemos explicarlo, es que no lo entendemos". Y Feynman enseniaba de tal manera, que tranquilamente lo que dio se pudo pasar por escrito.

Por ejemplo, para ayudar, alguno de los asistentes puede ir grabando la voz, el material ser pasado a dibujos, codigo, presentacion con notas, etc...

Es mi gran opinion personal: todo curso dictado deberia ser posible de pasar a ese formato: por escrito.

Segunda alternativa:
Filmarlo, y ponerlo en Youtube u otros
Problema: hay que saber filmar, ver que no se pierda algun detalle, etc...

Ya escribi sobre el tema:
http://ajlopez.zoomblog.com/archivo/2007/07/22/lo-que-no-esta-escrito-no-existe.html
http://ajlopez.zoomblog.com/archivo/2008/09/05/la-difusion-del-conocimiento-en-Intern.html
http://msmvps.com/blogs/lopez/archive/2009/09/10/lo-que-no-est-225-escrito-y-en-google-no-existe.aspx
http://msmvps.com/blogs/lopez/archive/2009/10/19/ense-241-ando-a-programar-parte-1.aspx

Jeje.. pienso que cada cosa que uno opina firmemente, y es hasta una postura, debe estar escrita, por eso esos enlaces ya estaban preparados desde hace anios para comentar este email del bueno de Hernan Wilkinson ;-)

Como gran ejemplo de alguien que puede enseniar por video:
http://www.khanacademy.org/

Pero antes de llegar ahi. se podria intentar por texto.

Nos leemos!

Angel "Java" Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

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

uh... parece que el tema de hacerlo remoto viene en serio... también me preguntaron de bahía blanca..

El tema que para hacerlo remoto tendríamos que tener instalaciones para hacer video conferencia de la buena (no skype con una camarita pedorra :-)) y no hemos averiguado por este tipo de tecnología... me voy a poner en campaña....

 

Igual, si fuera de buenos aires se junta un grupo de 10 o más personas que estén interesadas en el curso podemos ver de ir a darlo ahí, todo es posible :-)

 

2011/4/15 Cesar Ballardini <[hidden email]>

2011/4/15 Gastón Dall' Oglio <[hidden email]>:

> +10 aprox :)... En la regional Concepción de la UTN podrían estar
> interesados.
>

moodle por ahi? :)


> El 15 de abril de 2011 12:50, pablo digonzelli
> <[hidden email]> escribió:
>>
>> +1
>> El vie, 15-04-2011 a las 12:45 -0300, Cesar Ballardini escribió:
>> > El día 15 de abril de 2011 10:35, Alex Schenkman <[hidden email]>
>> > escribió:
>> > > ¿Se puede hacer de forma remota, :-) ?
>> > >
>> >
>> > +1
>> >
>> > > 2011/4/15 Hernan Wilkinson <[hidden email]>
>> > >>
>> > >> 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 [hidden email]. 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: [hidden email]
>> > >> site: http://www.10Pines.com
>> > >>
>> > >> --
>> > >> To post to this group, send email to [hidden email]
>> > >> To unsubscribe from this group, send email to
>> > >> [hidden email]
>> > >>
>> > >> http://www.clubSmalltalk.org
>> > >
>> > > --
>> > > To post to this group, send email to [hidden email]
>> > > To unsubscribe from this group, send email to
>> > > [hidden email]
>> > >
>> > > http://www.clubSmalltalk.org
>> >
>> >
>> >
>> > --
>> > It's not enough to teach students to surf the Net, we must teach them to
>> > make waves. My pedagogical theory is relate, create, donate, which
>> > suggests that students work in teams, create ambitious projects and then
>> > donate these to people who can use and build upon them. --Ben
>> > Shneiderman
>> >
>> > --
>> > To post to this group, send email to [hidden email]
>> > To unsubscribe from this group, send email to
>> > [hidden email]
>> >
>> > http://www.clubSmalltalk.org
>>
>>
>> --
>> To post to this group, send email to [hidden email]
>> To unsubscribe from this group, send email to
>> [hidden email]
>>
>> http://www.clubSmalltalk.org
>
> --
> To post to this group, send email to [hidden email]
> To unsubscribe from this group, send email to
> [hidden email]
>
> http://www.clubSmalltalk.org


--

It's not enough to teach students to surf the Net, we must teach them to
make waves. My pedagogical theory is relate, create, donate, which
suggests that students work in teams, create ambitious projects and then
donate these to people who can use and build upon them. --Ben Shneiderman

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

http://www.clubSmalltalk.org



--

Hernán Wilkinson
Agile Software Development, Teaching & Coaching
Mobile: +54 - 911 - 4470 - 7207
email: [hidden email]
site: http://www.10Pines.com

 

--

To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org

 

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org




--

Hernán Wilkinson
Agile Software Development, Teaching & Coaching
Mobile: +54 - 911 - 4470 - 7207
email: [hidden email]
site: http://www.10Pines.com

 

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Elementos avanzados de Arquitectura de software con objetos

Hernan Wilkinson-3
no, por supuesto, cada uno tiene sus pro y sus contras y además sobre gustos no hay nada escrito :-), a mi me sigue gustando más la transmición personal de conocimiento lo cual no significa que nunca lei libros, ni blogs, etc. ni que tampoco no haya que hacerlo, todo lo contrario.
Igual, mucho de lo que damos en estos cursos está escrito en mi blog, en los materiales que damos, etc.

Saludos,
Hernan.

2011/4/18 Angel Java Lopez <[hidden email]>
Disculpen, me quedaba algo que agregar:

Hernan, las discusiones presenciales no necesitan perderse. Simplemente se publican, como parte del material online.

Hay gap de intrepretacion en lo presencial y lo no presencial. Todo gap de interpretacion es reducible (no diria que desaparece, pero se puede pasar a un gap menor), con explicacion, ejemplo adicional. Yo siempre me imagino: todo gap que se presente se puede ir achicando de la manera agil: con feedback e iteraciones sobre el material producido. En el caso de un blog, se puede aprovechar de los comentarios con dudas para ver que parte se entiende o no entiende, e ir disminuyendo ese gap.

Lo que si da el presencial (lo puse en alguno de los enlaces que envie) es:
- Disciplina en horario para los asistentes
- Material (computadora, con software instalado, controlado, con version X, Y, Z) o sea, todo el setup o todo el espacio de disco, sistema operativo adecuado, para llevar a cabo lo que se hace.

Eso es lo que veo que a la gente le cuesta, si no es presencial: tener la disciplina de avance, y el material de soporte (hardware, software preparado).

El tener el material publicado online, permite tambien que otros organicen un curso presencial de apoyo, dudas, lo que sea, o que puedan armar un laboratorio para que se consolide lo que se da en el material publicado online. Aca en Argentina, o en donde sea.

Bueno, espero no haberlos cansado con toda esta exposicion .. ;-)
2011/4/18 Angel "Java" Lopez <[hidden email]>

Se aprende haciendo, pero en aprendizaje hay dos partes:

 

-          Entender el tema

-          Saber hacer algo

 

Pienso, imagino que hay, en tu temario, bastante de la primera parte.

 

La segunda parte es la que, en general, se aprende haciendo (ejemplo, tocar la guitarra). Y se debe aprender haciendo. Hay también de ese segundo tipo en tu temario, imagino. Pero es necesario tener el instructor siempre? Gran parte de lo que se aprende haciendo, se aprende viendo como otro lo hace. De ahí la gran cantidad de libros, videos que explican los pasos a dar (como tus videos de TDD, por ejemplo).

 

El mostrar como se hace algo, achica el gap de interpretación (ejemplo: el libro de Evans sobre DDD, ha producido gran candidad de dudas, porque no es un libro que muestre casos, ejemplos, en general). Un blob o un escrito, no implica que no se muestre como se hace algo. Si hasta se puede insertar un video. Aun asi pienso que también se puede explicar un paso a paso por escrito, pero puede que sea mas fácil  de producir directamente el video.

 

Insisto: vale la pena hacer el esfuerzo de producir algo mas que el curso presencial, aunque se pierda algo. No digo que no se haga el curso presencial (yo no le hubiera dicho a Richard Feynman que no lo diera) pero si levanto aca la mano y digo: es la oportunidad para producir algo mas (como hizo Feynman y sus muchachos).

 

Nos leemos!

Angel “Java” Lopez

http://www.ajlopez.com

http://twitter.com/ajlopez

 

 

De: [hidden email] [mailto:[hidden email]] En nombre de Hernan Wilkinson
Enviado el: Monday, April 18, 2011 9:50 AM
Para: [hidden email]
Asunto: Re: [clubSmalltalk] [ANN] Elementos avanzados de Arquitectura de software con objetos

 

la parte dinámica e interactiva del curso es muy importante... más aún la parte práctica donde se muestran las soluciones realizadas y se realizan discusiones de diseño muy interensantes, es más, es lo más interesante del curso se podría decir... lamentablemente este tipo de cosas no se pueden reemplazar con algo escrito.

Y la parte práctica-interactiva para mi es muy importante e irremplazable porque creo que uno aprende haciendo y además porque permite achicar el gap de interpretación que se produce en toda comunicación (en este caso profesor-alumno, en el que propones, blogger-lector, etc)

 

Saludos,

Hernan.

 

 

2011/4/15 Angel Java Lopez <[hidden email]>

Hola gente!

Una forma alternativa, de llegar a difundir el tema.

Pasar en limpio lo que se da, y pasarlo a posts.

Se que se pierde lo de dar un curso interactivo, pero por otro lado, el esfuerzo permite que:

- Quede expuesto al gran google
- Cualquiera lo puede consumir
- Es base para un libro u otros contenidos
- El esfuerzo de "pasarlo en limpio y por escrito" es un gran ejercicio: desde Richard Feynman y sus Lectures (pasadas de dar clase a libro), que tenemos: "si no sabemos explicarlo, es que no lo entendemos". Y Feynman enseniaba de tal manera, que tranquilamente lo que dio se pudo pasar por escrito.

Por ejemplo, para ayudar, alguno de los asistentes puede ir grabando la voz, el material ser pasado a dibujos, codigo, presentacion con notas, etc...

Es mi gran opinion personal: todo curso dictado deberia ser posible de pasar a ese formato: por escrito.

Segunda alternativa:
Filmarlo, y ponerlo en Youtube u otros
Problema: hay que saber filmar, ver que no se pierda algun detalle, etc...

Ya escribi sobre el tema:
http://ajlopez.zoomblog.com/archivo/2007/07/22/lo-que-no-esta-escrito-no-existe.html
http://ajlopez.zoomblog.com/archivo/2008/09/05/la-difusion-del-conocimiento-en-Intern.html
http://msmvps.com/blogs/lopez/archive/2009/09/10/lo-que-no-est-225-escrito-y-en-google-no-existe.aspx
http://msmvps.com/blogs/lopez/archive/2009/10/19/ense-241-ando-a-programar-parte-1.aspx

Jeje.. pienso que cada cosa que uno opina firmemente, y es hasta una postura, debe estar escrita, por eso esos enlaces ya estaban preparados desde hace anios para comentar este email del bueno de Hernan Wilkinson ;-)

Como gran ejemplo de alguien que puede enseniar por video:
http://www.khanacademy.org/

Pero antes de llegar ahi. se podria intentar por texto.

Nos leemos!

Angel "Java" Lopez
http://www.ajlopez.com
http://twitter.com/ajlopez

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

uh... parece que el tema de hacerlo remoto viene en serio... también me preguntaron de bahía blanca..

El tema que para hacerlo remoto tendríamos que tener instalaciones para hacer video conferencia de la buena (no skype con una camarita pedorra :-)) y no hemos averiguado por este tipo de tecnología... me voy a poner en campaña....

 

Igual, si fuera de buenos aires se junta un grupo de 10 o más personas que estén interesadas en el curso podemos ver de ir a darlo ahí, todo es posible :-)

 

2011/4/15 Cesar Ballardini <[hidden email]>

2011/4/15 Gastón Dall' Oglio <[hidden email]>:

> +10 aprox :)... En la regional Concepción de la UTN podrían estar
> interesados.
>

moodle por ahi? :)


> El 15 de abril de 2011 12:50, pablo digonzelli
> <[hidden email]> escribió:
>>
>> +1
>> El vie, 15-04-2011 a las 12:45 -0300, Cesar Ballardini escribió:
>> > El día 15 de abril de 2011 10:35, Alex Schenkman <[hidden email]>
>> > escribió:
>> > > ¿Se puede hacer de forma remota, :-) ?
>> > >
>> >
>> > +1
>> >
>> > > 2011/4/15 Hernan Wilkinson <[hidden email]>
>> > >>
>> > >> 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 [hidden email]. 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: [hidden email]
>> > >> site: http://www.10Pines.com
>> > >>
>> > >> --
>> > >> To post to this group, send email to [hidden email]
>> > >> To unsubscribe from this group, send email to
>> > >> [hidden email]
>> > >>
>> > >> http://www.clubSmalltalk.org
>> > >
>> > > --
>> > > To post to this group, send email to [hidden email]
>> > > To unsubscribe from this group, send email to
>> > > [hidden email]
>> > >
>> > > http://www.clubSmalltalk.org
>> >
>> >
>> >
>> > --
>> > It's not enough to teach students to surf the Net, we must teach them to
>> > make waves. My pedagogical theory is relate, create, donate, which
>> > suggests that students work in teams, create ambitious projects and then
>> > donate these to people who can use and build upon them. --Ben
>> > Shneiderman
>> >
>> > --
>> > To post to this group, send email to [hidden email]
>> > To unsubscribe from this group, send email to
>> > [hidden email]
>> >
>> > http://www.clubSmalltalk.org
>>
>>
>> --
>> To post to this group, send email to [hidden email]
>> To unsubscribe from this group, send email to
>> [hidden email]
>>
>> http://www.clubSmalltalk.org
>
> --
> To post to this group, send email to [hidden email]
> To unsubscribe from this group, send email to
> [hidden email]
>
> http://www.clubSmalltalk.org


--

It's not enough to teach students to surf the Net, we must teach them to
make waves. My pedagogical theory is relate, create, donate, which
suggests that students work in teams, create ambitious projects and then
donate these to people who can use and build upon them. --Ben Shneiderman

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

http://www.clubSmalltalk.org



--

Hernán Wilkinson
Agile Software Development, Teaching & Coaching
Mobile: +54 - 911 - 4470 - 7207
email: [hidden email]
site: http://www.10Pines.com

 

--

To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org

 

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org




--

Hernán Wilkinson
Agile Software Development, Teaching & Coaching
Mobile: +54 - 911 - 4470 - 7207
email: [hidden email]
site: http://www.10Pines.com

 

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org



--
Hernán Wilkinson
Agile Software Development, Teaching & Coaching
Mobile: +54 - 911 - 4470 - 7207
email: [hidden email]
site: http://www.10Pines.com

--
To post to this group, send email to [hidden email]
To unsubscribe from this group, send email to [hidden email]
 
http://www.clubSmalltalk.org
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] Elementos avanzados de Arquitectura de software con objetos

Alejandro Garcia
A mi también me interesaría mucho asistir al curso desde México.
Entonces la alternativa remota sería muy interesante.

Las herramientas para poder hacer el curso hay varias:

* GotoMeeting (Goto Training)
http://www.gotomeeting.com/fec/training/gototraining_pricing

* WebEx

Y muchas otras.
Aquí una lista:

Free Alternatives to GoToMeeting
http://www.owalog.com/blog.php?myess1=73

Top 5 GoToMeeting Alternatives
http://www.voip-sol.com/top-gotomeeting-alternatives/


Pregunta cuánto sería el cupo mínimo de personas para que consideraras
impartir el curso en línea?
saludos.



On Apr 18, 10:26 am, Hernan Wilkinson <[hidden email]>
wrote:

> no, por supuesto, cada uno tiene sus pro y sus contras y además sobre gustos
> no hay nada escrito :-), a mi me sigue gustando más la transmición personal
> de conocimiento lo cual no significa que nunca lei libros, ni blogs, etc. ni
> que tampoco no haya que hacerlo, todo lo contrario.
> Igual, mucho de lo que damos en estos cursos está escrito en mi blog, en los
> materiales que damos, etc.
>
> Saludos,
> Hernan.
>
> 2011/4/18 Angel Java Lopez <[hidden email]>
>
> > Disculpen, me quedaba algo que agregar:
>
> > Hernan, las discusiones presenciales no necesitan perderse. Simplemente se
> > publican, como parte del material online.
>
> > Hay gap de intrepretacion en lo presencial y lo no presencial. Todo gap de
> > interpretacion es reducible (no diria que desaparece, pero se puede pasar a
> > un gap menor), con explicacion, ejemplo adicional. Yo siempre me imagino:
> > todo gap que se presente se puede ir achicando de la manera agil: con
> > feedback e iteraciones sobre el material producido. En el caso de un blog,
> > se puede aprovechar de los comentarios con dudas para ver que parte se
> > entiende o no entiende, e ir disminuyendo ese gap.
>
> > Lo que si da el presencial (lo puse en alguno de los enlaces que envie) es:
> > - Disciplina en horario para los asistentes
> > - Material (computadora, con software instalado, controlado, con version X,
> > Y, Z) o sea, todo el setup o todo el espacio de disco, sistema operativo
> > adecuado, para llevar a cabo lo que se hace.
>
> > Eso es lo que veo que a la gente le cuesta, si no es presencial: tener la
> > disciplina de avance, y el material de soporte (hardware, software
> > preparado).
>
> > El tener el material publicado online, permite tambien que otros organicen
> > un curso presencial de apoyo, dudas, lo que sea, o que puedan armar un
> > laboratorio para que se consolide lo que se da en el material publicado
> > online. Aca en Argentina, o en donde sea.
>
> > Bueno, espero no haberlos cansado con toda esta exposicion .. ;-)
>
> > Nos leemos!
>
> > Angel "Java" Lopez
> >http://www.ajlopez.com
> >http://twitter.com/ajlopez
>
> > 2011/4/18 Angel "Java" Lopez <[hidden email]>
>
> >> Se aprende haciendo, pero en aprendizaje hay dos partes:
>
> >> -          Entender el tema
>
> >> -          Saber hacer algo
>
> >> Pienso, imagino que hay, en tu temario, bastante de la primera parte.
>
> >> La segunda parte es la que, en general, se aprende haciendo (ejemplo,
> >> tocar la guitarra). Y se debe aprender haciendo. Hay también de ese segundo
> >> tipo en tu temario, imagino. Pero es necesario tener el instructor siempre?
> >> Gran parte de lo que se aprende haciendo, se aprende viendo como otro lo
> >> hace. De ahí la gran cantidad de libros, videos que explican los pasos a dar
> >> (como tus videos de TDD, por ejemplo).
>
> >> El mostrar como se hace algo, achica el gap de interpretación (ejemplo: el
> >> libro de Evans sobre DDD, ha producido gran candidad de dudas, porque no es
> >> un libro que muestre casos, ejemplos, en general). Un blob o un escrito, no
> >> implica que no se muestre como se hace algo. Si hasta se puede insertar un
> >> video. Aun asi pienso que también se puede explicar un paso a paso por
> >> escrito, pero puede que sea mas fácil  de producir directamente el video.
>
> >> Insisto: vale la pena hacer el esfuerzo de producir algo mas que el curso
> >> presencial, aunque se pierda algo. No digo que no se haga el curso
> >> presencial (yo no le hubiera dicho a Richard Feynman que no lo diera) pero
> >> si levanto aca la mano y digo: es la oportunidad para producir algo mas
> >> (como hizo Feynman y sus muchachos).
>
> >> Nos leemos!
>
> >> Angel “Java” Lopez
>
> >>http://www.ajlopez.com
>
> >>http://twitter.com/ajlopez
>
> >> *De:* [hidden email] [mailto:
> >> [hidden email]] *En nombre de *Hernan Wilkinson
> >> *Enviado el:* Monday, April 18, 2011 9:50 AM
> >> *Para:* [hidden email]
> >> *Asunto:* Re: [clubSmalltalk] [ANN] Elementos avanzados de Arquitectura
> >> de software con objetos
>
> >> la parte dinámica e interactiva del curso es muy importante... más aún la
> >> parte práctica donde se muestran las soluciones realizadas y se realizan
> >> discusiones de diseño muy interensantes, es más, es lo más interesante del
> >> curso se podría decir... lamentablemente este tipo de cosas no se pueden
> >> reemplazar con algo escrito.
>
> >> Y la parte práctica-interactiva para mi es muy importante e irremplazable
> >> porque creo que uno aprende haciendo y además porque permite achicar el gap
> >> de interpretación que se produce en toda comunicación (en este caso
> >> profesor-alumno, en el que propones, blogger-lector, etc)
>
> >> Saludos,
>
> >> Hernan.
>
> >> 2011/4/15 Angel Java Lopez <[hidden email]>
>
> >> Hola gente!
>
> >> Una forma alternativa, de llegar a difundir el tema.
>
> >> Pasar en limpio lo que se da, y pasarlo a posts.
>
> >> Se que se pierde lo de dar un curso interactivo, pero por otro lado, el
> >> esfuerzo permite que:
>
> >> - Quede expuesto al gran google
> >> - Cualquiera lo puede consumir
> >> - Es base para un libro u otros contenidos
> >> - El esfuerzo de "pasarlo en limpio y por escrito" es un gran ejercicio:
> >> desde Richard Feynman y sus Lectures (pasadas de dar clase a libro), que
> >> tenemos: "si no sabemos explicarlo, es que no lo entendemos". Y Feynman
> >> enseniaba de tal manera, que tranquilamente lo que dio se pudo pasar por
> >> escrito.
>
> >> Por ejemplo, para ayudar, alguno de los asistentes puede ir grabando la
> >> voz, el material ser pasado a dibujos, codigo, presentacion con notas,
> >> etc...
>
> >> Es mi gran opinion personal: todo curso dictado deberia ser posible de
> >> pasar a ese formato: por escrito.
>
> >> Segunda alternativa:
> >> Filmarlo, y ponerlo en Youtube u otros
> >> Problema: hay que saber filmar, ver que no se pierda algun detalle, etc...
>
> >> Ya escribi sobre el tema:
>
> >>http://ajlopez.zoomblog.com/archivo/2007/07/22/lo-que-no-esta-escrito...
>
> >>http://ajlopez.zoomblog.com/archivo/2008/09/05/la-difusion-del-conoci...
>
> >>http://msmvps.com/blogs/lopez/archive/2009/09/10/lo-que-no-est-225-es...
>
> >>http://msmvps.com/blogs/lopez/archive/2009/10/19/ense-241-ando-a-prog...
>
> >> Jeje.. pienso que cada cosa que uno opina firmemente, y es hasta una
> >> postura, debe estar escrita, por eso esos enlaces ya estaban preparados
> >> desde hace anios para comentar este email del bueno de Hernan Wilkinson ;-)
>
> >> Como gran ejemplo de alguien que puede enseniar por video:
> >>http://www.khanacademy.org/
>
> >> Pero antes de llegar ahi. se podria intentar por texto.
>
> >> Nos leemos!
>
> >> Angel "Java" Lopez
> >>http://www.ajlopez.com
> >>http://twitter.com/ajlopez
>
> >> 2011/4/15 Hernan Wilkinson <[hidden email]>
>
> >> uh... parece que el tema de hacerlo remoto viene en serio... también me
> >> preguntaron de bahía blanca..
>
> >> El tema que para hacerlo remoto tendríamos que tener instalaciones para
> >> hacer video conferencia de la buena (no skype con una camarita pedorra :-))
> >> y no hemos averiguado por este tipo de tecnología... me voy a poner en
> >> campaña....
>
> >> Igual, si fuera de buenos aires se junta un grupo de 10 o más personas que
> >> estén interesadas en el curso podemos ver de ir a darlo ahí, todo es posible
> >> :-)
>
> >> 2011/4/15 Cesar Ballardini <[hidden email]>
>
> >> 2011/4/15 Gastón Dall' Oglio <[hidden email]>:
>
> >> > +10 aprox :)... En la regional Concepción de la UTN podrían estar
> >> > interesados.
>
> >> moodle por ahi? :)
>
> >> > El 15 de abril de 2011 12:50, pablo digonzelli
> >> > <[hidden email]> escribió:
>
> >> >> +1
> >> >> El vie, 15-04-2011 a las 12:45 -0300, Cesar Ballardini escribió:
> >> >> > El día 15 de abril de 2011 10:35, Alex Schenkman <
> >> [hidden email]>
> >> >> > escribió:
> >> >> > > ¿Se puede hacer de forma remota, :-) ?
>
> >> >> > +1
>
> >> >> > > 2011/4/15 Hernan Wilkinson <[hidden email]>
>
> >> >> > >> 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 [hidden email]. 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: [hidden email]
> >> >> > >> site:http://www.10Pines.com
>
> >> >> > >> --
> >> >> > >> To post to this group, send email to
> >> [hidden email]
> >> >> > >> To unsubscribe from this group, send email to
> >> >> > >> [hidden email]
>
> >> >> > >>http://www.clubSmalltalk.org
>
> >> >> > > --
> >> >> > > To post to this group, send email to
> >> [hidden email]
> >> >> > > To unsubscribe from this group, send email to
> >> >> > > [hidden email]
>
> >> >> > >http://www.clubSmalltalk.org
>
> >> >> > --
> >> >> > It's not enough to teach students to surf the Net, we must teach them
> >> to
> >> >> > make waves. My pedagogical theory is relate, create, donate, which
> >> >> > suggests that students work in teams, create ambitious projects and
> >> then
> >> >> > donate these to people who can use and build upon them. --Ben
> >> >> > Shneiderman
>
> >> >> > --
> >> >> > To post to this group, send email to [hidden email]
> >> >> > To unsubscribe from this group, send email to
> >> >> > [hidden email]
>
> >> >> >http://www.clubSmalltalk.org
>
> >> >> --
> >> >> To post to this group, send email to [hidden email]
> >> >> To unsubscribe from this group, send email to
> >> >> [hidden email]
>
> >> >>http://www.clubSmalltalk.org
>
> >> > --
> >> > To post to this group, send email to [hidden email]
> >> > To unsubscribe from this group, send email to
> >> > [hidden email]
>
> >> >http://www.clubSmalltalk.org
>
> >> --
>
> >> It's not enough to teach students to surf the Net, we must teach them to
> >> make waves. My pedagogical theory is relate, create, donate, which
> >> suggests that students work in teams, create ambitious projects and then
> >> donate these to people who can use and build upon them. --Ben Shneiderman
>
> >> --
> >> To post to this group, send email to [hidden email]
> >> To unsubscribe from this group, send email to
> >> [hidden email]
>
> >>http://www.clubSmalltalk.org
>
> >> --
>
> >> *Hernán Wilkinson*
> >> Agile Software Development, Teaching & Coaching
> >> Mobile: +54 - 911 - 4470 - 7207
> >> email: [hidden email]
> >> site:http://www.10Pines.com<http://www.10pines.com/>
>
> >> --
>
> >> To post to this group, send email to [hidden email]
> >> To unsubscribe from this group, send email to
> >> [hidden email]
>
> >>http://www.clubSmalltalk.org
>
> >> --
> >> To post to this group, send email to [hidden email]
> >> To unsubscribe from this group, send email to
> >> [hidden email]
>
> >>http://www.clubSmalltalk.org
>
> >> --
>
> >> *Hernán Wilkinson*
> >> *Agile Software Development, Teaching & Coaching*
> >> *Mobile: +54 - 911 - 4470 - 7207*
> >> *email: [hidden email]*
> >> *site:http://www.10Pines.com<http://www.10pines.com/>*
>
> >> --
> >> To post to this group, send email to [hidden email]
> >> To unsubscribe from this group, send email to
> >> [hidden email]
>
> >>http://www.clubSmalltalk.org
>
> >> --
> >> To post to this group, send email to [hidden email]
> >> To unsubscribe from this group, send email to
> >> [hidden email]
>
> >>http://www.clubSmalltalk.org
>
> >  --
> > To post to this group, send email to [hidden email]
> > To unsubscribe from this group, send email to
> > [hidden email]
>
> >http://www.clubSmalltalk.org
>
> --
> *Hernán Wilkinson
> Agile Software Development, Teaching & Coaching
> Mobile: +54 - 911 - 4470 - 7207
> email: [hidden email]
> site:http://www.10Pines.com<http://www.10pines.com/>*

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

http://www.clubSmalltalk.org