Thanks for the four C's Des, CRAP, I like it!

To be honest this post was about the CS100 style "principles of computer programming" courses which introduce students to programming rather than a post about what students should learn in their entire first year or what programming they should learn in their entire degree.

Everything people have mentioned is important, but all of it needs to be set on a solid foundation of CRAP :) Mind you, I think CRAP is not quite inclusive enough. The concepts of IO and exception handling are also pretty fundamental as are the concepts of object orientation but they are definitely less fundamental than CRAP and if you don't know CRAP you can't possibly get OO.

I worry when I hear about people introducing people to programming by getting them to write GUI apps and use libraries. The linked article implied that Java was bad because people use it like that. The problem there of course isn't Java, it's forgetting to teach CRAP first!

I really like this whole CRAP idea .... will have to use it more often in conversation :)

Bart.