C++ Logo

sg20

Advanced search

[SG20] Feedback for p1725r0 - Modular Topic Design

From: Yehezkel Bernat <yehezkelshb_at_[hidden]>
Date: Tue, 25 Jun 2019 17:52:01 +0300
Hi,

In the pre-Cologne mailing, Christopher Di-Bella published a new paper
targeted sg20.
The paper is p1725r0 - Modular Topic Design (https://wg21.link/p1725r0).
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
- a few basic types (probably those that were suggested in p1389r0
[types.basic.primary]
<http://wg21.link/p1389r0#typesbasicprimary-primary-types> (<shameless
plug>but see p1747 <http://wg21.link/p1747> about `char8_t` and
`u8string`</shameless plug>)
- 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

Received on 2019-06-25 09:54:10