I'm a full-time javascript developer and entrepreneur myself, but I'm wondering why you don't consider Scheme instead, basing the course on the How to Design Programs v2 curriculum?
The people behind that book have spent a lot of time thinking about how you teach programs to people.
More importantly, they focus on problem decomposition and concepts that provide a great foundation for growing.
The reasons I can see for using Javascript first is because everyone has a runtime available at their fingertips (M. Haverbeke's approach of including the console was great.) and because people can immediately see the utility of the language to real world needs.
But does Javascript provide the best foundation for future concepts? Does it teach good habits both mental and in practice?
The people behind that book have spent a lot of time thinking about how you teach programs to people.
More importantly, they focus on problem decomposition and concepts that provide a great foundation for growing.
The reasons I can see for using Javascript first is because everyone has a runtime available at their fingertips (M. Haverbeke's approach of including the console was great.) and because people can immediately see the utility of the language to real world needs.
But does Javascript provide the best foundation for future concepts? Does it teach good habits both mental and in practice?
Ref: The Structure and Interpretation of the Computer Science Curriculum http://www.ccs.neu.edu/racket/pubs/jfp2004-fffk.pdf