viernes, marzo 21, 2008

[Estudio] S1 Core: Arquitectura I - S1_top

Empecé a investigar la estructura del S1 Core comenzando por el bloque exterior, es decir el que se comunicaría con los demas circuitos integrados en la placa o PCB.
Este bloque exterior esta formado por los siguientes archivos escritos en Verilog:
  • t1_defs.h: Se definen las constantes usadas por OpenSPARC T1
  • s1_defs.h: Se definen las constantes usadas por S1 Core
  • s1_top.v: Código donde se hacen las conexiones entre los bloques "sparc", "spc2wbm", "rst_ctrl" y "int_ctrl"
  • sparc.v: Definición del núcleo SPARC
  • spc2wbm.v: Código donde se implementa un "puente" de un núcleo SPARC del OpenSPARC T1 hacia una interfaz maestra que hace uso del protocolo de interconexión Wishbone
  • rst_ctrl.v: Este bloque implementa el Controlador de Reset usado por el S1 Core para despertar el núcleo SPARC del OpenSPARC T1; este comportamiento fue obtenido al hacer ingeniería inversa de las formas de onda del OpenSPARC T1
  • int_ctrl.v: Implementa el Controlador de Interrupciones usado por el S1 Core para detectar si algún perisférico produjo una interrupción
Utilzando el OpenOffice.arg Draw realicé un gráfico describiendo este bloque:



Las entradas al bloques son:
  • sys_clock_i: Reloj del sistema
  • sys_reset_i: Reset del sistema
  • sys_irq_i: Pedidos de interrupciones. Son 64 en total
  • wbm_ack_i: Entrada para la petición del bus Wishbone
  • wbm_data_i: Entrada del bus de datos del bus Wishbone de 64 bits
Las salidas del bloque son:
  • wbm_cycle_o: Inicio de ciclo
  • wbm_strobe_o: Requerimiento de strobe (si alguien conoce la traducción de strobe la agradeceré)
  • wbm_we_o: Habilitación de escritura
  • wbm_addr_o: Bus de dirección del bus Wishbone de 64 bits
  • wbm_data_o: Bus de datos del bus Wishbone de 64 bits
  • wbm_sel_o: Salida de selección de 8 bits
En definitiva la función del bloque S1_top son intercomunicar los distintos bloques:
  • Un núcleo SPARC del OpenSPARC T1
  • Un puente entre el núcleo SPARC y un manejador Wishsbone
  • Un controlador de Reset
  • Un controlador de Interrupciones
Para saber más del bus Wishbone en Opencores.org hay información al respecto.

Saludos

Etiquetas: , , , , ,

[Estudio] S1 Core: Versión reducida del OpenSPARC T1 Niagara de Sun

Hace un tiempo Sun liberó el código fuente de su microprocesador OpenSPARC T1 Niagara en código Verilog para que pueda ser estudiado.
Las características de de este microprocesador:

  • Arquitectura SPARC v9 de 64 bits
  • 8 núcleos SPARC
  • 4 hilos por núcleo (ejecución total de 32 hilos)
  • Cada núcleo SPARC tiene un cache de datos, un cache de instrucciones y TLB (translation lookaside buffers) totalmente asociativos para los 2 caches
  • Los 8 núcleos son conectados entre ellos por medio de un "crossbar" hacia un cache unificado L2
  • 4 controladores DRAM que pueden manejar DDR2
  • Controlador J-BUS que posibilita la inter-conexión entre el OpenSPARC T1 y el susbsistema de I/O (entrada y salida)

Descripción Funcional:

  • 8 núcleos SPARC v9, con 4 hilos por núcleo, para un total de 32 hilos
  • 132 Gbytes/sec para la comunicación "on-chip" por medio del "crossbar"
  • 16 Kbytes para el cache de instrucciones primario L1 por núcleo
  • 8 Kbytes para el cache de datos primario L1 por núcleo
  • 3 Mbytes para el cache secundario L2, bancos de 4 bias y cada uno con 12 bias asociativo compartido por todos los núcleos
  • 4 controladores DDR-2 DRAM con una interfaz de 144 bits por canal, dando un total pico de ancho de banda de 25 Gbytes/sec
  • Unidad de punto flotante IEEE 754 compartida por todos los núcleos
  • Interfaz externa J-BUS para entrada salida (I/O) con un ancho de banda pico total de 2,5Gbytes/sec con un bus de 128bits multiplexado entre datos y direcciones
  • Interfaz externa SSI (serial sistem interface) para bootear desde PROM

Pueden encontrar más información en la página oficial OpenSPARC T1

Luego de la introducción del OpenSPARC T1 una persona llamada Fabrizio Fazzino dejó una versión recortada de este microprocesador llamada S1 Core en Opencores con las siguientes características:

1 solo núcleo SPARC v9
4 hilos de ejecución
Interfaz Maestra Wishbone para la comunicación de otro núcleos de Opencores.org

Si tengo tiempo voy a ver si puede empezar a investigar el código de S1 Core para entender su arquitectura y comentarla por el blog.

Saludos.

Etiquetas: , , , , ,

domingo, marzo 02, 2008

[Estudio] Programación Funcional

Navegando por Barrapunto me encontré con este post sobre videos de programación funcional (como Ocaml que había descripto en mi post anterior). Al parecer Microsoft le está dando mucho empuje al lenguaje funcional F# para la programación concurrente (en donde se ejecuta en forma paralela distinto tipos de código) creo que impulsado por los microprocesadores multi-núcleo.
Por lo poco que leí la programación funcional está relacionada con la programación de los Lenguajes de Descripción de Hardware o HDL en ingles como Verilog, VHDL o Altera HDL. Conozco un poco de Verilog y mucho de Altera HDL ya que lo usé para hacer mi proyecto final de carrera y disfruté mucho programando.
Leyendo sobre el microprocesador de la PlayStation 3 (Cell) me enteré que a los programadores se le complica sacarle rendimiento porque su programación es en forma concurrente y hasta hace poco siempre se programaba en forma secuencial, por lo tanto hay poca experiencia en el mercado. Con este tipo de lenguajes funcionales se está atacando este paradigma y en los slices de las presentaciones de los videos hablan que C# 3.0 está incorporando características funcionales.
Se está recomendando Haskell como lenguaje para aprender la programación funcional pero yo prefiero Ocaml por tener la posibilidad de programar con orientación a objetos.
Si les interesa les dejo el enlace de los videos:

Funcional Programming Seminar

Saludos.

Etiquetas: , , , , ,

lunes, febrero 11, 2008

[Estudio] Python, OCaml, C, Rtos y Linux

Como verán en la entrada anterior mencionaba que había renunciado a mi trabajo. Ahora me estoy poniendo en lo que más me gusta que es la programación, las FPGAs y los Embedded Systems (lo digo así porque hace rato que leo por ahí que embebido no es una palabra española, creo que la palabra es integrados).

Estoy refrescando mis conocimientos en C, Microchip Pics y RTOS (Real Time Operating System) para terminar de hacer la balanza que había empezado hace como un año.
Además volví a estudiar el código fuente de FreeRTOS para mejorar mis habilidades en C y conocer a fondo su funcionamiento.

Regresé al Sistema Operativo de mis amores, Linux. He estado usándolo diariamente y me surgió la curiosidad de investigar los avances que hubo desde que lo dejé y me encontré con:

¿Se nota que soy usuario de Gnome? ¿Y por qué Gnome? Porque frente a KDE (su rival directo) me gusta su simpleza y estilo visual, además que en KDE las aplicaciones se me cierran continuamente dándome algún tipo de error. Hay que reconocer que KDE 4 tiene bastantes novedades que me gustaría ver en Gnome pero esa es otra historia.

En la parte de lenguajes de programación dejé de estudiar el "Desarrollador 5 estrellas de Microsoft" ya que he llegado a la conclusión (y esto luego de haber leído 2 libros de C# y practicado un poco) que mi orientación está en la electrónica y en los Embedded Systems y que el mercado está lleno de Ingenieros en Sistemas o en Computación.
Ahora estoy volviendo a Pyhton porque es el lenguaje utilizado en Likindoy con el que planeo ingresar en el mundo de SCADA junto con los microcontroladores. También es el lenguaje más usado en Gnome y por Gimmie del que estoy investigando su código.
Con Ocaml [1, 2 y 3] me encontré investigando sobre lenguajes para la programación de Gtk+ porque aunque Free Pascal, Mono y C++ están disponibles en Gtk+ no me convence ninguno. El primero no está enteramente soportado, el segundo consume muchos recursos y está el background de las patentes de Microsoft y el tercero para programar Gtk+ orientado a objeto prefiero hacerlo con C y GObject de Glib (parte de Gtk+) pero quiero algo más rápido para el desarrollo. En definitiva me atrajo Ocaml por lo siguiente:

Incluso vi que está portado para inotify [2] de Linux demostrando que es un lenguaje que está presente. Inotify es un subsistema del Kernel de Linux que notifica si se ha producido algún evento en el sistema de archivo.
Ocaml tiene una sintaxis que choca con gente que programa en lenguajes de sintaxis tipo C pero creo que es bueno ver otras alternativas a Java, C++ y C#.
Estoy investigando un poco el lenguaje de programación D [1], del que se comenta que es productivo como Python con la velocidad y versatibilidad de C++ pero parece que está verde aún. Espero que se tenga en cuenta como unos de los lenguaje de programación favoritos de Gnome.

Con respecto a las FPGA tengo presente pasar el código fuente de PampaCPU de Altera HDL (AHDL) a Verilog para profundizar este lenguaje y hacerlo disponible a los desarrolladores que no conocen Altera HDL. Otros de mis deseos en investigar los microprocesadores multi-núcleo y estando disponible el código fuente de Open Sparc T1 y teniendo a mano la versión simplificada llamada S1 Core nada implica empezar a jugar un poco con el.

Ahora que estoy trabajando en un horario decente (no las 10:30hs) antes de irme el viernes 15 espero poder ocuparme del blog porque lo tengo bastante abandonado.

Saludos

Etiquetas: , , , , , ,

viernes, mayo 11, 2007

[Estudio] El youtube de la programación

Mirando en Meneame encontré esta página llamada Naslu con la idea de crear una comunidad del estilo Youtube en videos o Flick en fotos pero para desarrolladores de software.

Me pareció interesante y quería registrarla en mi blog.

Saludos

Etiquetas:

lunes, mayo 07, 2007

[Estudio] 77 maneras de aprender más rápido, más a fondo, y mejor!

Navegando por menéame encontré este artículo en este blog:

77 maneras de aprender más rápido

Acá la información:


Salud

1. Mueve una pierna. La falta de sangre es una razón muy común de falta de concentración. Si has estado sentado en un sólo lugar por algún tiempo, mueve una de tus piernas durante un minuto o dos. Eso hará que fluya de manera mejor tu sangre, y se agudizarán tu concentración y retención.

2. Comida para la mente: Desayuna. Mucha gente no desayuna, pero frecuentemente nuestra creatividad se encuentra al máximo en la mañana y nos ayudaría mucho tener algunas proteínas con las cuales alimentar a nuestro cerebro. La falta de vitaminas puede causarnos dolores de cabeza.

3. Comida para la mente, parte 2: Come un lunch ligero. El ingerir demasiados alimentos en el lunch podría causarte sueño. Pero podrías tomar ventaja de esto tomando una “siesta para pensar” (ver #23), mucha gente aun no sabe como hacerlo.

4. Potenciadores cognoscitivos: Ginkgo biloba. Ginkgo biloba es un suplemento natural que ha sido usado en China y en otros países por siglos, y se ha hecho famoso por revertir la pérdida de memoria en ratas. También es recomendado por naturistas y otros practicantes de la salud como potenciador para la mente.

5. Reduce estrés + depresión. El estrés y la depresión pueden reducir la capacidad para retener información y así coartar o inhibir nuestro aprendizaje. Algunas veces todo lo que necesitas es más luz blanca y comida saludable.

Balance

6. Duerme pensando en ello. Dr. Maxwell Maltz escribió acerca de esto en su libro: Psycho-Cybernetics ahi mismo narra el caso de un hombre que ganaba mucho dinero por dar ideas. El se encerraba en su oficina, cerraba ventanas y apagaba las luces. Se concentraba fuertemente en el problema, luego, tomaba una pequeña siesta. Cuando despertaba, la mayoría de las ocasiones tenía el problema resuelto.

7. Toma un descanso. Cambia de perspectiva mental o física para disminuir el estrés imperceptible que a veces puedes presentarse cuando llevas mucho tiempo sentado en un mismo lugar, concentrado en aprender o memorizar algo. Tomar un descanso de 5 a 15 minutos por cada hora de estudio es más beneficioso que estudiar sin descanso. El descanso le da a tu mente tiempo de relajarse y absorber información de manera más eficiente. Si quieres tomarte muy en serio esto de los descansos, puedes intentar un descanso ultradiano de 20 minutos (inglés) por cada ciclo de 90 minutos. Éste incluye una siesta de descanso, la cual es para un propósito diferente que el #23

8. Una pequeña caminata. Cambiar tu perspectiva a menudo ayuda a liberar la tensión, y a la vez se despierta tu mente creativa. Hacer una ligera caminata por el vecindario puede ayudarte.

9. Cambia tu enfoque. A vece simplemente no hay suficiente tiempo para tomar un descanso prolongado. Si este es tu caso, cambia el tema en el cual te concentras. Alterna entre temás técnicos y no técnicos (una lectura de una novela o cuento puede ayudar).

Perspectiva y concentración

10. Cambia tu enfoque parte 2. Hay 3 principales formas de aprender: visual, cinestésica, y auditiva. Si alguna no está funcionando para ti, prueba con otra.

11. Realiza una caminata para meditar. Si estás tomando una pequeña caminata (#8), ve un paso más adelante y practica la caminata para meditar, como una forma de fortalecer tu habilidad para concentrarte. Sólo asegúrate de no caminar accidentalmente por el tráfico :P

12. Concéntrate y no te distraigas. Concéntrate en lo que sea que estés estudiando. No trates de ver la televisión al mismo tiempo o preocuparte por otras cosas, que nada tengan que ver con tu estudio. La ansiedad coartará tu capacidad de absorción de ideas e información.

13. Apaga las luces. Esta es una forma de concentrarse (si no estás practicando la meditación). Siéntate en la oscuridad y aleja todo lo que pueda distraerte. Esta es una forma ideal de aprender de manera cinestésica, por ejemplo, aprender los acordes de una guitarra.

14. Toma un baño o una ducha. Ambas actividades te relajan, haciendo tu mente más receptiva a las grandes ideas.

Técnicas de memorización

15. Escuchar música. Los investigadores han demostrado durante largo tiempo que cierto tipo de música es ‘la clave’ para mejorar la memorización y el retenimiento. La información aprendida mientras se escuchaba una canción en particular, puede ser recordada de manera sencilla, con tal solo ‘reproducir’ la canción mentalmente.

16. Lectura rápida. Algunas personas creen que el leer de manera rápida, provocará que pierdas información vital. El hecho es que, una eficiente lectura rápida tendrá como resultado filtrar información irrelevante. Si es necesario, siempre podrás leer y re-leer a menor velocidad.
Sin embargo leer de manera lenta obstaculiza nuestra habilidad de captar las ideas principales. (Anque claro está que algunas lecturas técnicas, requerirán una lectura lenta.) Si estás leyendo en internet, puedes probar Spreeder, que te ayudará a realizar una lectura rápida eficiente.

17. Usa siglas y otros recursos mnemónicos. Los mnemónicos son trucos esenciales para recordar información. Algunos trucos son tan efectivos, que con una aplicación adecuada podrás recordar mucha información incluso después de algunos años de haberla aprendido.

Recursos Visuales

18. Cada imagen cuenta una historia. Dibuja o haz un boceto de lo que sea que estés tratando de memorizar. Teniendo una idea concreta de lo que quieres aprender, es más fácil lograrlo.

19. Mapas mentales. Necesitas planear algo? Los mapeos del cerebro, o mapas mentales ofrecen una manera sencilla de obtener un vistazo general de nuestro proyecto y a la vez nos da la capacidad de agregar detalles de forma sencilla. Con los mapeos mentales, podrás ver o encontrar de manera sencilla relaciones entre ideas diferentes, y también pueden servir de receptáculo para una sesión de lluvia de ideas(Brainstorm)!

20. Aprende simbolismo y semiótica. La semiótica es el estudio de los signos y símbolos. Teniendo conocimiento sobre el siginificado de los símbolos en una disciplina en específico, ayuda al aprendizaje y te permite recordar o almacenar información de manera más eficaz y sencilla.

21. Usa un diseño de información. Cuando registras informacion la cual tiene una estructura inherente, aplicar diseños de información facilita su comprensión y transporte. Una gran fuente es Information Aesthetics, la cual brinda excelentes ejemplos de diseños de información, así como links a sus recursos.

22. Usa técnicas visuales de aprendizaje. Intenta con gliffy para diagramas estructurados. También echale un vistazo a Inspiration.com para explicaciones sobre mapas de concepto, mapas de ideas, diagramas, etc.

23. Mapea tu flujo de tareas. El aprendizaje a menudo requiere adquirir conocimiento en un orden específico. Organizar tus pensamientos e ideas en base a lo que necesitas aprender es un método muy poderoso de prepararte para completar tareas o aprender nuevos temas.

Técnicas verbales y auditivas

24. Estimular las ideas. Practica juegos de rimas, completa palabras sin sentido. Estas actividades te relajan, haciéndote más receptivo al aprendizaje.

25. Lluvia de ideas (brainstorm). Esta es una técnica consagrada y altamente recomendada que combina actividad verbal, escritura, y colaboración. (Una persona puede hacer lluvia de ideas, pero es aún más efectiva en grupo.) La lluvia de ideas dará mejores resultados si recuerdas estas reglas: Primea, no descartes ni ‘calles’ la o las ideas de alguien. Segunda, no ‘edites’ ni clasifiques nada mientras dure la lluvia de ideas; sólo registra todas las ideas primero, descártalas después. El participar en lluvias de ideas te ayuda determinar lo que previamente ya sabías acerca de algo, y lo que no sabías.

26. Aprende por osmosis. Tienes un ipod? Realiza tus propias grabaciones, súbelas al iPod (o cualquier reproductor de mp3) y duérmete sobre ellas. Literalmente. Pon el iPod bajo tu almohada y reproduce tus lecciones de lenguaje o cualquier cosa que estés aprendiendo :P

27. Reforzadores cognoscitivos: beats binaurales. Los beats binaurales consiste en tocar 2 frecuencias cercanas al mismo tiempo para producir ondas alfa, beta, delta y teta, las cuales pueden producir cualquiera de estos efectos descanso, sueño, relajación, capacidad para meditar, perceptividad, o concentración. Los beats binaurales son usados en conjunto con otros ejercicios para desarrollar un tipo del llamado super-aprendizaje.

28. Ríe. Reírse relaja el cuerpo. Un cuerpo relajado es más perceptivo a nuevas ideas.

Técnicas Cinestésicas

29. Escribe no teclees. Mientras que escribir tus notas en la computadora es genial para la posteridad, escribir a mano estimula las ideas. El simple acto de sostener una pluma o lápiz al escribir masajea puntos de acupuntura en la mano, los cuales estimulan las ideas.

30. Lleva contigo un cuaderno de notas todo el tiempo. Samuel Taylor Coleridge soñó las palabras del poema “In Xanadu (did Kubla Khan)…”. Cuando despertó, escribió todo lo que pudo recordar, pero se distrajo por un visitante y olvidó el resto del poema. Para siempre. Si has practicado la ‘caminata de meditación’ o cualquier clase de siesta productiva, las ideas probablemente lleguen de manera espontánea. Escríbelas inmediatamente.

31. Mantén un diario. Esto no es exactamente lo mismo que el cuaderno de notas. Llevar un diario es más bien mantener un registro de tus experiencias diarias. Si además le agregas detalles visuales, esquemas, mapas mentales, etc., tienes una manera más creativa de almacenar tus experiencias acerca de lo que estás aprendiendo.

32. Organízate. Usa pestañas de colores para dividir tu cuaderno de notas o tu diario. Ambas son excelentes maneras de dividir las ideas para hacer una futura referencia de maner más sencilla.

33. Usa Post-it. Los Post-it son de gran ayuda a la hora de registrar nuestros pensamientos y opiniones acerca de algún libro, de esta forma no maltratamos el libro poniendole marcas o subrayándolo.

Técnicas de Auto-motivación

34. Date crédito. Las ideas realmente están ‘de a peso por docena’. Si aprendes a concentrar tu mente únicamente en aquellos resultados que deseas alcanzar, serás capaz de reconocer las buenas ideas. Tu mente pronto se convertirá en un filtro de buenas ideas, lo cual te motivará a aprender más.

35. Motívate a ti mismo. Por qué quieres aprender algo? Cuál es la meta que deseas alcanzar mediante el aprendizaje? Si no sabes para qué quieres aprender, las distracciones aparecerán con más facilidad.

36. Plantéate una meta. W. Clement Stone una vez dijo “Todo lo que la mente humana pueda imaginar, lo puede alcanzar.” Es un fenómeno increíble en cuanto al logro de las metas. Prepárate por los medios que sean necesarios, y los obstáculos no parecerán difíciles de conquistar. Cualquiera que haya experimentado este fenómeno puede rectificar su validez.

37. Piensa positivamente. No sirve de nada proponerte metas de aprendizaje si no tienes fé en tu habilidad para aprender.

38. Organízate, parte 2. Learning is only one facet of the average adult’s daily life. You need to organize your time and tasks else you might find it difficult to fit time in for learning. Try Neptune for a browser-based application for “getting things done.”

39. Todas las habilidades se aprenden. Con excepción de las funciones corporales, todas las habilidades en esta vida son aprendidas. Hablando de manera general, si una persona puede aprender algo, tu también puedes. Tal vez tendrás que esforzarte un poco más, pero si te has planteado una meta viable, es sin duda una meta realizable.

40. Prepárate para aprender. Pensar positivamente no es suficiente para alcanzar las metas efectivamente. Esto es especialmente importante cuando eres un adulto, pues probablemente tendrás muchas distracciones alrededor de tu vida diaria. Implementa formas de reducir las distracciones, al menos por unas cuantas horas al día, o aprender se volverá una experiencia frustrante.

41. Prepárate, parte 2. La naturaleza humana es tal que no todos en tu vida te desearán el bien en tu auto-mejoramiento y tus planes de aprendizaje. Intencionalmente o Subconscientemente te pueden distraer de tu meta. Si tienes que ir a clases después del trabajo, asegúrate que tus colegas de trabajo lo sepan, que no puedes quedarte hasta tarde. La diplomacia funciona mejor si tu jefe intencionalmente te deja trabajos en los días en que sabe que tienes que irte. Reprograma tus lecturas para otra hora si es necesario/posible.

42. Oblígate. La mayoría de la gente necesita estructurar sus vidas. La libertad a veces da miedo. Es como el caos. Pero incluso el caos tiene un orden dentro de sí. Obligándote a ti mismo (como por ejemplo, ponerte fechas límite, limitando tu tiempo, ideas o herramientas), puedes frecuentemente lograr más en menos tiempo.

Técnicas suplementarias

43. Lee lo más que puedas. ¿Puede ser más claro? Usa Spreeder (#33) si es necesario. Abarca tantos temas como puedas, lo más profundo que puedas.

44. “Cruza” tus intereses. Las neuronas que conectan con neuronas existentes te dan nuevas perspectivas y habilidades para utilizar los conocimientos adicionales en maneras novedosas.

45. Aprende otro idioma. Las nuevas perspectivas te dan la habilidad de “cruzar” conceptos culturales y llegar a nuevas ideas. También, a veces leer un libro en su idioma original te otorga beneficios perdidos en la traducción.

46. Aprende a aprender. Management Help tiene una página de recursos, así como el campus virtual de SIAST, que enlazan a artículos sobre técnicas de aprendizaje. Se enfocan al aprendizaje en línea, pero sin duda obtendrás algo de ellos de cualquier forma de aprendizaje. Si quieres profundizar en el óptimo aprendizaje, lee la “Guía Rápida de la Teoría del Aprendizaje” de Headrush.

47. Conoce qué sabes y qué no. Muchas personas dicen “Soy tonto” o “No sé nada de eso”. El hecho es que mucha gente no se da cuenta de lo que realmente sabe sobre un tema. Si quieres aprender sobre un tema, es necesario que sepas qué es lo que ya sabes al respecto, descubre qué es lo que no sabes, y entonces apréndelo.

48. Haz multi-tareas para procesos de fondo. Hacer multi-tareas de forma efectiva te permite aprovechar un tiempo limitado para cumplir algunas tareas. El aprendizaje también puede ser aprovechado mediante multi-tareas. Al decir multi-tareas efectivo no me refiero a hacer dos o más cosas al mismo tiempo. No es posible. Sin embargo, Puedes lograr desarrollar efectivamente multi-tareas con un acercamiento correcto y preparando la mente para eso. Por ejemplo, un escritor independiente de éxito aprende a manejar varios artículos a la vez. Investiga sobre el primer ensayo y permite a los procesos de fondo del cerebro actuar. Concientemente, continúa con el segundo ensayo. Al investigar sobre el segundo ensayo, el primero “se escribirá solo”. Asegúrate de registrarlo cuando “llegue a tí”.

49. Piensa holísticamente. El pensamiento holístico puede ser la técnica simple más avanzada de aprendizaje que pueda ayudar a un estudiante. Pero es una forma de pensar más que una técnica simple.

50. Usa el tipo correcto de repeticion. Los conceptos complejos a menudo necesitan una revisión en orden para ser completamente captados. A veces, para ciertas personas, puede tomar meses, o años. La repetición de conceptos y teorías con varios ejemplos concretos mejora la absorción y acelera el aprendizaje.

51. Usa el modelo de Aprendizaje Cuántico (AC). El modelo de Aprendizaje Cuántico se aplica en algunas escuelas de los Estados Unidos y va más allá que los tipos de enseñanza típicos para atraer a los estudiantes.

52. Obtén las herramientas necesarias. Obviamente, hay toda clase de herramientas para el aprendizaje. Si estás aprendiendo en línea, como un creciente grupo de personas actualmente, entonces considera tus herramientas en línea. Una de las mejores herramientas de investigación en línea es el Navegador Web Firefox, que tiene bastantes extensiones (add-ons) con toda clase de características útiles. Una es Googlepedia, que muestra de manera simultánea listados de la herramienta de búsqueda Google cuando buscas por un término, con entradas similares de la Wikipedia.

53. Obtén herramientas necesarias, parte 2. Este es un tip muy de sitio, pero si quieres aprender métodos veloces de construcción de software, lee “Getting Real“, de 37 Signals. La versión Web es gratis. Las técnicas en ese libro han sido usadas para crear aplicaciones web Basecamp, Campfire y Backpack en un periodo corto de tiempo. Cada una de esas aplicaciones apoya la colaboración y la organización.

54. Aprende pensamiento crítico. Como diría el personaje de MadTV Keegan-Michael Key, el pensamiento crítico lleva el análisis a “un nuevo nivel”. Lee el discurso de Wikipedia sobre pensamiento crítico como punto de comienzo. Incluye buenas habilidades analíticas como ayuda a la habilidad de aprender selectivamente.

55. Aprende a resolver problemas complejos. Para la mayoría de las personas, la vida es una serie de problemas por resolver. Aprender es parte del proceso. Si tienes un problema complejo, necesitas aprender el arte de resolver problemas complejos (esta página contiene increíble información visual)

Para Maestros, Tutores y Padres

56. Sé desafiante. Las enseñanzas son parciales y frecuentemente contraproducentes. La información solamente escuchada o leída (de un pizarrón, por ejemplo) es a menudo olvidada. La enseñanza no es solamente hablar. Hablar no es suficiente. Pregúntale cosas a los estudiantes, presenta escenarios, enfréntalos.

57. Usa pirámides de información. El aprendizaje se da en etapas. Construye bases de conocimiento sobre las cuales podrás añadir conceptos avanzados.

58. Usa videojuegos. Los videojuegos tienen una mala reputación por ciertos juegos violentos, pero los videojuegos en general pueden ser una ayuda efectiva al aprendizaje.

59. Interpreta un rol. La gente joven a menudo aprende mejor siendo parte de una experiencia de aprendizaje. Por ejemplo, la historia se absorbe más fácilmente al reactuarla.

60. Aplica la regla 80/20. Esta regla a menudo se interpreta de maneras distintas. En este caso, la regla 80/20 significa que algunos conceptos, digamos cerca del 20% de un currículum, requiere más tiempo y esfuerzo, digamos el 80%, que los demás. Así que prepárate para ahondar en temas complejos.

61. Cuenta historias. Venus Atrapamoscas, un personaje de la comedia WKPR en Cincinati, una vez le enseñó a un estudiante pandillero acerca de los átomos, protones y electrones diciéndole que un átomo era un gran vecindario y que los protones y neutrones tenían su propio pequeño vecindario y nunca se mezclaban. Como pandillas rivales. La historia funcionó, y el entendimiento se notó en los ojos del estudiante.

62. Ve más allá de la currícula de escuela pública. El sistema de educación pública lamentablemente carece de la enseñanza de aprendizaje avanzado y métodos de lluvia de ideas. No es que los métodos no se puedan enseñar, pero no lo son. Para aprender más, tienes que poner un tiempo y esfuerzo adicionales, y a veces dinero para herramientas de aprendizaje comercialmente disponibles. No hay nada malo en esto, pero lo que se enseña en las escuelas necesita ser ampliado. El autor de este artículo ha probado que una persona de nueve años puede aprender algunas matemáticas de nivel universitario, si se da el acercamiento adecuado.

63. Emplea el aprendizaje aplicado. Si un estudiante de preparatoria tuviera problemas de matemáticas, digamos con las fracciones, un ejemplo de aprendizaje aplicado puede ser la cocina, la medición de los ingredientes. Ajusta el aprendizaje a los intereses de los estudiantes.

Para Estudiantes y Autodidactas

64. Desafíate. Sorpresa. A veces los estudiantes se aburren porque saben más de lo que se enseña, a veces más que un maestro (Con suerte los maestros evaluaran lo que cada estudiante ya sabe). Los estudiantes deberían discutir con un maestro si sienten que el material que se cubre no es desafiante. Además deberían considerar el pedir material adicional.

65. Enséñate a tí mismo. No siempre los maestros pueden cambiar el programa. Si no estás siendo desafiado, desafíate a tí mismo. Algunos países aún aplican exámenes nacionales para todos los estudiantes. Si tu tutor no cubrió un tema, deberías aprenderlo por tu cuenta. No esperes que alguien más te lo enseñe. Las lecciones son más efectivas cuando ya tienes una introducción previa de los conceptos.

66. Colabora. Si estudiar solo no funciona, tal vez un grupo de estudio ayudará.

67. Hazlo con los demás; enseña algo. La mejor manera de aprender mejor algo es enseñarselo a alguien más. Te fuerza a aprender, si estás suficientemente motivado para compartir tu conocimiento.

68. Escribe acerca de ello. Una manera efectiva de “enseñar” algo es crear un FAQ o un wiki que contenga todo lo que sabes sobre un tema. O un blog acerca del mismo. Hacer esto te ayuda a darte cuenta de lo que sabes y más importante aún, lo que no sabes. Ni siquiera necesitas gastar dinero si usas una cuenta gratis como Typepad, Wordpress o Blogger.

69. Aprende por experiencia. Bastante obvio, ¿cierto? Significa invertir el tiempo necesario. Un experto es a menudo definido como alguien que ha puesto 10 000 horas en alguna experiencia. Eso son aproximadamente 5 años de 40 horas semanales, cada semana. ¿Eres un experto sin darte cuenta? Si no, ¿Tienes la dedicación para ser uno?

70. Interrógate. Probar qué tanto has aprendido reforzará la información. Las tarjetas con preguntas son una de las mejores maneras, y no son sólo para niños.

71. Aprende las cosas correctas primero. Aprende las bases. Como ejemplo: Una manera frustrante de aprender un nuevo idioma es aprender la gramática y deletreo y construcción de oraciones primero. No es así como los bebés aprenden a hablar, y no hay razón para que un adulto o joven tenga que comenzar de forma distinta, a pesar de las opiniones “expertas”. Inténtalo por tí mismo y ve la diferencia.

72. Planea tu aprendizaje. Si tienes un plan a largo plazo para aprender algo, entonces, en palabras de Led Zeppelin, “Hay dos caminos por los que puedes llegar”: Puedes tomar una vía casual de acercamiento al aprendizaje, o puedes poner un poco de planeacion para hallar un camino óptimo. Planea tu tiempo y balancea tu aprendizaje y tu vida.

Consejos de despedida:

73. Insiste. No te rindas en el aprendizaje al ver tareas intimidatorias. Cualquier cosa que un ser humano puede aprender, los demás también pueden. ¿No fue Einstein quien dijo “El genio es 1% inspiración y 99% transpiración”? Edison también lo dijo.

74. Desafía a los expertos. La dislexia, en breve, es la enfermedad de traslapar letras y dígitos, causando dificultades en la lectura, escritura y, por ende, aprendizaje. Algunas palabras o numeros dictados igualmente se confunden. En el pasado, los “expertos” declararon estúpidos a los niños disléxicos. Mas adelante, se dijo que eran incapaces de aprender. El autor ha interactuado y enseñado a adolescentes disléxicos. Es posible. Helen Keller no podía ver, escuchar o hablar, y sin embargo, aprendió. Conclusión: Hay más de una manera de aprender; nunca creas que no puedes.

75. Rétate a tí mismo. La gente es frecuentemente más lista de lo que se da cuenta. En un mundo que categoriza por todos lados, no todos están seguros de dónde encajan. Y los genios se pueden hallar en muchas aceras de la vida. Si honestamente sospechas que hay más para tí de lo que se te ha permitido demostrar, haz un test de CI como el ofrecido por MENSA. No es como el resto de pruebas estandarizadas que se realizan en las escuelas. Ya sabes, aquellos que traumatizan a muchos niños haciendoles pensar que son estúpidos, simplemente porque las pruebas realmente no evaluan el conocimiento y habilidad de aprendizaje de todos los estudiantes. Y la habilidad de aprendizaje es más importante que lo que ya sabes.

76. Festeja antes de un examen. Bueno, no vayas tan lejos. La clave está en relajarse. Lo peor que puedes hacer la noche antes del examen es estudiar. Si no sabes para entonces un tema, estudiar no te va a ayudar. Si has estudiado, simplemente repasa el tema, y entonces haz algo agradable (no más estudio). Hacer esto le dice a tu cerebro que estás preparado y que podrás recordar todo lo ya aprendido. Por otro lado, si no pasaste el semestre aprendiendo las ideas necesarias, igualmente puedes ir a celebrar porque estudiar no servirá de mucho a esas alturas.

77. No te preocupes; aprende feliz. ¿Tienes una verdadera pasión por el aprendizaje y ganas de compartirlo? Únete a algún grupo como la comunidad de aprendizaje jubiloso.


Saludos

Etiquetas:

domingo, mayo 06, 2007

[Estudio] Tutorial de C++ para aprenderlo en 21 días

Dejo el enlace para que quede registrado en mi blog:

Tutorial C++ en 21 días

Saludos

Etiquetas: