-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathindex.html
More file actions
157 lines (125 loc) · 4.94 KB
/
index.html
File metadata and controls
157 lines (125 loc) · 4.94 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
<html>
<head>
<title>
Study group for C++ - from Journeyman to Master
</title>
</head>
<body>
<h1>
Study group for C++ - from Journeyman to Master<br>
</h1>
[this project is hosted on <a href="http://github.com/olvemaudal/cppsg">github</a>]
<br>
<ul>
<i>
If C gives you enough rope to hang yourself, C++ is a hardware
store with lots of helpful people ready to tie knots for you.
(Jack W. Reeves)
</i>
</ul>
The goal of this study group is to become <b>masters of C++ as a
group</b>, not only as a random bunch of clever individuals. Together
we will systematically build up our knowledge about this extremely
powerful but also difficult programming language.
<p>
First of all we will focus on learning the details of the language by
carefully reading through <b>the C++ book</b>, namely <a href="http://www.research.att.com/~bs/3rd.html">The C++ Programming Language</a> by
<a href="http://www.research.att.com/~bs/">Bjarne Stroustrup</a>.
The study group will be quiz-driven. We read 50 to 100 pages of
C++ theory every week. Then we meet for one hour to solve
and discuss related C++ questions. In the meetings we will also
discuss good and bad practices and we will learn about the hidden
gems and pitfalls of C++.
<p>
This is certainly not a beginners course in C++ and programming - it
is an <b>advanced study group</b>. We will keep a very high pace and everybody
is expected to prepare themselves properly before each meeting. The
amount of preparation needed before each meeting depends on your
background. Some might spend just 1-2 hours skimming through the pages
of theory before each meeting, while others will need to do a lot of
additional practical programming and exercises to be fully prepared
for the meetings.
<p>
As a pre-requisite for this study group everybody is expected to have
completed the book <a href="http://www.acceleratedcpp.com/">Accelerated C++</a> by
<a href="http://www.acceleratedcpp.com/authors/koenig/">Andrew Koenig</a> and
<a href="http://www.acceleratedcpp.com/authors/moo/">Barbara E. Moo</a>.
This is probably the best introductory text to modern C++, and it focuses
on how the language <i>should be</i> used more than how it <i>might be</i> used.
<p>
Each member of the study group will get a copy of these three books:
<p>
<a>
<table>
<td>
<a href="http://www.amazon.com/gp/product/020170353X">
<img src="AcceleratedCPP.png" height=150>
</a>
<td>
   
<td>
<a href="http://www.amazon.com/gp/product/0321113586">
<img src="CPPCodingStandards.png" height=150>
</a>
<td>
   
<td>
<a href="http://www.amazon.com/gp/product/0201700735">
<img src="stroustrup.png" height=150>
</a>
</table>
<p>
To prepare for each meeting, please read through the following chapters
in the Stroustrup book:
<pre>
Week #1 : (64 pages)
Chapter 1: Notes to the Reader
Chapter 2: A Tour of C++
Chapter 3: A Tour of the Standard Library
Questions for this meeting (<a href="quiz01.pdf">quiz</a>, <a href="quiz01_notes.pdf">quiz w/notes</a>)
Week #2: (74 pages)
Chapter 4: Types and Declarations
Chapter 5: Pointers, Arrays, and Structures
Chapter 6: Expressions and Statements
Questions for this meeting (<a href="quiz02.pdf">quiz</a>, <a href="quiz02_notes.pdf">quiz w/notes</a>)
Week #3: (78 pages)
Chapter 7: Functions
Chapter 8: Namespaces and Exceptions
Chapter 9: Source Files and Programs
Questions for this meeting (<a href="quiz03.pdf">quiz</a>, <a href="quiz03_notes.pdf">quiz w/notes</a>)
Week #4: (78 pages)
Chapter 10: Classes
Chapter 11: Operator Overloading
Questions for this meeting (<a href="quiz04.pdf">quiz</a>, <a href="quiz04_notes.pdf">quiz w/notes</a>)
Week #5: (54 pages)
Chapter 12: Derived Classes
Chapter 13: Templates
Questions for this meeting (<a href="quiz05.pdf">quiz</a>, <a href="quiz05_notes.pdf">quiz w/notes</a>)
Week #6: (72 pages)
Chapter 14: Exception Handling
Chapter 15: Class Hierarchies
Questions for this meeting (<a href="quiz06.pdf">quiz</a>, <a href="quiz06_notes.pdf">quiz w/notes</a>)
Week #7: (149 pages)
Chapter 16: Library Organization and Containers
Chapter 17: Standard Containers
Chapter 18: Algorithms and Function Objects
Chapter 19: Iterators and Allocators
Questions for this meeting (<a href="quiz07.pdf">quiz</a>, <a href="quiz07_notes.pdf">quiz w/notes</a>)
Week #8: (108 pages)
Chapter 20: Strings
Chapter 21: Streams
Chapter 22: Numerics
Questions for this meeting (<a href="quiz08.pdf">quiz</a>, <a href="quiz08_notes.pdf">quiz w/notes</a>)
Week #9: (100 pages)
Chapter 23: Development and Design
Chapter 24: Design and Programming
Chapter 25: Roles of Classes
Questions for this meeting (<a href="quiz09.pdf">quiz</a>, <a href="quiz09_notes.pdf">quiz w/notes</a>)
Week #10: (176 pages)
Appendix A: The C++ Grammar
Appendix B: Compatibility
Appendix C: Technicalities
Appendix D: Locales
Appendix E: Standard-Library Exception Safety
</pre>
</body>