Hi,
In the pre-Cologne mailing, Christopher Di-Bella published a new paper targeted sg20.
This paper follows previous discussions (that I missed somehow) that suggested changing the model used to create our teaching guidelines.
First, nicely done! I agree with this direction myself and think this will improve the produced guidelines quality and usability.
I'd like to share some thought and comments about it, especially as I can't attend the telecons and have no plans to attend the committee meetings in the near future.
1. List of modules/units (module units? :) )
I'm missing modules that are designed around a programming paradigm. I think more (academic) courses are designed around a paradigm than around a technical topic.
The two obvious examples are Object-Oriented programming and Generic programming. Maybe Functional programming should be there too? (Probably about using STL and vocabulary types like std::optional, std::variant and std::function)
2. Having a common basic module
As the target students including students that are new to programming, we need a basic module which is prerequisite to every other module. This basic module teaches the basics of programming (using C++), including:
- the basic concept of variable/object
- flow control
- basic understand of functions (just the very basic of few of the topics currently suggested for Functions module)
3. Maybe a separated basic module for programmers coming from other languages? Just to adapt what they already know to C++ way.
4. Functions module
I think it should include also recursion (see my #4)
Thanks
Yehezkel