Skip to content

Commit f11bd5c

Browse files
committed
Initial setup for pass-by-reference topic
resolves #39
1 parent e657d2f commit f11bd5c

File tree

3 files changed

+112
-0
lines changed

3 files changed

+112
-0
lines changed

Readme.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,45 @@
88
# SG20: Teaching Topics
99

1010
## Modules:
11+
* [Compile-time programming](#compile-time-programming)
12+
* [Meta-error handling](#meta-error-handling)
1113
* [C++ object model](#c-object-model)
14+
* [Program design](#program-design)
1215
* [User-defined types](#user-defined-types)
1316
* [Functions](#functions)
1417

18+
### Compile-time programming
19+
* [requires-clause](compile-time-programming/requires-clause.md)
20+
* [concepts](compile-time-programming/concepts.md)
21+
* [requires-expressions](compile-time-programming/requires-expressions.md)
22+
* [function-templates](compile-time-programming/function-templates.md)
23+
24+
### Meta-error handling
25+
* [static_assert](meta-error-handling/static_assert.md)
26+
1527
### C++ object model
1628
* [rule-of-five](object-model/rule-of-five.md)
1729
* [constant-objects](object-model/constant-objects.md)
1830
* [special-member-functions](object-model/special-member-functions.md)
1931
* [declarations](object-model/declarations.md)
2032
* [objects](object-model/objects.md)
33+
* [constructors](object-model/constructors.md)
34+
* [pass-by-reference](object-model/pass-by-reference.md)
2135
* [types](object-model/types.md)
2236
* [copy-semantics](object-model/copy-semantics.md)
2337
* [rule-of-zero](object-model/rule-of-zero.md)
2438
* [move-semantics](object-model/move-semantics.md)
2539

40+
### Program design
41+
* [concepts](compile-time-programmings/concepts.md)
42+
2643
### User-defined types
2744
* [user-defined-literals](functions/user-defined-literals.md)
2845

2946
### Functions
47+
* [defaulted-parameters](functions/defaulted-parameters.md)
48+
* [calling-functions](functions/calling-functions.md)
49+
* [pass-by-reference](object-model/pass-by-reference.md)
3050
* [user-defined-literals](functions/user-defined-literals.md)
51+
* [member-functions](functions/member-functions.md)
3152

functions/pass-by-reference.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
See [pass-by-reference](../object-model/pass-by-reference.md).

object-model/pass-by-reference.md

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# Module name: Passing parameters by reference
2+
_Skeleton instructions are typeset in italic text._
3+
4+
## Overview
5+
6+
_Provides a short natural language abstract of the module’s contents._
7+
_Specifies the different levels of teaching._
8+
9+
<table>
10+
<thead>
11+
<th>Level</th>
12+
<th>Objectives</th>
13+
</thead>
14+
<tr>
15+
<td>Foundational</td>
16+
<td></td>
17+
</tr>
18+
<tr>
19+
<td>Main</td>
20+
<td></td>
21+
</tr>
22+
<tr>
23+
<td>Advanced</td>
24+
<td></td>
25+
</tr>
26+
</table>
27+
28+
## Motivation
29+
30+
_Why is this important?_
31+
_Why do we want to learn/teach this topic?_
32+
33+
## Topic introduction
34+
35+
_Very brief introduction to the topic._
36+
37+
## Foundational: Using *
38+
39+
### Background/Required Knowledge
40+
41+
A student:
42+
43+
44+
### Student outcomes
45+
46+
_A list of things "a student should be able to" after the curriculum._
47+
_The next word should be an action word and testable in an exam._
48+
_Max 5 items._
49+
50+
A student should be able to:
51+
52+
1.
53+
2.
54+
3.
55+
4.
56+
5.
57+
58+
### Caveats
59+
60+
_This section mentions subtle points to understand, like anything resulting in
61+
implementation-defined, unspecified, or undefined behavior._
62+
63+
### Points to cover
64+
65+
_This section lists important details for each point._
66+
67+
## Main: implementing *
68+
69+
### Background/Required Knowledge
70+
71+
* All of the above.
72+
73+
### Student outcomes
74+
75+
A student should be able to:
76+
77+
1.
78+
2.
79+
3.
80+
4.
81+
5.
82+
83+
### Caveats
84+
85+
### Points to cover
86+
87+
## Advanced
88+
89+
_These are important topics that are not expected to be covered but provide
90+
guidance where one can continue to investigate this topic in more depth._

0 commit comments

Comments
 (0)