回答編集履歴

6

「理解した」と「覚えた」を明確に分けた

2019/12/20 04:05

投稿

BluOxy
BluOxy

スコア2663

test CHANGED
@@ -2,13 +2,13 @@
2
2
 
3
3
 
4
4
 
5
- 「`A`を覚えるには`B`という前提知識が必要だ。ならば、`B`を覚えない限り`A`を覚えることはできないはずだ」
5
+ 「`A`を理解するには`B`という前提知識が必要だ。ならば、`B`を理解できない限り`A`を理解することはできないはずだ」
6
6
 
7
7
  という前提で学習してください。
8
8
 
9
9
 
10
10
 
11
- 実際にはフィーリングで覚えてしまうこともあるかもしれませんが、その覚えだけに頼ると後で痛い目に合います。
11
+ 実際にはフィーリングで覚えてしまうこともあるかもしれませんが、その学習に頼ると後で痛い目に合います。
12
12
 
13
13
 
14
14
 
@@ -22,11 +22,11 @@
22
22
 
23
23
  書籍の例題(`A`)を見ながら**フィーリングで**覚えてはいけません。
24
24
 
25
- 用語(`B`)を覚えてから次のステップに進んでください。
25
+ 用語(`B`)を理解してから次のステップに進んでください。
26
26
 
27
27
 
28
28
 
29
- 下記を人に解説できれば、解説できた分は覚えたと言えます。
29
+ 下記を人に解説できれば、解説できた分は理解したと言えます。
30
30
 
31
31
  - 用語の意味
32
32
 
@@ -86,7 +86,7 @@
86
86
 
87
87
  **何度も言います。**
88
88
 
89
- 「`A`を覚えるには`B`という前提知識が必要だ。ならば、`B`を覚えない限り`A`を覚えることはできないはずだ」
89
+ 「`A`を理解するには`B`という前提知識が必要だ。ならば、`B`を理解できない限り`A`を理解することはできないはずだ」
90
90
 
91
91
  という前提で学習してください。
92
92
 
@@ -108,7 +108,7 @@
108
108
 
109
109
 
110
110
 
111
- ## 例題を見て覚えた人が誤った学習をするケース
111
+ ## 例題を見て覚えた人が誤った学習をするケース
112
112
 
113
113
 
114
114
 
@@ -178,13 +178,13 @@
178
178
 
179
179
 
180
180
 
181
- 「`A`を覚えるには`B`という前提知識が必要だ。ならば、`B`を覚えない限り`A`を覚えることはできないはずだ」
181
+ 「`A`を理解するには`B`という前提知識が必要だ。ならば、`B`を理解できない限り`A`を理解することはできないはずだ」
182
182
 
183
183
  という前提で学習してください。
184
184
 
185
185
 
186
186
 
187
- つまり、前のページ辺りに載っている機能の説明(`B`)を覚えてから例題(`A`)を見てください。
187
+ つまり、前のページ辺りに載っている機能の説明(`B`)を理解してから例題(`A`)を見てください。
188
188
 
189
189
 
190
190
 

5

文章の修正

2019/12/20 04:05

投稿

BluOxy
BluOxy

スコア2663

test CHANGED
@@ -188,7 +188,7 @@
188
188
 
189
189
 
190
190
 
191
- そしたら、仮に私のような人物から突っ込まれたときに、あなたは「○○ページの△行目にこの機能はこういう書き方ができるって書いてありますよ。**知らないんですか?**」と正しい根拠を持って言い返すことができるようになります。
191
+ そしたら、仮に私のような人物から突っ込まれたときに、「○○ページの△行目にこの機能はこういう書き方ができるって書いてありますよ。**知らないんですか?**」とあなたは正しい根拠を持って言い返すことができるようになります。
192
192
 
193
193
 
194
194
 

4

強調

2019/12/20 03:46

投稿

BluOxy
BluOxy

スコア2663

test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  「`A`を覚えるには`B`という前提知識が必要だ。ならば、`B`を覚えない限り`A`を覚えることはできないはずだ」
6
6
 
7
- 考えてください。
7
+ いう前提で学習してください。
8
8
 
9
9
 
10
10
 
@@ -76,7 +76,7 @@
76
76
 
77
77
 
78
78
 
79
- こういった概念レベル知識をある程度おさえておかないと、「とりあえず書いてみること」はできません。
79
+ 概念レベル知識をある程度理解しておかないと、「とりあえず書いてみること」はできません。
80
80
 
81
81
 
82
82
 
@@ -84,11 +84,11 @@
84
84
 
85
85
 
86
86
 
87
- 何度も言います。
87
+ **何度も言います。**
88
88
 
89
89
  「`A`を覚えるには`B`という前提知識が必要だ。ならば、`B`を覚えない限り`A`を覚えることはできないはずだ」
90
90
 
91
- 考えてください。
91
+ いう前提で学習してください。
92
92
 
93
93
 
94
94
 
@@ -180,7 +180,7 @@
180
180
 
181
181
  「`A`を覚えるには`B`という前提知識が必要だ。ならば、`B`を覚えない限り`A`を覚えることはできないはずだ」
182
182
 
183
- 考えてください。
183
+ いう前提で学習してください。
184
184
 
185
185
 
186
186
 

3

追記に対する回答を追加

2019/12/20 03:45

投稿

BluOxy
BluOxy

スコア2663

test CHANGED
@@ -59,3 +59,137 @@
59
59
 
60
60
 
61
61
  もしフィーリングで**全てを**理解できるなら勉強になるかもしれませんが、初学者がそれを前提で学習を進めると、痛い目に合います。
62
+
63
+
64
+
65
+ # 追記に対する回答
66
+
67
+
68
+
69
+ > プログラムをとりあえず書いてみることが大切
70
+
71
+
72
+
73
+ それは構文を頭である程度おさえたときの話です。
74
+
75
+ 例えば、繰り返し処理を書きたい場合には`for`を使い、カウンタ変数の初期化、継続条件、ループ中の処理、ループ後の処理などを記述します。
76
+
77
+
78
+
79
+ こういった概念のレベルで知識をある程度おさえておかないと、「とりあえず書いてみること」はできません。
80
+
81
+
82
+
83
+ なので、概念(`B`)を9割理解して、答え合わせとしてコーディング(`A`)をするという順序を踏む必要があります。
84
+
85
+
86
+
87
+ 何度も言います。
88
+
89
+ 「`A`を覚えるには`B`という前提知識が必要だ。ならば、`B`を覚えない限り`A`を覚えることはできないはずだ」
90
+
91
+ と考えてください。
92
+
93
+
94
+
95
+ > 例題を写しながら一文ずつ理解するという方法でも問題ありませんでしょうか。問題を何も見ずにとけることがほとんどありません。
96
+
97
+
98
+
99
+ それは各行で使われている機能(`B`)を理解しないまま、例題(`A`)を読んでいるからではないでしょうか。
100
+
101
+
102
+
103
+ 書籍やサイトなどで記載されているコードはほ前のページ辺りに技術的な機能の説明が載っているはずです。
104
+
105
+ むしろ、載っていなかったらそれは書籍やサイトとして良い評価はできません。
106
+
107
+ (高いレベルを持つ技術者をターゲットにした書籍やサイトならその限りではありませんが)
108
+
109
+
110
+
111
+ ## 例題を見て覚えた人が誤った学習をするケース
112
+
113
+
114
+
115
+ Javaを勉強中の人が`for`を学ぶとき、機能を確認せずにいきなりコードを見たら、フィーリングで理解するしかなくなります。
116
+
117
+ ```java
118
+
119
+ for(int i = 0; i < 10; i++){
120
+
121
+ System.out.println(i);
122
+
123
+ }
124
+
125
+ ```
126
+
127
+
128
+
129
+ フィーリングで覚えたJavaの初心者はこういう事を想像してしまうでしょう。
130
+
131
+ 「`for`は`for(変数の初期化;何かの条件;変数をインクリメントする){ 処理 }`と書けば良いんだ。コードにそう書いてあるから、私の理解は間違ってないはず」
132
+
133
+
134
+
135
+ そんな架空の初心者に、私は突っ込みます。
136
+
137
+ - 「何かの条件」って何でしょう。この`for`文のループ回数は想像できていますか?
138
+
139
+ - `for`はその形式で書かなきゃいけない決まりはありません。
140
+
141
+ - 例えば、forの一番右の部分は、必ずしもインクリメントである必要はありません。そもそも省略も可能ですよ。って前のページに書いてありませんか?
142
+
143
+ - **前のページの説明をきちんと理解してからコードは読みましたよね。**
144
+
145
+
146
+
147
+ そろそろやめます。ただ、このようにフィーリングで覚えた人の知識に対して突っ込こもうと思えばいくらでも出来てしまいます。
148
+
149
+
150
+
151
+ とりあえず、サンプルコードを一文ずつ見ながら覚えてはいけない理由が何となく分かったと思います。
152
+
153
+
154
+
155
+ 「コード上の書き方しか覚えていないため、**その機能を理解した気分になってしまう**」
156
+
157
+
158
+
159
+ すなわち、
160
+
161
+ 「機能の1部分(の書き方)しか覚えていないため、**その機能の本質を正しく理解できない**」
162
+
163
+ ことが理由です。
164
+
165
+
166
+
167
+ コードを見て学ぶことは**「理解した」**ではなく**「理解したつもり」**にしかなりません。
168
+
169
+
170
+
171
+ ## 上記ケースの解決法
172
+
173
+
174
+
175
+ さて、上記ケースではどう行動をしていくのが良かったのでしょうか。
176
+
177
+ くどいようですが、お分かりですね。
178
+
179
+
180
+
181
+ 「`A`を覚えるには`B`という前提知識が必要だ。ならば、`B`を覚えない限り`A`を覚えることはできないはずだ」
182
+
183
+ と考えてください。
184
+
185
+
186
+
187
+ つまり、前のページ辺りに載っている機能の説明(`B`)を覚えてから例題(`A`)を見てください。
188
+
189
+
190
+
191
+ そしたら、仮に私のような人物から突っ込まれたときに、あなたは「○○ページの△行目にこの機能はこういう書き方ができるって書いてありますよ。**知らないんですか?**」と正しい根拠を持って言い返すことができるようになります。
192
+
193
+
194
+
195
+ 言い返せられれば、大体の場合、正しい理解をできていると思います。

2

文章の修正

2019/12/20 03:42

投稿

BluOxy
BluOxy

スコア2663

test CHANGED
@@ -2,7 +2,9 @@
2
2
 
3
3
 
4
4
 
5
- もし`A`を覚えるには`B`という前提知識が必要ならば、当然`B`を覚えない限り`A`を覚えることはできません。
5
+ `A`を覚えるには`B`という前提知識が必要だ。ならば、`B`を覚えない限り`A`を覚えることはできないはずだ」
6
+
7
+ と考えてください。
6
8
 
7
9
 
8
10
 

1

文章の修正

2019/12/19 08:43

投稿

BluOxy
BluOxy

スコア2663

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- `A`を覚えるには`B`という前提知識が必要です。よってまずは`B`を覚えない`A`を覚えることは**確実に**できないと考えてください
5
+ もし`A`を覚えるには`B`という前提知識が必要ならば当然`B`を覚えない限り`A`を覚えることはできません
6
6
 
7
7
 
8
8