Páginas

quinta-feira, 30 de outubro de 2008

Redes sociais virtuais e educação

Uma rede social virtual (Orkut, hi5, Facebook, Myspace, etc) conecta pessoas através da tecnologia. Acredito que, devido sua natureza interativa, existência de mecanismos de manifestação de opinião e de espaço para discussão, a rede social virtual é uma ferramenta útil para o aprendizado, pois representa um micro mundo. E segundo Paulo Freire "ninguém educa ninguém, ninguém educa a si mesmo, os homens se educam entre si, mediatizados pelo mundo", ou seja, todos aprendem e ensinam simultaneamente mediatizados pelo ambiente em que vivem. Na rede social virtual é possível se articular os pensamentos que são parte da comunidade, mobilizar e socializar o conhecimento, principalmente se os professores intervirem no sentido de aprofundar os temas que são discutidos. Uma faca pode ser usada para passar manteiga no pão e colabora para o café da manhã ou, contrariamente, pode ser usada para ferir alguém. Estou aqui revendo meus conceitos e propondo uma discussão sobre o tema. Vamos refletir sobre isso ou vamos continuar cortando o pão com as mãos e passando manteiga com os dedos?
Criamos uma rede social para discutir esse tema e muitos outros relacionados. Se você tem interesse em participar mande um email para pedroso_araujo@yahoo.com.br.

sábado, 18 de outubro de 2008

Sala de aula na nuvem

Computação na nuvem ou cloud computing é a buzzword (alarido em torno de uma nova palavra ou expressão) do momento. Não é um conceito novo, mas vem ganhando força com o crescimento da Google e seu interesse explícito nessa área. É um modelo onde as aplicações e dados residem em servidores e são acessados via web. Exemplos disso são os pacotes de escritórios (editores de texto ou planilhas) online disponibilizados pela Google e Zoho. Não vou discutir aqui sobre o futuro disso. Se é factível ou não, se é seguro ou não, e vai por ai. Meu foco é outro. A educação dita formal. Atualmente as pessoas vivem em permanente corrida, com o pé pisando fundo no acelerador. No entanto o dia continua tendo 24 horas. Estamos tentando fazer cada vez mais no mesmo período de tempo. Costumo dizer que tudo evolui, a tecnologia nos envolve, ou melhor, nos engole, mas o tempo permanece obsoleto. O dia sempre vai ter 24 horas. Ninguém, após a adolescência, tem tempo para ficar 4 horas diárias sentado em uma sala de aula na terra, nem mesmo o professor, que nem sempre é apenas professor. A solução é a sala de aula na nuvem. Não apenas as ferramentas que possibilitem isso, mas principalmente a legislação que regula o ensino à distância devem evoluir para se adequar à uma realidade incontestável. Vocês podem argumentar: "Mas isso já existe". Sim, mas as exigências para que funcionem nos remetem sempre de volta à sala de aula na terra. Em um curso de graduação ou especialização são exigidos alguns encontros presenciais, principalmente para realizar a jurássica prova. Programas de mestrado e doutorado? Apenas na sala de aula na terra. Por que? Já ouvi alguém argumentar que à distância se perde a interação com os outros pesquisadores, com o orientador, fundamental para o desenvolvimento da pesquisa. Eu nem vou comentar isso. Entendo que o Ministério da Educação se preocupa com a qualidade, e tem que se preocupar mesmo. As instituições de ensino também devem ter essa preocupação em mente. Muitos querem aprender, poucos tem tempo e espaço disponíveis. A educação informal está avançando muito mais rapidamente. A discussão está aberta.

quinta-feira, 16 de outubro de 2008

Aprenda Programar em Dez Anos

Este pequeno texto é uma adaptação do artigo "Teach Yourself Programming in Ten Years" de Peter Norvig, que pode ser lido integralmente em http://norvig.com/21-days.html.

Não é difícil encontrar livros com títulos tais como: "Aprenda Java em 7 Dias", "Aprenda Pascal em Três Dias", e assim por diante. A primeira impressão que se tem é que há uma grande corrida para aprender computação, ou que computação é algo muito mais fácil de aprender que qualquer outra coisa. Ou alguém já viu livros sobre como aprender tocar piano, física quântica ou adestrar cães em tão poucos dias?
Pesquisadores têm mostrado que leva-se aproximadamente dez anos para tornar-se um expert em uma grande variedade de áreas que incluem: jogar xadrez, compor músicas, pintar, nadar, jogar tênis, etc. Mozart, considerado um prodígio musical aos 4 anos, levou mais 13 anos antes de começar a produzir música de qualidade. O grupo musical The Beatles surgiu com um sucesso em primeiro lugar nas paradas em 1964, mas já vinham tocando desde 1957. Samuel Johnson acredita que pode levar mais que dez anos: "Excelência em qualquer área pode ser alcançada apenas com esforço de uma vida toda; não dá para ser comprada por menos que isso".

Peter Norvig dá sua receita para obter sucesso em programação:
  • Se interesse por programação, e faça por que é divertido. Tenha certeza que é dvertido para você dedicar dez anos nisso.
  • Programe. A melhor forma de aprender é "aprender fazendo".
  • Você pode passar quatro anos em uma universidade. Mas lembre-se "Educação em ciência da computação não faz de ninguém um gênio em programação tanto quanto estudar pincéis e pigmentos não fazem um bom pintor" segundo Eric Raymond.
  • Trabalhe em projetos com outros programadores. Aprenda com eles e teste suas habilidades.
  • Procure entender programas escritos por outros. Desenvolva programas que sejam fáceis de manter por outros programadores.
  • Aprenda pelo menos meia dúzia de linguagens de programação. Preferencialmente de paradigmas diferentes: orientadas a objeto, funcionais, de script, estruturadas, etc.
  • Lembre que existe um computador onde seu programa irá rodar. Saiba quanto tempo leva para o seu computador executar uma instrução, carregar uma palavra na memória, ler palavras do HD, etc.
  • Se envolva no esforço de padronização de uma linguagem.
  • Tenha o bom senso de cair fora desse processo de padronização tão rápido quanto possível.
Por tudo isso, é duvidoso o quão longe você pode ir apenas lendo livros. Norvig conclui que muitas pessoas já possuem as qualidades necessárias para serem grandes programadores, o grande trabalho consiste em colocá-las no caminho certo.

segunda-feira, 13 de outubro de 2008

Convenções de código

Convenções de código são um padrão de codificação que um grupo de programadores decide seguir. Isso inclui nomes de variáveis, de arquivos, identação, comentários, etc. Segundo o site da Sun, as convenções de código são importantes para os programadores por três razões:
  • 80% do custo de desenvolvimento de um software é gasto com manutenção
  • Dificilmente um software é mantido por toda sua vida pelo autor original
  • Convenções de código dão legibilidade ao software
Nas aulas de Linguagem de Programação Comercial eu procuro mostrar ao alunos a importância de usar convenções de código até mesmo em benefício do seu próprio aprendizado. Utilizamos Delphi nessa disciplina e vou documentar aqui o padrão que eu criei no desenvolvimento de meus sistemas e o qual eu os aconselho a utilizarem.
No caso dos componentes eu os nomeio iniciando com duas ou três letras minúsculas abreviando o tipo do componente seguidas de um nome iniciando em maiúscula:
  • Botões (TButton, TBitBtn, TSpeedButton) - iniciam com btn. Exemplo: btnFechar, btnOk, btnCancelar
  • Caixas de texto (TEdit) - iniciam com edt. Exemplo: edNome, edEndereco
  • Caixas combinadas (TComboBox) - iniciam com cbx. Exemplo: cbxCidade, cbxEstado
  • Caixas de lista (TListBox) - iniciam com lb. Exemplo: lbProfissao, lbEscolaridade
  • Rótulos (TLabel) - iniciam com lbl. Exemplo: lblNome, lblEndereco
  • Barra de rolagem (TScrollBar) - iniciam com sb. Exemplo: sbIdade
  • Caixas de verificação (TCheckBox) - iniciam com chx. Exemplo: chxSituacao
  • Menus (TMainMenu, TPopUpMenu) - iniciam com mn. Exemplo: mnPrincipal
  • Formulários (TForm) - iniciam com frm. Exemplo: frmPrincipal
  • Unidades (Unit) - iniciam com u_. Exemplo: u_principal
  • Tabelas (TTable) - iniciam com tb. Exemplo: tbProduto, tbCliente.
  • Fontes de dados (TDataSource) - iniciam com ds. Exemplo: dsProduto, dsCliente.
  • Queries (TQuery) - iniciam com que. Exemplo: queProduto, queCliente.
Além disso procuro identar o código e usar nomes que sugiram a função (a que se destina) de cada variável ou componente.

sábado, 11 de outubro de 2008

Minha paixão pela computação - IV

Quando eu iniciei meus estudos sobre Cobol, a empresa onde eu trabalhava tinha uma ferramenta CASE que gerava código COBOL a partir da definição da estrutura de uma tabela. Eu definia como eu queria a tabela e a ferramenta gerava o código completo de um módulo de cadastro. Assim eu comecei a analisar esse código, ler alguns livros e daí surgiram minhas primeiras aventuras nessa linguagem. Nessa época, 1986, a www ainda não existia. O primeiro navegador, Mosaic 1.0, só foi lançado em 1993. Os programas em COBOL que eu criava rodavam nos MAGNEX que falei antes. Eram computadores multiusuário. Logo surgiram os compatíveis com IBM-PC e a MAGNEX simplesmente quebrou, faliu. Os primeiros IBM-PC eram baseados no processador 8088 da Intel e rodavam apenas o sistema operacional MS-DOS, que não oferecia recursos multiusuário e redes eram um conceito que estava nascendo. Passamos por um momento de indefinição. Precisávamos de solução multiusuário e os compatíveis IBM-PC não suportavam esse recurso. Saímos atrás de alguma coisa que nos desse uma esperança e encontramos o sistema operacional PICK. PICK é multiusuário, suporta memória virtual, tempo-compartilhado, banco de dados e linguagem de programação integrados e, pasmem, a gente podia pendurar dois terminais burros em um PC-XT. PC-XT era um IBM-PC com 640Kbytes de memória RAM, 4.77 MHz de clock e disco rígido de 10 ou 20 Mbytes. Logo viagei a São Paulo onde fiz um curso de PICK Básico e Avançado me credenciando a desenvolver software nessa plataforma. Fizemos um programa que acompanhava a apuração das eleições, que era manual, nessa plataforma. O grande problema desse sistema operacional era a falta de compatibilidade com o sistema de arquivos do MS-DOS. No início dos anos 90 comecei a estudar CLIPPER. Em 1991 iniciei uma nova fase na minha vida profissional, passei a trabalhador autônomo. Durante cerca de 10 anos a linguagem CLIPPER foi minha fonte de renda. Ainda hoje tenho clientes que utilizam programas meus escritos em CLIPPER. Em julho de 1996 fui mais uma vez a São Paulo, desta vez fazer um curso de DELPHI. Em agosto de 1996 fui admitido como professor no Instituto Luterano de Ensino Superior. Uma nova fase se inicia, que eu começo a contar no próximo post.
 
Creative Commons License
This work by Carlos Alberto P. Araújo is licensed under a Creative Commons Atribuição-Uso não-comercial-Compartilhamento pela mesma licença 3.0 Brasil License.