de nível secundário, do núcleo de ciência da computação (CS) conceitos e práticas são ministradas em cursos normalmente dentro de TI (tecnologia da informação) da carreira de cluster sob o guarda-chuva de carreira e educação técnica (CTE). No entanto, os conceitos e práticas de CS também estão sendo cada vez mais incorporados aos acadêmicos e também às disciplinas eletivas (e são influenciados pela arte e pelo design). Não importa a disciplina, a criação de artefatos computacionais é uma das principais práticas de CS que os alunos devem experimentar consistentemente para se tornarem melhores solucionadores de problemas. Artefatos computacionais podem incluir imagens, vídeos, apresentações, arquivos de áudio e programas de computador.
a prática precisa e consistente em programação de computadores (CP) ajudará os alunos a construir conhecimentos curriculares cruzados em conjunto com conceitos e práticas acadêmicas e de CS. Como CP é o processo de escrever um programa do início ao fim, os alunos recebem exposição na fusão de práticas 3-6 encontradas na estrutura de Ciência da computação do K-12.
então, como podemos envolver com sucesso os alunos em CP? Veja como podemos fazer isso em quatro etapas principais.
Etapa 1: Identifique o problema
quando os alunos são novos no CP, normalmente começamos a ensiná-los a programar e codificar usando tutoriais. Embora não haja nada de errado com isso, não queremos mantê-los lá.
Normalmente, o escritor de um tutorial já identificou o problema e a solução do programa. A melhor maneira de as crianças aprenderem é escrevendo seus próprios problemas e soluções e criando seus próprios programas. Caso contrário, eles se concentrarão mais em aprender a codificar funções específicas em um idioma específico, que geralmente não é diferente da memorização mecânica, que deve ser substituída pelo desenvolvimento da memória de trabalho.
identificar (ou definir) o problema é a parte mais crítica do processo de CP, pois os alunos precisarão desenvolver um plano concreto para o que seu programa completo fará. Esse processo envolve identificar as entradas conhecidas (ou dados fornecidos) e o que deve ser obtido por meio de saídas (o resultado). Embora o CP não seja um processo simples, a prática consistente e precisa aumentará a confiança dos alunos ao longo do tempo na articulação dos detalhes sobre o tipo de entrada, processamento e saída desejados para seus programas. Os alunos começaram na programação, leia esta ótima introdução para uma lição para a construção e compartilhamento de aplicativos Code.org.
Passo 2: Encontrar uma solução
localizar ou planejar a solução para o problema identificado na Etapa 1, os alunos podem criar um fluxograma ou escrever o pseudocódigo. Programadores experientes podem e usarão qualquer um desses métodos para transmitir o desenvolvimento de programas a clientes, professores, etc.
um fluxograma é uma solução passo a passo para um problema que usa uma representação pictórica da direção do programa e consiste em setas, Caixas e outros símbolos que representam ações (ou seja, entrada/saída, processo, etc.). Pseudocódigo é semelhante ao inglês e é usado para transmitir a solução com mais precisão do que em inglês simples — mas com menos meticulosidade exigida por uma linguagem de programação formal.
o processo de solução permite que o programador se concentre no fluxo lógico do programa sem ter que aderir à sintaxe real usada pela linguagem de programação para o projeto. Confira esta divertida lição de Tecnovação para ajudar seus alunos a planejar seu código.
Passo 3: Codifique
muitas vezes a codificação é confundida com a programação, mas a codificação é apenas uma parte do processo de programação. Bons codificadores podem criar instruções a partir das soluções (discutidas na Etapa 2) e escrevê-las em código para o computador entender. É aqui que as habilidades de design algorítmico do pensamento computacional entram em jogo.
ajuda quando você pensa no seu problema como um problema matemático, não porque você está sempre fazendo muita matemática durante a programação, mas porque o processo de pensamento é o mesmo. Em matemática, muitas vezes usamos conjuntos algorítmicos de instruções que seguimos em uma sequência de etapas para atingir um objetivo. Esse processo é comparado a um fluxograma e código bem detalhados (em uma linguagem de programação específica). Praticar a codificação ajudará os alunos a entender que a codificação não é complicada quando aprendem a pensar logicamente e em etapas. Começar os alunos escrevendo programas simples os ensinará a dar instruções aos computadores, como os computadores realmente funcionam e que bons codificadores não são vagos e não pulam etapas. Eles também entenderão que o código que escrevem é processado (traduzido) por um compilador em linguagem de máquina para execução.
para crianças novas na codificação, recomendo começar com uma linguagem de programação visual (VPL), que permite que as crianças descrevam seus algoritmos usando ilustrações e permite que os codificadores descrevam o processo em termos que fazem sentido para eles.
Aqui estão alguns VPLs populares:
- Zero, ScratchJr
- Blockly
- Ardublock (bloco de linguagem de programação para o Arduino)
- ROBOLAB (linguagem de programação para Robótica LEGO)
- ROBOTC (gráfica para VEX Robotics)
- LabVIEW (National Instruments)
Apesar de existirem várias maneiras de obter os alunos passaram na codificação, Eu recomendo toda a sua escola participar de uma Hora de Código e também ensinar as crianças ao código dentro do contexto de uma HASTE/VAPOR desafio de design.
Passo 4: Test it
o teste em CP é um processo crítico usado para determinar a qualidade de um programa e encontrar bugs (problemas). Como estagiário Universitário, fui apresentado pela primeira vez ao teste e depuração de controles ActiveX na Linguagem de programação Visual Basic. Embora o teste tenha níveis diferentes e determine se os programas funcionam ou não — trabalhar para encontrar bugs para os desenvolvedores de software corrigir foi muito poderoso para me ajudar a entender a qualidade dos programas que usei todos os dias e também a importância de atualizá-los regularmente.
exigir que os alunos apresentem seu trabalho publicamente, é uma excelente técnica para engajar e incutir neles a importância do processo de teste para discutir e mostrar o trabalho de CS de alta qualidade. Novamente, o App Lab (na Etapa 1) é uma ótima lição e projeto para ajudar as crianças a aprender CP do início aos testes.
CP para diferentes níveis de notas
a programação de Computadores pode ser ensinada em todos os níveis de notas. Aqui estão algumas ferramentas para usar com várias idades e níveis de alunos.
graus 3-8: kit de código littleBits. O kit de código vem equipado com blocos de construção eletrônicos e um aplicativo com tutoriais de codificação, e é um excelente andaime para ensinar aos alunos os conceitos de codificação, luz, som e movimento no contexto de um desafio ou invenção de design.
o que eu acho mais poderoso sobre o kit de código é o aplicativo porque ajuda os usuários a se basearem em princípios básicos de codificação. Um bom codificador, não importa a linguagem ou a experiência de codificação, precisará entender o básico-como entrada/saída, loops, funções, variáveis e também lógica. O sucesso sempre se relaciona com o desenvolvimento do autodomínio interno dos fundamentos. Como o Dr. Stephen R. Covey, autor de Os 7 Hábitos de Pessoas Altamente Eficazes, disse uma vez: “coloque as primeiras coisas em primeiro lugar.”
o kit de código também funciona em conjunto com todos os recursos educacionais que um educador precisaria, incluindo planos de aula, folhetos de alunos e alinhamento com os padrões científicos da próxima geração. Muitos dos recursos foram testados e desenvolvidos pelo littleBits lead Educator Cohort de 2017 e, como um membro orgulhoso, tive a sorte de ter trabalhado e aprendido com um grupo tão talentoso de educadores!
graus 6-8: robótica. Começar as crianças na programação é bastante fácil. No meu papel anterior como especialista em currículo, usamos o robô Lego Mindstorms como introdução. Esses foram os passos que tomamos para ajudar as crianças a entender os conceitos-chave, bem como a programação:
- Construa seus robôs. Praticamente todas as crianças adoraram essa parte.
- Aprenda o básico. Através da exploração de Tutoriais, eles aprenderam sobre motores, sensores, engrenagens e outros componentes.
- Aprenda a programar. O tijolo tinha seis missões embutidas, o que permitiu aos alunos ver como fazer o robô se mover com motores e responder ao toque ou movimento com sensores. À medida que se acostumavam com os programas integrados, começaram a fazer seus próprios programas, usando blocos de programação ROBOLAB.
- conecte ao CS e à haste. Descobrimos que isso ajudou muito a elucidar os conceitos e a prática do reconhecimento de padrões e do design algorítmico. E então, é claro, lições em CS e STEM, que incluíam codificação, força e movimento, design e Tecnologia. Também descobrimos que o VEX IQ Kit era ótimo para fins semelhantes e usamos VEX e Lego, com base nos diferentes eventos competitivos em que nossos alunos participaram.
graus 8-12: robótica avançada. Para estudantes do ensino médio que já praticaram codificação usando um VPL e têm ou estão dominando princípios fundamentais de programação, o próximo passo é obtê-los codificando em uma linguagem de programação procurada pelo setor, como JavaScript, Python, Pearl ou C++. Felizmente, programar um robô como o VEX EDR dá aos alunos do ensino médio uma introdução a essa valiosa experiência de aprendizado. Os alunos que programam o VEX EDR aprendem a usar a linguagem de programação baseada em ROBOTC C e podem ver os efeitos do código que escrevem em tempo real, resolvendo problemas usando o processo de design de engenharia.Recentemente, comecei a programar o VEX EDR quando participei de um curso de Engenharia de Design com a International Technology and Engineering Educator’s Association. Foi lá que conheci e fiz parceria com Tim oltman — o professor do ano da Martha Layne Collins High school. Ele e seu colega professor Shane Ware têm uma experiência considerável ensinando crianças a programar robôs para vários eventos competitivos da VEX robotics e ganharam vários prêmios Em Kentucky. Eu pedi a Tim seus pensamentos sobre como os professores devem proceder ao mover as crianças da programação em um VPL para um programa baseado em C como para VEX, e ele disse: “Primeiro, construa relacionamentos com seus alunos e depois aprenda com eles. Deixe-os ver você tentar falhar, e eles vão gostar de lutar através do processo com você. Eventualmente, eles vão superar você e se tornar os professores.”
Jorge Valenzuela é treinador educacional e Assistente de ensino de pós-graduação na Old Dominion University. Ele também é o treinador principal da Lifelong Learning Defined, Inc., uma Faculdade Nacional do Buck Institute for Education, um coach Nacional de eficácia de professores com a International Technology and Engineering Educators Association (ITEEA) e parte do Programa de educadores líderes para littleBits. Você pode se conectar com Jorge no Twitter @JorgeDoesPBL para continuar a conversa.