2012-01-06

Formando a próxima geração de hackers

Eu sou um defensor do uso da tecnologia aberta na educação.

Sei, por experiência própria, que crianças de 12 anos de idade estão aptas a aprender a programar. (Eu comecei nessa idade, usando um microcomputador de 8 bits e 256KB de RAM. (Isso mesmo, 256 quilobytes - naquela época ninguém falava em megabytes, que dirá gigabytes! :D).

Imagine se pudéssemos oferecer, para cada estudante, um computador e uma biblioteca de livros de computação?

A tecnologia de e-readers já está madura, e podemos encontrar e-readers a partir de $99 (R$ 183) com capacidade para armazenar milhares de livros.

E a Raspberry Pi Foundation criou a peça que faltava: um computador de $25 dólares (R$ 43) baseado em tecnologia ARM, que poderia facilmente ser distribuido para todas as crianças em idade escolar.

http://www.raspberrypi.org/

Hackers são auto-didatas. Eles não precisam de professores de informática; precisam de acesso a um computador e conteúdo.

Tablets como o iPad não são uma boa opção, pois são completamente fechados. A Apple chega ao ponto de proibir a inclusão de linguagens de programação no iPad!

O Raspberry Pi coloca a tecnologia aberta nas mãos de cada estudante, e incentiva a exploração e a curiosidade. E o e-reader permitirá que os jovens tenham acesso a toda informação que precisam.

Entre os livros que poderíamos disponibilizar estão alguns clássicos da computação, como estes:


Lisp/Scheme:

Common Lisp: A Gentle Introduction to Symbolic Computation
How to Design Programs
Interpreting Lisp (PDF, suggested by Gary Knott)
Let Over Lambda
On Lisp
Practical Common Lisp
Programming in Emacs Lisp
Programming Languages. Application and Interpretation (suggested by Alex Ott)
Structure and Interpretation of Computer Programs
Teach Yourself Scheme in Fixnum Days
Visual LISP Developer’s Bible (suggested by “skatterbrainz”)

Ruby:

Clever Algorithms (suggested by Tales Arvelos)
Data Structures and Algorithms with Object-Oriented Design Patterns in Ruby
Learn Ruby the Hard Way
Learn to Program
MacRuby: The Definitive Guide
Mr. Neighborly’s Humble Little Ruby Book (suggested by tundal45)
Programming Ruby
Read Ruby 1.9
Ruby Best Practices
Ruby on Rails Tutorial Book (suggested by tundal45)

Javascript:

Building iPhone Apps with HTML, CSS, and JavaScript
Eloquent Javascript
jQuery Fundamentals
Mastering Node

Haskell:

Implementing functional languages: a tutorial
Learn You a Haskell for Great Good
Real World Haskell
The Haskell Road to Logic, Maths and Programming

Erlang:

Concurrent Programming in Erlang
Learn You Some Erlang for Great Good

Perl:

Beginning Perl
Higher-Order Perl
Impatient Perl
Modern Perl (suggested by Gregory Brown)

Python:

Dive into Python
How to Think Like a Computer Scientist – Learning with Python
Invent Your Own Computer Games with Python (suggested by D)
Learn Python The Hard Way (suggested by Stephen Wyatt Bush)

Smalltalk:

Dynamic Web Development with Seaside
Pharo by Example (based on the next book in this list, suggested by Anonymous)
Squeak by Example

http://citizen428.net/blog/2010/08/12/30-free-programming-ebooks/


Além disso, o e-reader pode incluir centenas de obras em domínio público, da literatura brasileira e mundial. Não apenas européia, mas de toda a América Latina e da Ásia.

Estas são apenas algumas das razões pelas quais acho que chegou o momento de distribuir um e-reader e um computador de baixo custo para cada estudante brasileiro.