Listeningする

英語のListeningメインで勉強してみようと思い、ちまちま準備中。

勉強方法としては、

  1. 分からないところがあれば、3回まで聞く。それ以上聞いても、ほとんどムダです。
  2. 分からなかったところを文字で確認して、なぜそこが聞き取れなかったかを考える。
  3. 聞き取れなかった部分を、まねをして何回も言ってみる。

をやってみようと思います。

引用:

聞くものも決めておいた方がいいと思うのですが、Transcriptsがないと2.ができないので、あるものを選択するべき。 ということで、下記のPodcastがいいかな。

Transcriptsはないけど、興味あるゲームの話がいいよねっていうことで聞けたら面白そうなPodcast。 適当に検索して今でも更新しているのを列挙。

勝ち続けるための応用力の身につけ方を、自然にできるようになりたい

今までの自分は、解法を見つけるために本を読んだり、検索したりしていたのですが、結局は応用力がないと、いつ使うのかわからないという問題にぶち当たる。

(基礎大事!基礎大事!ってやっていてもこれ何に使うんだよ……ってなってツライ)

 

数学でも、行列で座標変換するのはこの公式でやればいいみたいなのを知ったときに、ゲームプログラミングでの応用例がなければどう使うのかとか、「数学とか難しいからいらない!」と考えたときもありましたが、今は数学知っているとすごく便利だし、楽しいと感じるようになってきた。

d.hatena.ne.jp

数学を勉強しようと思う時、巷に溢れている数学本はこのエントリで言うWikipediaの説明が多い気がする。

この例は、まさにWikipediaの思想と、調べる側の人間が求める説明とのギャップを端的に示している。

子供との会話の中で

「のこぎりってなあに?」

と質問されたら

「木を切る道具だよ。」

と、答えるだろう。
そして子供は納得し、さらに

「どうやって使うの?」

と質問することだろう。

「こうやって使うんだよ。」

と、身振り手振りで説明すれば、子供なりに「のこぎりとは何か」を理解するだろう。

つまり、我々は、知らない道具を見せられた時に、
「それは何をするための道具なのか?」
ということをまず知りたい。
そしてそれから
「では、どうやって使うのか」
ということを知りたい。

これが一般的な考えだろう。

一方 Wikipediaでは、そもそも「のこぎり」と定義される道具は、どのような性質を備えたものであるかを延々と説明する。
これが、Wikipediaの説明が「わからない」理由だ。

 

特に3Dゲームプログラミングには応用がきき、結果も出やすいし、新しい方法がどんどんGDCなどでも発表されている。数学以外ではGPUとかハード的な部分で最適化とかかけないといけませんが、まずは数学の土台を知らないと、最適化がしづらい印象があるし、どのときに使うかがわからないと宝の持ち腐れである。

 

そこで悩むのが、どのように学ぶべきもの(数学など)を応用できるように会得していけるのだろうかという点。

これを考えていくと、勉強するために勉強法を学ぶという、これも解答がない難しい部分にぶつかっていくのですが、俗にいう頭のいい人は、この応用できるようにする学び方が上手いのではないかと思える。
ただ、この方法は結果が出るのが遅い気もする。しかし、結果を焦るとろくな結果にならないと最近感じてきているのですが、試験で良い点を取る勉強は暗記勝負なので、良い点を取るという結果は追わないことにする。

なので数学の場合には、応用例から学ぶのは使う場面のイメージもしやすく、これを学んでどうすればいいかも考えやすいので、公式などから応用例を探す方法が良い気がした。それを実践していこう。

 

ただ、基礎を得るのにはまずは暗記が重要なのではないかという思いもある。

初めてやることに関しては、まず写経して、とりあえず動かす。そのうちに#include<stdio.h>の意味は分かるのではないかと信じて書く。

はじめからコンパイラを作る勉強しても、遠回りだと思う。結果、コンパイラが作れたとしても、プログラミングをする人の気持ちがわからなかったり、何かは足りない状況になりそう。あと、難しい分野になるので分からない時に質問できないのがキツイかな。

 

分からない状況を分かる状態にするのが、勉強するうえでの一番わかりやすい成長だと思う。学んだことをどう使うかは、いろんな状況のときにどうするべきか?という選択肢を増やす作業だと思う。

 

  1. 問題定義
  2. 解決法の列挙
  3. 問題に適した解決法の選択

上記の流れで、『解決法の列挙』が多く、『適した解決法を選択』できる能力がすごく大事。

そこを学ぶにはどうすればいいのか、俗にいう実際の試合のバッターボックスに立たなければバッティングは分からないというやつなのかもしれません。

ただ、何が問題がわからないというときもありますので、以下のエントリとかみたいに、今自分のできることは何か、表現したいことは何なのかとかをどんどん文字や言葉の情報として出していくのは大事だと思う。

d.hatena.ne.jp

 

まずは問題を認識し、解決策を模索、そして解決策を試したりして解決後、異なる方法を探ってみたり、違うことをやっていたときに見つけたりしてどんどん成長していくのがセオリーなのかなぁ。

そうなると、「この問題を解決する時にどうする方法があるのか?」という問題提起をどんどん出していき、実際に試していくのがかなり重要な気がしてきた。

 

数学ガールで受信する、問題の考え方

自分は数学が苦手なんですけど、最近プログラミングで使うことを覚えたら楽しくなってきました。 何に使うのか、Whyの答えが見えたからでしょうけど。

で、こういう何かを学ぶときって、考え方のコツみたいなものがあってそれをピピピッって受信できたら流れに乗れそうな感じがするんですよね。

数学ガールを読んでいると、いろんな考え方のキャラクターがいるので、そのキャラクターの中で自分の考え方に近い人を見つけて、そのキャラに対して説明された内容でどんどん覚えていけるのが素敵です。 (ちなみに秘密のノートシリーズが現在の自分に合うレベルでした)

数学記号はややこしいけど、数学者が楽をするためにつけた省略なんだよとか、

ユーリ「数学者って短く書くのが好きなの? しょっちゅうナントカを定義して短く書いているよね」

僕「短い方が計算が楽だからじゃないかな。計算が楽というか、書くのが楽というか。……

第119回 イチからゼロを通り越し(前編)|数学ガールの秘密ノート|結城浩|cakes(ケイクス)

問題を解くには、ポリアの問いかけを考えるといいよとか。

  • 問題の一部分を解くことはできるか
  • 求めるものは何か
  • 与えられているものは何か

数学ガールの秘密ノート/丸い三角関数

他にも数学の考え方を挟みつつ証明をしていくこの数学ガールシリーズ、お勧めです。 とりあえずポリアの問いかけが載っている書籍を貼っておきますね。

数学ガールの秘密ノート/丸い三角関数

数学ガールの秘密ノート/丸い三角関数

今回のタイトルや内容の『受信する』は、cakesで配信されている秘密のノート最新回で ユーリがやっていたので、ピピピッと受信して決めました。

cakes.mu