On the Current State of SG20
Study Group on Education: Past, Present, and Future
JC van Winkel
Florian
Sattler
Wednesday, June 14
Room: Nota
14:00 - 15:30 In session
15:30 - 15:45 afternoon break
15:45 - 17:30 In session
Agenda - Varna
Recap
The SG20 Workflow
WG21
Provide the distilled information through an online document
Collect wisdom from teachers and committee members.
Distill wisdom and information into guidelines for teachers.
Structure
Raw Document
sources
├── ...
├── modules
│ ├── compilation-model
│ │ ├── linkage.md
│ │ └── translation-units.md
│ ├── compile-time-programming
│ │ ├── concepts.md
│ │ ├── …
│ │ └── requires-expressions.md
│ ├── error-handling
│ ├── functions
│ ├── …
│ ├── type-system
│ └── user-defined-types
├── ...
Teaching Module:
A group of topics that are related.
Teaching Topic:
Collects and groups together important teaching information about a specific topic, subdividing the information into fundamental/main/advanced.
How topics are structured
All topics follow the same structure, laid out in P2193 and implemented as our topic skeleton (a template really, but ehhh, confusion)
Each topic is sub-divided into 3 levels:
Foundational and Main then each list:
Overview: How does our SG20 workflow currently work
Online Document
Pull Request
Changes
Tentative Ready
SG20 Meeting
Raw Document
SG20 approved
feedback
external feedback
How to contribute?
Contributor roles:
Note: All roles facilitate doing "snack sized" contributions, where a single "work item" takes 1 to 2 hours of work
If you’re interested, reach out ot JC van Winkel or Florian Sattler
How to get more buy-in from people?
Problem: Currently, the are only a few active people in SG20 that work on new teaching topics or extend existing ones. Far to few, to get a good coverage of C++. How can be integrate more people into the process and enable them to develop and extend teaching topics?
How to link topics and other material?
Potential types of links:
Problem: We need to link to other topics and external sources. What should the different semantics behind the links be? Meaning, what do we want/need to communicated to a curriculum designer. Does this link indicate a hard knowledge requirement, a good ordering, or just a hint?
Integrating Education (SG20) better into the overall committee process
Integrating Education better into the committee process
Problem: Currently, education is not a first class citizen and potential negative impacts of papers on the teachability are treated as an afterthought in the committee process. This is understandable to a degree, as the standard process and language design require a very high technical focus.
WG21
Committee Member (Language Expert)
C++ Standard
Integrating Education better into the committee process
Problem: Currently, education is not a first class citizen and potential negative impacts of papers on the teachability are treated as an afterthought in the committee process. This is understandable to a degree, as the standard process and language design require a very high technical focus.
WG21
Committee Member (Language Expert)
C++ Standard
Experts
Integrating Education better into the committee process
Problem: Currently, education is not a first class citizen and potential negative impacts of papers on the teachability are treated as an afterthought in the committee process. This is understandable to a degree, as the standard process and language design require a very high technical focus.
WG21
Committee Member (Language Expert)
C++ Standard
Experts
Advanced Users
Integrating Education better into the committee process
Problem: Currently, education is not a first class citizen and potential negative impacts of papers on the teachability are treated as an afterthought in the committee process. This is understandable to a degree, as the standard process and language design require a very high technical focus.
WG21
Committee Member (Language Expert)
C++ Standard
Experts
Users
Advanced Users
WG21
Integrating Education better into the committee process
Problem: Currently, education is not a first class citizen and potential negative impacts of papers on the teachability are treated as an afterthought in the committee process. This is understandable to a degree, as the standard process and language design require a very high technical focus.
WG21
Committee Member (Language Expert)
C++ Standard
Experts
Users
Advanced Users
WG21
"log"-scale
Integrating Education better into the committee process
Problem: Currently, education is not a first class citizen and potential negative impacts of papers on the teachability are treated as an afterthought in the committee process. This is understandable to a degree, as the standard process and language design require a very high technical focus.
Let’s work on some new topics
Let’s work on some new topics
Open Topics: (module name: topic name)
Timeline:
15:45 – 16:00 Intro
16:00 – 16:45 Group work
16:45 – 17:30 Discussion
Level Definitions
Foundational: This level gives the learner the idea that a facility exists, what benefits it offers, and the basic ways of using it.
E.g., Using user-defined literals
Main: This level shows mainstream uses and techniques. For abstraction and organizational mechanisms it also demonstrates how to build them. This level should also give the learner a basic (but not detailed) understanding of how a facility might be implemented so that the learner can have a first-order understanding of any costs involved.
E.g., Implementing custom user-defined literals
Advanced: This level gives information suitable for an expert. For most topics there is an expert level of knowledge that most programmers rarely need and techniques that require detailed understanding of language rules or library implementation.
E.g., Special user-defined literal syntax
Timeline:
15:45 – 16:00 Intro
16:00 – 16:45 Group work
16:45 – 17:30 Discussion