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