Sites para aprender a programar, de graça

Para quem sequer abriu um editor HTML, desses que estão disponíveis até mesmo em blogs, programar pode ser um verbo distante, que remete a telas pretas, com muitos números e símbolos que a princípio formam sentenças estranhas. A boa notícia aos interessados em aprender a linguagem dos códigos é que os tempos são outros, as telas pretas são apenas uma das muitas interfaces existentes. Opções de plataformas e ambientes amigáveis para quem está disposto a começar a programar não faltam.

O que faltam, segundo o garoto prodígio do Vale do Silício desses tempos, Mark Zuckerberg, são desenvolvedores. Não que isso seja uma novidade, mas na plataforma code.org, que reúne depoimentos de celebridades de diferentes áreas do conhecimento, o fundador e CEO do Facebook afirma que a política da empresa é contratar o maior número possível de desenvolvedores talentosos que encontram, exatamente por não haver bons profissionais com essa habilidade suficiente para dar conta do mercado.

Se em escolas e universidades a disciplina programação ainda é uma estranha desconhecida na esmagadora maioria dos currículos, há opções para todos os públicos para correr por fora. Ainda na infância, o aprendizado pode contar com o suporte de softwares como o Scratch, desenvolvido no MIT (Massachusetts Institute of Technology). Um dos mais aclamados pelos educadores, o Scratch não exige conhecimento de qualquer outra linguagem de programação. Na versão mais recente, a 2.0, permite que o usuário faça seus projetos on-line, sem precisar baixar qualquer programa. Funciona quase como um “lego virtual”, onde programas são construídos a partir do encaixe de blocos.

crédito maxkabakov/ Fotolia.com

No Brasil, o Scratch tem seus adeptos, como o professor Marcelo Molina, coordenador de Educação Tecnológica do Colégio JK, em Brasília. Em 2011, ele esteve no Medialab do MIT, em Boston (EUA), e trouxe de lá o software da casa. Desde então, as aulas de robótica para seus alunos do ensino fundamental não são as mesmas. “Assim que voltei, criei um currículo para trabalhar com o Scratch na Robótica, e avançamos bastante. Agora, os alunos já fazem games e desenvolvem programas unindo esse software ao [sensor de movimento] kinect, que teve o seu código aberto”, conta ele, entusiasmado.

A introdução à programação no Colégio JK não significa, necessariamente, a preparação de uma turma de desenvolvedores natos. “O que fazemos aqui é despertar as possibilidades. A robótica está no nosso currículo há sete anos porque é uma forma lúdica e estimulante de trabalhar a lógica”, pondera o educador.

Plataformas e cursos gratuitos

Para quem não conta com um professor no suporte da aprendizagem, as comunidades para troca de conhecimento estão aí. Aprender sozinho ou em grupo é uma possibilidade na Code Academy, onde os cursos são gratuitos. A plataforma conta com versão em português, mas apenas nas páginas iniciais. Após o acesso, que é dos mais simples e pode ser feito por meio dos perfis das redes sociais Twitter, Facebook ou ainda com um cadastro breve, os comandos passam a ser em inglês. Uma vez no ambiente, as trilha de aprendizagem são oito. Começam no Web Fundamentals e seguem até APIs (Interface de Programação de Aplicativos). Para quem quer apenas criar sites simples, lá está curso o HTML, disponível. Se a ideia for desenvolver ambientes interativos, basta recorrer ao Java, mais complexa. Tudo funciona na base de exercícios e na dinâmica da gamificação. O usuário vai somando pontos, vai completando etapas, como numa trilha de games mesmo. Porém, ao fim do “percurso”, nada de badges nem inimigos abatidos. Um site construído, sim, pode ser a recompensa.

A CodeAcademy surgiu em 2012, mas como startup já é reconhecida. Dentro da plataforma Code.org, um outro espaço virtual para imersão nos códigos, é uma das “escolas” referenciadas. Lá também estão em destaque as aulas de  programação da Khan Academy, em formato vídeo, e os tutoriais para o Scratch. Ser um hub de ambientes de aprendizagem, e não uma plataforma com conteúdos próprios, é a proposta, até o momento, da Code.org, que cumpre bem esse papel. No endereço é possível encontrar também os cursos de universidades on-line, como Coursera, Edx, Udacity, além de uma lista de tutoriais e indicações de aplicativos que ajudam os iniciados na programação a desenvolverem suas ideias. Esses cursos também costumam ser gratuitos e têm duração de seis e dez semanas. As únicas premissas para aprender são dominar o idioma inglês e ter tempo para se dedicar.

Não tão populares, mas bastante amigáveis

Menos popular entre os iniciantes e com menos espaço no mercado, a linguagem de programação Ruby tem espaços divertidos para os dispostos a explorá-la. A home do Try Ruby é quase um afago ao usuário, com os seus desenhos delicados e indicações de “como fazer” que quase conduzem o aprendiz pela mão. O conteúdo deste ambiente é parte do programa básico da Code School, apoiada pela IBM e também desenvolvida para oferecer uma experiência semelhante a de um game. O lema por lá é “Aprenda Fazendo”. Tutoriais estão presentes, mas exercícios e recompensas etapa a etapa são o forte da proposta.

Na Code School, há também níveis diferentes de contas. Os cursos básicos são os gratuitos. Para se aprofundar, a conta premium, paga, é o caminho, pois permite acesso aos conteúdos avançados.

Desenvolvimento em códigos abertos

Falar em programação com códigos que podem ser modificados e não citar os ambientes e recursos Mozilla é quase uma heresia. Com 15 anos completados neste 2013, a empresa é defensora ferrenha do open source e, além do seu produto mais disseminado, o navegador Firefox, tem outros, igualmente gratuitos, para os interessados em desenvolvimento.

O site Hackasaurus tem a proposta de permitir ao usuário, também de forma bastante intuitiva, através de legos, construir páginas web. Mas, estampando o “jeito Mozilla de fazer”, também permite  remixar páginas, a partir de seus códigos. Uma experiência interessante para quem quer começar a desvendar remix em HTML ou Java.

Data: set. 2013
Fonte: porvir.org

Conheça o Code Club, uma rede mundial de voluntários que ensina crianças a programar

codeclub

O Code Club (em português: Clube do Código ou Clube de Programação) é uma rede mundial de atividades extra-curriculares gratuitas, completamente gerenciada por voluntários, com o objetivo de ensinar programação de computadores às crianças.

Saber programar é uma habilidade importante em um mundo digital. Hoje em dia não basta saber usar computadores, criar textos, planilhas, usar internet. As crianças também devem saber como as coisas funcionam.

Aprender a programar não é útil apenas se você quiser ser um programador no futuro. Programar ajuda em outras habilidades, como resolver problemas, desenvolve o raciocínio lógico e contribui em outras matérias como ciências e matemática. Além disso programar é muito divertido!

Nos cursos do Code Clube, em cada série os alunos aprendem usando imaginação e criatividade através da realização de projetos. Os cursos 1 e 2 utilizam a ferramenta Scratch para ensinar as bases de programação de computadores. O curso 3 introduz o desenvolvimento web usando HTML e CSS. No curso 4 é ensinado Python e assim por diante.

O Code Club foi criado por Clare Sutcliffe e Linda Sandvik em Abril de 2012. Em 2013, teve-se a ideia de trazer o Code Club para o Brasil.

O sonho do Code Club Brasil é que cada escola do Brasil tenha um clube de programação onde as crianças possam aprender informática.

Ficou interessado em saber mais?! Visite: http://codeclubbrasil.org.

Com informações de Code Club Brasil.

 

Data: set. 2013
Fonte: revista.espiritolivre.org

Plataforma inteligente ajuda leigos a programar

Um dos problemas gerados com a transferência dos relacionamentos do universo palpável para o virtual é que a maioria das pessoas não faz ideia de como funcionam as ferramentas que elas usam para se comunicar. E se isso já é um problema para a sociedade, em geral, afeta também quem depende do meio tecnológico para trabalhar.

A NoFlo, empresa que reciclou um conceito de programação criado pela IBM na década de 1970, resolveu espalhar o que aprendeu justamente para ajudar esse público que, embora lide com criações tecnológicas, não consegue entendê-las devidamente. São gerentes, executivos, designers… gente cobrada constantemente em relação ao tema.

Eles têm uma ferramenta de “programação baseada em fluxo” com a qual é possível programar organizando componentes na base do “arrastar e soltar”. Cada componente tem o formato de uma caixa e efetua uma ação específica.

É comum programadores criarem diagramas para esquematizar graficamente o que pretendem fazer e, depois, juntarem os códigos para que tudo saia como planejado. O que a ferramenta da NoFlo faz é transformar o diagrama, em si, no ambiente de programação – ao invés de ver um monte de linhas com códigos, o programador vê o diagrama e, sempre que arrastar uma coluna, uma ação acontece.

Hoje o NoFlo funciona como uma plataforma de código e está em uso por várias startups e grupos de pesquisa, mas eles precisam finalizar a camada de interface do usuário e financiar um ecossistema hospedado. Por isso, abriram uma campanha de financiamento colaborativo no Kickstarter.

O dinheiro ajudará a empresa a difundir a fórmula que criou, financiando o desenvolvimento de mais componentes, por exemplo. Serão criados tutoriais, demonstrações, Docs e kits de inicialização para aplicações; e haverá colaboração em tempo real.

Ao que parece, muita gente se interessou pela proposta, porque a campanha foi ao ar nesta quinta-feira, 1, e já arrecadou US$ 27,2 mil – mais que 1/4 dos US$ 100 mil que estão pedindo. A ação fica no ar até 15 de setembro.

Fonte: olhardigital.uol.com.br

Campanha americana deflagra debate sobre ensino de programação de computador nas escolas

Avanço da tecnologia digital desperta mobilização de educadores e empresários nos EUA em favor de lições de computação na educação básica, e já provoca reflexos no Estado

Campanha americana deflagra debate sobre ensino de programação de computador nas escolas Diego Vara/Agencia RBS

A disseminação das tecnologias digitais deixou as escolas à beira de uma revolução.

Um número crescente de especialistas argumenta que não basta preparar os estudantes do século 21 para ler, escrever ou fazer contas: é preciso ensiná-los a programar computadores. Nos Estados Unidos, celebridades se uniram em uma campanha em defesa da chamada “alfabetização digital”, e que já provoca reflexos no Rio Grande do Sul.

Assista ao vídeo sobre as aulas no colégio Sinodal, em São Leopoldo:

Personalidades como o fundador da Microsoft, Bill Gates, e o criador do Facebook, Mark Zuckerberg, figuram em um vídeo divulgado na internet que defende o ensino de linguagem de programação — códigos que mesclam letras, números e sinais gráficos para dizer aos computadores e dispositivos digitais que ações realizar, como enviar e-mails ou rodar jogos. Para os defensores da ideia, nos próximos anos será tão importante falar a língua das máquinas como hoje é fundamental ler e escrever. Duas razões sustentam a iniciativa: faltam programadores no mercado de trabalho — a defasagem deverá chegar a 1 milhão de pessoas em 2020 nos EUA —, e educadores apontam que aprender a lógica da computação ajuda o raciocínio, melhora o desempenho em outras disciplinas e estimula a criatividade.

— Quando o aluno aprende a linguagem do computador para dizer a ele o que fazer, muda tudo. A máquina se transforma em um laboratório — concorda a coordenadora do Laboratório de Estudos Cognitivos da Universidade Federal do Rio Grande do Sul (UFRGS), Léa Fagundes.

O problema é como disseminar essa cultura no país, o que exige treinar professores e dar infraestrutura. Hoje, a modalidade de programação mais ensinada em escolas públicas e privadas é a robótica, na qual os alunos comandam a movimentação de robôs por meio de códigos inseridos no computador. Na rede municipal de Porto Alegre, por exemplo, 35 escolas treinaram professores de disciplinas variadas para usar esse recurso e seguem com ele no currículo.

(Diego Vara/Agencia RBS)

Também existem softwares, mais voltados para crianças, usados para apresentar a lógica da computação aos alunos. Eles permitem que o usuário insira comandos que criam figuras, movimentam personagens e possibilitam a elaboração de desenhos, narrativas e jogos. O maior desafio do sistema escolar está no ensino das linguagens de programação propriamente ditas, utilizadas para criar páginas na internet, aplicativos e jogos (conheça as principais logo abaixo). Uma das barreiras é a falta de professores especializados.

— O ideal é que combinassem o curso de pedagogia com especialização em informática, ou o contrário — afirma o mestre em computação e diretor de uma escola de computação Rodrigo Losina.

Em todo o país, conforme dados de 2010, há 79 cursos de licenciatura em computação, que preparam educadores para lecionar sobre esse tema. Mas eles formam menos de 700 profissionais por ano.

— Isso é muito abaixo do necessário — sustenta o doutor em computação e professor da UFRGS Daltro José Nunes.

Como resultado, segundo Losina, há uma tendência de aumento no número de alunos adolescentes em cursos de linguagens de programação oferecidos por escolas de computação. Mas a campanha americana já inspira instituições como o colégio Sinodal, de São Leopoldo, a investir mais na linguagem dos computadores. A instituição já leciona robótica, mas pretende ampliar o ensino para que os estudantes aprendam a criar projetos mais variados.

— Inspirados pela campanha, vamos introduzir o ensino de outras linguagens, voltadas para a criação de jogos e aplicativos — conta o professor de Educação Digital Jorge Jardim.

A intenção é usar a computação para que os jovens de hoje programem seu futuro.

EXEMPLOS DE LINGUAGENS

Confira alguns dos códigos mais difundidos no mundo e quais as principais aplicações práticas de cada um deles:

C — É uma das linguagens mais antigas ainda em uso, que deu origem a várias outras. Muito utilizada em sistemas embutidos, como em eletrodomésticos (para fazer funcionar o marcador de potência de um micro-ondas, por exemplo). Também é muito utilizada em áreas como mecatrônica ou robótica, podendo ser utilizada para o controle de elevadores ou a movimentação de robôs.

Java — É um dos recursos mais utilizados no desenvolvimento de sites e aplicativos, desde o teclado virtual para acessar a página de um banco na internet, por exemplo, sistemas de leilão online ou jogos feitos para celular. Versátil, pode ser adaptado para diferentes dispositivos como computadores, tablets ou smartphones, e diferentes sistemas operacionais.

HTML — Não é chamada de linguagem de programação, mas de “marcação”. Utilizada para montar o “esqueleto” das páginas da internet: por meio dela, o usuário pode definir a estrutura básica que o site terá, determinar o título, dividir o texto em parágrafos, criar listas etc.

CSS — É chamada de linguagem de estilo, ou seja, destinada a elaborar as características estéticas de uma página da internet, como cor de fundo, estilo das letras, entre outros recursos. Costuma-se dizer que, enquanto o HTML é o “esqueleto”, o CSS é a “pele” das páginas virtuais.

PHP — É um conjunto de códigos que pode dar dinamismo a um site da internet, ou seja, torná-lo capaz de “fazer coisas”, como recuperar informações de um banco de dados. Costuma ser utilizado em combinação com outras linguagens da web, como HTML e CSS.

COMO É POSSÍVEL APRENDER

Veja algumas opções para se familiarizar com a lógica por trás da linguagem utilizada pelos computadores ou para começar a aprender algumas linguagens propriamente ditas:

Na escola

Alguns colégios já utilizam softwares específicos para introduzir o ensino de lógica de programação para crianças e adolescente. Há duas vertentes principais:

— Robótica — Kits permitem a montagem de carros ou robôs que serão controlados por meio de comandos inseridos pelos estudantes no computador.

— Softwares para criação — Programas como Squeak e Scratch possibilitam comandar personagens, combinar sons e imagens, criando narrativas animadas ou jogos simples. Eles são gratuitos e podem ser utilizados tanto em sala de aula quanto baixados no computador de casa para livre exploração (saiba mais logo abaixo).

DICA ZH

A seção de livros do site Computer Science Unplugged (http://www.csunplugged.org) oferece uma versão em português de um caderno de atividades a serem desenvolvidas em aula — sem computador — a fim de transmitir noções da linguagem binária usada pelas máquinas às crianças.

Na escola ou em casa

Alguns softwares, gratuitos, são oferecidos para familiarizar o usuário à lógica de programação. Podem ser utilizados pelas escolas ou em casa. Confira alguns dos mais conhecidos:

— Scratch — scratch.mit.edu

O programa, que tem versão em português e pode ser baixado de graça, permite criar jogos, música, histórias interativas, entre outras possibilidades.

— Squeak — squeakland.org

Um pouco mais complicado do que o Scratch, também gratuito, é apreciado por educadores que desejam um recurso um pouco mais desafiador. Tem versão em português, com algumas partes em inglês.

— Kodu — http://www.kodugamelab.com

Desenvolvido pela Microsoft, mas gratuito para ser baixado na versão para PC (também há versão para XBox), é um software criado especificamente para exercitar a lógica de programação por meio da criação de jogos. Como é em inglês, pode exigir auxílio de um adulto.

Em cursos específicos

— Cursos de formação

Se alguém desejar conhecimento mais aprofundado sobre uma linguagem de programação específica, pode se matricular em cursos oferecidos em escolas de informática ou pelo Senac, por exemplo (algumas opções estão disponíveis para idades a partir de 14 anos, por exemplo). Há desde cursos de alguns dias até alguns meses de duração, cujo custo pode variar de algumas centenas até alguns milhares de reais. Há também opções de cursos online.

— Nível superior

Instituições de nível superior oferecem cursos mais voltados para o aprendizado específico de determinadas linguagens de programação, para formar tecnólogos, e outros mais abrangentes, como o de ciência da computação, que dá uma visão mais ampla da tecnologia.

Por conta própria

Já estão disponíveis, na internet, uma série de recursos que permitem ao usuário aprender noções básicas das principais linguagens utilizadas na informática. Alguns deles se assemelham a cursos simples online. Confirma algumas possibilidades gratuitas:

Codecademy — http://www.codecademy.com

O site, que apresenta algumas áreas em português, oferece uma série de cursos online baseadas em exercícios apresentados em sequência. O aluno vai completando tarefa e acumulando recompensas como distintivos virtuais.

Code — http://www.code.org

A página da campanha, em inglês, oferece uma série de recursos específicos para estudantes e para professores e links para outras páginas de apoio. Apresenta material de apoio para educadores interessados em integrar a linguagem de programação a suas aulas.

Fundação Pensamento Digital — http://www.pensamentodigital.org.br

A ONG gaúcha tem uma página onde oferece informações sobre inclusão digital e uma seção de “oficinas” com várias informações sobre softwares que favorecem o ensino de programação.

Fonte: zerohora.clicrbs.com.br

Curso de C online e gratuito

cc

O site C Progressivo é um portal voltado exclusivamente ao ensino da linguagem de programação C, que é sem dúvidas a mais importante e usada no mundo, principalmente no meio GNU/Linux.
O site é totalmente online, gratuito e não é necessário clicar em nada ou fazer qualquer tipo de cadastro para ter acesso ao curso. O site é dividido em seções, que são dividias em capítulos, como se fosse um livro.
O site C Progressivo é, na verdade, uma apostila digital, com aulas, exemplos de códigos bem comentados, exercícios propostos, exercícios resolvidos e comentados, criação de jogos e aplicativos úteis.
Embora seja voltado para os iniciantes na linguagem, por apresentar conteúdo em uma forma simples, didática e com muitos exemplos, pode ser usado como referência para programadores em C, por ter todo seu conteúdo bem dividido.
Quem for totalmente iniciante em programação, poderá acessar a seção Comece a Programar, do site base Programação Progressiva, para saber o que é programação, linguagens de programação, para quê servem, onde são usadas e outras informações do tipo.
O diferencial do curso se encontra no Índice, pois lá você encontra a ordem certa para começa a programar em C.
Quem desejar um conteúdo mais específico, basta acessar diretamente:
Embora o conteúdo existente já seja maior e mais completos que muitos livros, apostilas e cursos presenciais por aí, assim como o site de Java, ele continuará sendo atualizado, principalmente com dúvidas e questões enviadas pelo leitores.
Como é um projeto totalmente gratuito e livre, contamos com seu apoio na divulgação (Likes, +1), com sugestões, indicação de aulas, erratas e críticas. Bons estudos.

Fonte e Créditos: aqui

Fonte: revista.espiritolivre.org