Eu sou interessante no ensino de programação para alunos do ensino médio. Eu gostaria de uma linguagem de programação com os seguintes critérios:
- Simples - reduzido ao mínimo absoluto necessário para oferecer suporte a programação sofisticada sem muito código. Como tal, para esta linguagem, não estou interessado em indicadores e estou cansado da orientação a objetos (embora as funções sejam boas).
- Poderoso - eu gostaria de poder programar elementos do século XXI, incluindo gráficos, redes e processamento distribuído.
- Depurável - eu gostaria de um ambiente de desenvolvimento integrado elegante com um depurador legível por humanos (ou seja, não uma mensagem de erro estranha com um rastreamento de pilha, mas uma explicação clara que um estudante médio do ensino médio pode usar para determinar o que há de errado com o código) .
As linguagens de programação padrão (C, C ++, C #, Java) falham no primeiro critério. Linguagens de programação básicas como o Scratch falham no segundo (e possivelmente terceiro) critério. Linguagens de script (perl, python, php) falham no último critério.
Eu gostaria de saber se alguém conhece uma fera assim, antes de eu me sentar para fazer as pazes.
programming-languages
education
Ari Trachtenberg
fonte
fonte
Respostas:
Eu recomendo Javascipt.
fonte
Talvez você deva procurar no Racket (formalmente conhecido como Scheme, uma derivação do Lisp). É o idioma ensinado aos alunos do primeiro ano do ensino médio da minha universidade. Como é uma linguagem de programação funcional, a sintaxe e os conceitos são bastante simples em comparação com o C / C ++, existem várias bibliotecas que podem fazer algumas coisas básicas relacionadas ao desenho ou à rede e o Dr. Racket como vários recursos de depuração ... incluindo um Stepper ( ou seja, ele mostrará e executará uma substituição de cada vez quando você clicar no botão "próximo"). Eu acho que vale a pena olhar para: http://racket-lang.org/ . Ele tem vários outros recursos que você pode gostar, como módulos de ensino (iniciante, intermediário, avançado, níveis completos de aluno) e boa documentação e exemplos. O livro: Como criar um programa ( http: //www.htdp.) é uma excelente referência de ensino para esse idioma, com alguns bons exemplos usando algumas das bibliotecas que mencionei acima.
fonte
Se você decidir que o Python pode funcionar para você, eu daria uma olhada no Jython Environment for Students (JES). Existem algumas ferramentas bacanas de depuração, incluindo um "observador" que permite escolher variáveis a serem observadas. Você pode controlar as etapas ou deixá-lo ir rapidamente. Eu usei esse IDE com alunos do ensino médio em um programa de verão com sucesso, mas também o uso em um curso introdutório no nível universitário. As bibliotecas de computação de mídia também são divertidas. Os alunos dos meus cursos gostaram de editar imagens e sons. Também há suporte para fazer animações.
Eu não o usei para redes e processamento distribuído. Existem exemplos no livro de computação de mídia de Guzdial e Ericson para tópicos como bancos de dados e programação funcional, incluindo procedimentos de ordem superior. Você pode fazer coisas regulares do Python no JES, mas ele oferece suporte extra para coisas da mídia.
fonte
Você provavelmente deve usar o Visual Basic. É simples, você pode facilmente fazer o aplicativo da lista de contatos, juntamente com alguns jogos simples da GUI. Você também pode depurá-lo. Se sua escola estiver disposta a distribuir a massa, você poderá obter uma assinatura do dreamspark . Eu acho que vai prender a atenção dos alunos.
fonte
Python é uma linguagem "quase pseudocódigo" que é poderosa o suficiente para fazer programação "real" (a maioria das ferramentas administrativas no Fedora Linux, por exemplo, são escritas em Python), possui extensões simples de usar para interfaces gráficas / gráficas, pode lidar com grandes problemas numéricos (as pessoas usam o NumPy para isso), muita programação na web é feita nele, vários programas o utilizam como linguagem de extensão. Há uma biblioteca extensa e muitos sistemas maiores escritos nela. Portanto, não é uma linguagem de brinquedo, aprendendo é útil mais tarde.
Olhe para a sua página inicial , existem implementações maduras disponíveis para praticamente qualquer plataforma que você possa cuidar. É grátis (não apenas com custo zero). Há extensa documentação disponível, uma pesquisa no Google por "tutorial em python" fornece milhões de acessos. Um tutorial prático da Web é o Aprenda Python . Para um curso de programação introdutório usando Python, considere o Think Python de Downey .
fonte
você exclui os riscos desenvolvidos pelo MIT, que parecem atender a alguns dos critérios. de qualquer forma, aqui estão duas línguas mais recentes que merecem consideração.
Vá pelo google. projetado para compilação rápida. aqui estão os objetivos de design
Swift by Apple para desenvolvimento móvel. projetado para ser uma alternativa menos complexa ao objetivo C. da Apple
O node.js é mais recente e basicamente projetado para expandir os recursos do Javascript para o lado do servidor e incluir recursos de rede.
fonte
Você já viu o Newspeak? O Newspeak é uma variante moderna do Smalltalk. Então, sim, é orientado a objetos, mas no sentido de Alan Kay, e não no sentido do Simula 67.
Dito isto, se eu estivesse ensinando programação para o ensino médio, abandonaria o requisito do depurador e ensinaria algo mais como Haskell.
fonte