I've planned a shallow and broad curriculum for a summer program (5 days a week for 2 weeks, 9:00 to 17:00) or sorts, and the flow of the subjects seems flawed.
The students are gifted (not a prerequisite, but most of them are) highschoolers with either no background in programming, or very little background.
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.
The curriculum I have in mind is more or less:
- Intro to the simplest of things
printf("Hello World!\n");and the like
- most importantly, introduction to types.
- very brief overview of OOP, just at the concept level
- "Things" are described in
classes which have properties etc.
- Intro to functional programming. Again, just at the concept level
- "Things" are described with functions.
- finish with small tasks for them to get some hands on experience and things to show their friends
As I see it, the main issue is, for lack of a better word, synergy. Subjects 2 and 3 seem highly disconnected. Moreover, I fear that for the students, the things they learnt in
C++ will seem "pointless", since most of them will think that they don't use those concepts and ideas in the tasks in part 4.
Might there be a simple or neat "trick" to connect the two subjects?
PS: Any other suggestions regarding the partial curriculum I outlined are also welcome. It's the first I've built from nothing