Com a iniciativa Computing for All (#CSforall) do presidente Obama e o foco crescente em STEM (Ciência, Tecnologia, Engenharia e Matemática), chegamos a um ponto em que precisamos construir computadores para crianças É hora de padrões e melhores práticas na educação . A indústria concorda que a programação visual é a melhor maneira de ensinar ciência da computação e pensamento computacional às crianças. Isso pode eliminar a sintaxe de programação difícil e permitir que as crianças dominem com flexibilidade a essência da programação de software desde muito cedo.
Linguagem do logotipo aprimorada
Nos últimos cinquenta anos, os designers continuaram a melhorar a linguagem de programação Logo criada por Seymour Papert (Anotação LCTT: Alguns alunos deveriam ter visto a "pequena tartaruga") e um grande número de linguagens de programação com interfaces ligeiramente diferentes, mas o surgiram as mesmas ideias centrais. O padrão de ensino atual é baseado na programação de módulos (blocos), graças à popularidade da linguagem de programação Scratch do MIT. Os padrões de ensino de ciência da computação do ensino fundamental e médio da CSTA exigem a capacidade de programação para "construir e testar soluções usando uma linguagem de programação visual baseada em módulo" para as séries K-5 .
Ficando cada vez mais jovem
Outra tendência no ensino de ciência da computação é que o público está cada vez mais jovem. Estudos mostram que crianças a partir dos cinco anos de idade são capazes de compreender os conceitos de programação de computadores, pelo que esta é uma tendência inevitável. Para ensinar programação para crianças que ainda não sabem ler, é preciso evitar o uso de palavras. Cursos recentes de primeiro nível, como Scratch Jr e Code.org, usam ícones em vez de texto em linguagens de programação baseadas em módulos.
Programação de robôs
Ver seu código ganhar vida é algo mágico. Já no início deste século, a LEGO e o MIT colaboraram num projeto para trazer a programação baseada em módulos para o mundo real. Os alunos podem escrever programas em seus computadores e depois baixá-los nos robôs que construírem. O primeiro RIS (sistema de invenção robótica) parecia muito com o Scratch.
A versão 2013 do Lego Mindstorms faz quase as mesmas coisas que a versão anterior, embora tenha se tornado mais complexa. Agora é possível adicionar parâmetros de entrada ao módulo para especificar distância, tempo, saída, etc.
Martin Exner criou um infográfico conciso resumindo as linguagens de programação derivadas do Logo e, mais recentemente, do Scratch. Muitos derivados da linguagem Logo são centrados em cenários específicos, como a criação de jogos, a criação de ambientes de enredo em 3D, o desenho de imagens, a programação de robôs e até mesmo o controle de aquários virtuais. Esta abordagem agrada a uma variedade de crianças, mas muitas crianças ainda têm dificuldade em aprender a escrever um programa.
Ideias de programação baseadas em logotipo
Na vida real, a programação de computadores geralmente requer a consideração de vários tipos de entradas e o processamento dinâmico de vários julgamentos lógicos ao mesmo tempo. Vamos dar um exemplo simples do que fazer depois de levantar: se for sábado e domingo, vamos sair para brincar; se for segunda-feira, precisamos vestir roupa esportiva; se for quinta-feira, precisamos levar; jogue fora o lixo; não no fim de semana, nos dias em que precisamos ir à escola. A lógica implementada usando Scratch é mostrada abaixo.
Além dessas linguagens de programação baseadas em módulos, há uma nova linguagem que adota uma abordagem diferente para ensinar programação às crianças. Em 2015, a Wonder Workshop projetou uma nova linguagem de programação chamada Wonder, usando uma interface de programação baseada em stream . Wonder permite que os alunos se concentrem nas conexões de algumas unidades funcionais (ou declarações) predefinidas para construir uma máquina de estados. A qualquer momento, o robô está em um determinado estado, ele executa alguma ação e, dada alguma entrada, ele muda para realizar uma ação diferente.
A figura abaixo mostra como usar uma abordagem baseada em fluxo para determinar tarefas depois de se levantar.
Além de se afastar do paradigma da programação linear, esta linguagem de programação oferece uma abordagem diferente à computação que permite aos alunos simular respostas a mudanças do mundo real de uma forma fácil de entender. Os alunos podem mais facilmente dividir os problemas em partes menores e depois usar essas partes para resolver problemas complexos. Os alunos só precisam se concentrar em um problema de cada vez ao resolvê-los. Esse processo é chamado de decomposição, que é tanto o conhecimento básico na área de informática quanto o propósito do design do Wonder.
Existem muitos exemplos de robôs e máquinas de estado em nossas vidas diárias, e eles estão se tornando cada vez mais comuns. Quando você coloca a combinação correta de moedas, a máquina de venda automática lhe dará a comida correspondente. Um carro autônomo decidirá como se mover com base nos obstáculos ao seu redor. As máquinas de estado também podem modelar uma ampla gama de problemas, incluindo análise de linguagem, inteligência artificial, protocolos de comunicação, mudanças de personagens em jogos e até redes neurais.
À medida que os robôs se tornam mais amplamente utilizados, os professores estão sendo treinados para usar a programação baseada em módulos como padrão para ensinar ciência da computação às crianças. À medida que chega a cada vez mais salas de aula, deveríamos nos perguntar se esta é a direção certa. Existe alguma outra maneira melhor de ensinar programação de computadores às crianças?
Os recursos piratas de "Celebrating More Than Years 2" foram carregados no npm, fazendo com que o npmmirror tivesse que suspender o serviço unpkg da Microsoft na China fez as malas coletivamente e foi para os Estados Unidos, envolvendo centenas de pessoas . biblioteca de visualização front-end e o conhecido projeto de código aberto ECharts do Baidu - "indo para o mar" para apoiar os golpistas de peixes usaram o TeamViewer para transferir 3,98 milhões! O que os fornecedores de desktop remoto devem fazer? Zhou Hongyi: Não resta muito tempo para o Google. Recomenda-se que todos os produtos sejam de código aberto. Um ex-funcionário de uma conhecida empresa de código aberto deu a notícia: Após ser desafiado por seus subordinados, o líder técnico ficou furioso e. demitiu a funcionária grávida. O Google mostrou como executar o ChromeOS em uma máquina virtual Android. Por favor, me dê alguns conselhos: qual é o papel do time.sleep(6) aqui? A Microsoft responde aos rumores de que a equipe de IA da China está "fazendo as malas para os Estados Unidos" Comentários do People's Daily Online sobre a cobrança semelhante a matryoshka do software de escritório: Somente resolvendo ativamente "conjuntos" podemos ter um futuro