Hi Rebecca With due respect to the discussion on relative merits of Java, Haskell, Miranda, Python etc. of which consensus is undesirable anyway (imho).
Many students disengage at the first mention of language basics. But they desperately want to make something themselves, generally a game. Could I suggest you consider the goal (and thus the design) of the introductory course to be more important than types, loops, conditionals syntax etc. Design the learning environment around achieving a concrete goal (game), give plenty of starting points, working prototypes, even finished product that could be re-tasked. Structure perhaps as tutorials bookending self-directed learning stages, with sufficient support from more experienced programmers. Consider adopting some of the methods and practices of Problem Based Learning (PBL) which emphasises group aspects of learning in teams and as a consequence also develops the students' social and organisational maturity. Thinking in terms of best Language, programming environment, IDEs etc really gets in the way and shouldn't be the subject matter of or in itself for beginners or anyone else. Regards Allen -- The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England & Wales and a charity registered in Scotland (SC 038302).