Quais linguagens de programação vocês ensinam?
A Khan Academy ensina JavaScript e SQL. Para saber sobre linguagens de marcação e de folhas de estilo, veja Quais linguagens de marcação e de folhas de estilo vocês ensinam?
Javascript
Em nosso currículo “Desenho & Animação”, ensinamos uma linguagem de programação chamada JavaScript, e ensinamos todos os conceitos básicos da linguagem JavaScript: variáveis, strings, arrays, funções, laços, objetos. Também incluímos uma biblioteca adicional em nosso ambiente de programação chamado ProcessingJS, onde obtemos a funcionalidade Desenho & animação a partir de funções como “rect()”, “ellipse()”, “fill()”, etc.
Além disso, em nosso artigo “HTML/JS: tornando páginas web interativas”, incluímos o DOM (do inglês Document Object Model - Modelo de Objeto de Documento) para métodos de acesso, modificação, eventos, animação e uso de bibliotecas JP. E em nosso artigo “HTML/JS: tornando páginas web interativas com jQuery”, incluímos algumas partes da biblioteca jQuery para simplificar o script de HTML para o cliente, especialmente a API do DOM.
Por motivos de segurança, nem todos os DOMs ou manipulações jQuery são permitidos na Khan Academy.
Usamos diversas ferramentas* para verificar se seu código JavaScript é válido antes de o executarmos. Quando encontramos algo de errado, lançamos uma mensagem de erro com uma descrição do problema. Por exemplo, essas ferramentas buscam:
- Erros de sintaxe: Estes acontecem quando o interprete não entende o seu código - por exemplo, se você escrever "var bla = [ };", seria muito confuso entender, por causa dos colchetes. Isso faria com que se desistisse de transformar o que foi escrito em código.
- Melhores práticas: Algumas partes da sintaxe de JS não são opcionais, como por exemplo, terminar seus statements com ponto e vírgula. Apesar disso, usar o ponto e vírgula é considerado uma "melhor prática", porque faz om que seu código seja proavelmente menos faltoso. Por isso nós recomendamos que todos os códigos usem ponto e vírgula.
- Convenções: Já que JS é uma linguagem bastante flexível e permite que se escreva a mesa coisa de maneiras diferentes, nós reomendamos algumas convenções para melhorar a consistência dos códigos na nossa comunidade, para que seja mais fácil que aprendamos uns com os outros. Por exemplo, JS permite declarar funções como "function funcName(){}” ou “var funcName = function(){}”, mas nossa plataforma somente permite somente a segunda opção.
- # de Argumentos: JS permite códigos que chamem funções com qualquer número de argumentos, mas nós percebemos que pode ser confuso quando, por exemplo, chama-se uma função com 3 parâmetros ao inves de 4, e não se consegue o resultado esperado. Então, nós temos uma ferramenta que sabe quantos argumentos são esperados em funções de ProcessingJS, como rect(), e nós enviamos um erro se você usar um número diferente de argumentos do que o esperado.
- Erros de grafia: Inglês pode ser uma língua difícil na grafia, e nós não gostaríamos que erros como esse interferíssem no aprendizado de programação. Então, quando encontramos uma marcação no seu código que nós não entendemos, nós vamos procurar saber se o que você escreveu é parecido com alguma outra palavra que conhecemos.
*Esprima, JSHint, biblioteca complementar BabyHint de Pamela Fox (https://gist.github.com/pamelafox/7745401)
SQL
Em nossa “Introdução a SQL: consulta e gerenciamento de dados”, ensinamos os conceitos básicos de uma linguagem de programação desenvolvida para gerenciar dados em um banco de dados relacional: SQL, ou Linguagem de consulta estruturada, na forma do dialeto SQLite. A introdução aborda a criação de tabelas, inserção, consulta e agregação de dados, junção de tabelas, bem como atualização e exclusão de dados.
Usamos várias ferramentas para verificar se seu código SQL é válido antes de o executarmos. Quando encontramos algo de errado, lançamos uma mensagem de erro que descreve o problema. Por exemplo, essas ferramentas buscam:
- Erros de sintaxe: Estes acontecem quando o interprete não entende o seu código - por exemplo, se você escrever "vegetariano{[] };", seria muito confuso entender, por causa dos colchetes. Isso faria com que se desistisse de transformar o que foi escrito em código.
- Erros de grafia: Inglês pode ser uma língua difícil na grafia, e nós não gostaríamos que erros como esse interferíssem no aprendizado de programação. Então, quando encontramos uma marcação no seu código que nós não entendemos, nós vamos procurar saber se o que você escreveu é parecido com alguma outra palavra que conhecemos.