Quem estiver procurando um curso minimamente estruturado de Javascript, que aborde conceitos interessantes da linguagem e não apenas formas de manipulação de DOM, aconselho este site: http://eloquentjavascript.net/. Algo que me chamou a atenção foi o fato do curso abordar tópicos de cursos básicos de teoria de computação (raramente abordados quando se fala em Javascript) como estruturas de dados, heaps, árvores binárias, algoritmos de busca e expressões regulares. Este texto se encaixa na teoria de que Javascript é uma linguagem real de programação, e não apenas uma ferramentinha pra deixar páginas web mais dinâmicas.