Udemy 講座
私がいままでに学んだ知識の一部を、オンラインの動画として公開させて頂いています。
講座の一覧
講座の紹介の方は外部へのリンクになってしまいますが、こちらをご覧頂けたらと思います。
講座の特徴
私が講座を作る際には、特に次のような点を重視しています。
1. シンプルなコード
私の講座では、アルゴリズムやモデルを理解して頂くことをメインにしていますので、なるべくその部分にフォーカスできるようにコードはなるべくシンプルなものになるように心掛けています。「なんだかよくわからんが、とにかく凄そうだ!」というコードではなく、「なんだ、簡単じゃないか!」と思われるようなコードを目指しています。なぜならば、簡単なコードを改造して複雑なコードにするのは比較的簡単ですが、その逆には結構手間がかかるためです。複雑なコードを読み解き、自分に必要な部分を切り出して、シンプルな枝葉の少ないコードにするのは結構手間がかかりますが、反対にちょっとずつ必要な部分を付け加えてゆくことは割合と簡単です。ですので、そうしたことがなくなるように、少し物足りないくらいのシンプルなコードになるよう心掛けています。
2. コードの統一感
プログラミングをこうした講座で学ぶメリットのひとつは、誰かの書いた統一されたスタイルのコードをたくさん手に入れることができることではないかと考えています。ネットでコードをひとつひとつ拾ってくれば、無料で大量のコードにアクセスできますが、こうしたコードはさまざまな人がさまざまなスタイルでコードを書いていますので、こうしたスタイルの違いを読み解くのに結構時間がかかってしまいます。特に、新しいパッケージの使い方を学ぶ人には統一されたスタイルのコードをたくさん見れることはメリットになるのではないかと考えています。
3. 理論と実践のバランス
私の講座では、講座で学んだことをすぐに実践に結び付けられるように、理論的な部分と実践的な部分のバランスを重視しています。基本的には、初めにアルゴリズムの概要を手短に説明して、その後すぐコードを動かしてみるような構成にしています。
ただ、理論的な背景などをしっかりと説明している訳ではないので、人によってはその辺りが消化不良に感じられる人もいるかもしれません。私の講座では、とにかく数学的な知識を実践的な場面で応用できるようになることを重視していますので、「なぜそうした事実が導かれるのか」ということよりは、まずは「どのように数学を現実の場面に応用していくことができるのか」を知ってもらうことにウェイトを置いています。
そうして実践的な場面で数学を使ってゆく中で、もっと深い知識や理解が必要になってくることがありますが、そのときはもう一度しっかりした書籍や論文などにあたってみることをお勧めします。基本的には、このような形で理論と実践を交互に繰り返す中で、数学をより深く理解してゆく…というのが、私の講座が目指している立ち位置です。
実際、私自身も長年業務をこなしながら数学を学んできましたが、最終的にはこうしたやり方が一番合っているように感じています。まずは概要を知って、簡単な例題を動かしてみて、業務で使えるかを試してみて、使えるもののようだったら、更に書籍等で学びを深める…といったイメージです。
ソフトウェア開発の現場でも「アジャイル開発」という言葉が広まっていますが、まずは動くもの、実践できるものを形にしてから、徐々に完成度の高いものへ置き換えてゆくのは、実践的な数学の知識を学ぶ場面でも実は効率的なアプローチなのではないかと考えています。