Shallow, broad and general introduction to programming
The purpose is to interest them in learning programming. More specifically, to give them a taste of some aspects of various languages, hoping that each will find something they like and, being naturally curious, they might pursue the subjects they liked a bit more.


Comparison of programming languages doesn't make sense until they've first mastered the basic concepts, so two weeks doesn't seem like enough time to get onto this. I think you'd be better off taking one language which supports functional and OOP styles, covering both, and then maybe doing a small Rosetta Code presentation in the last day or two, with a handout which they can refer to after the course has finished.

I'm also not convinced that the students' curiosity will work that way ("This idea of first class functions is fun: what can I do with it?"). I think that the hook should be that programming lets you do things which are fun and/or useful. The difficulty with coming up with examples is that no two students will agree 100% on what things are fun and/or useful. Games are a good bet for fun, although graphics tend to be complicated and you risk needing to dedicate lots of time to teaching/revising trigonometry and quadrature. I'm not sure whether today's youth would find text adventures fun. The concept of databases as useful is another reasonable bet: most people will collect something or follow a sport, and you can build and query structured data to enhance both of those. Pick a language which has easy serialisation and you don't need to bother with "real" databases (although maybe mention them in the handout).

Although I've never used it myself, Swift looks like a reasonable teaching language if you want compile-time typing. From looking at examples on Rosetta Code it seems to have clean syntax and support imperative, functional, or OOP styles.