UoPeopleでMATH 1211 Calculus(微分積分)を履修したので振り返ります。
コースの内容
微分積分の理論と応用を学ぶ。『Calculus volume 1』をテキストとして使い、極限・導関数・不定積分・定積分など高校数学の範囲+αのトピックを扱います。
毎週の課題は、問題演習に加えて「美しいと感じた数学的アイデア」「あなたが先生なら生徒にどのような問題を出して何を評価するか」みたいな問いに答える課題もあり、理詰めだけでなく本質的な理解を求められました。
試験は計算問題を淡々とこなす形式なので対策しやすく、Self-Quiz, Review Quizを何度か解いてから挑めば大丈夫でした。でもFinal Examは3問も間違えてしまい、どこを間違えたのか全然わからない...。
Unit 1 は前提条件である College Algebra with Trigonometry (MATH 1201) の復習から始まって、代数関数・対数関数・指数関数・三角関数などの記憶を呼び覚ます回になっており助かりました。
難易度、勉強時間
私はUoPeopleで数学をイチから勉強していて微積も初めてでしたが、恐れていたほど難しくなくて安心したという感想です。以前読んだ本に「微積は高校数学のラスボス」と書かれていたので怯えていましたが、難易度とつらさでいえばMATH 1201のほうが圧倒的でした。まあその時にだいぶ基礎を詰め込まされたので...微積のテキストを読むための前提知識は身についていたみたいです。なので、数学に苦手意識がある方でもMATH 1201をパスできていればきっと大丈夫だと思います。
大学の微積の関門と言われているイプシロン・デルタ論法も出てきましたが解説だけで応用はありませんでした。ちなみに、『数学ガール/ゲーデルの不完全性定理』に書かれている説明が非常にわかりやすかったです。
勉強時間は平均20時間/週でした。やっぱり数学はそれなりに時間かかりますね...
課題の進め方
課題に取り組む順番は、
- トピックを知る(Reading Assignment)
- 問題を解く(Self-Quiz)
- さらに問題を解く(Written Assignment)
- 理解を掘り下げる(Discussion Assignment)
- 実世界へ応用(Learning Journal)
と進めるのが効率よかったです。DA, LJの抽象的な問いを具体化するには、理論とテクニックがわかっていないと想像できないのでそうしていました。
LaTeXは手書き自動変換がラク
WAで提出するドキュメントを作る際は、
- iPad(GoodNotes)で手書き
- ページを丸ごとMathpix Snipに投入してLaTeX/テキストデータに変換
- Google Docsにコピペ
- Auto-LaTeX EquationsのアドオンでLaTeXを数式に変換
- pdfにエクスポートして提出
が楽でした。他にもMathTypeのアドオンも便利でした。便利なツールはArisaさん、たぁーさんに教えていただきました。どうもありがとうございました。
Mathpixの手書き認識は精度高くて、数式だけじゃなく「We have ~」「Let ~」「Therefore ~」などの導出説明構文(?)もしっかりテキストデータ化してくれて、入力の手間が省けました。変換されたくないメモなどは視認性低い色のペンで書いておくとよいです。
数学的思考と『微分、積分、いい気分。』
毎週のLJでは実世界の事象を一般化するのが難しくて、最初は要領がわからずに5点をくらって自分のセンスのなさに落ち込んだりもしました。数学的に考えるって本当に難しい。
考え方の参考にしていたのが、ぱんさんに教えていただいた『微分、積分、いい気分。』という本です。教えていただいてありがとうございました。
著者は数学者で、つねに生活の中に微積を探していて何でもすぐ数式にします。たとえば「コーヒーの温度の冷め方」「雨はすごい高いところから落ちてくるのになぜ打たれても死なないのか」を微分で表したり 「映画館の良い席」を積分で表したり。あまりにもたくさんの例が出てきて、数学者の頭の中ってこうなの...?ってなります。軽いテンポで語られるので読みやすいわりに、中間値の定理・瞬間変化率・変曲点・リーマン和といったコースで扱うトピックも散りばめられており、副読本としても役立つ一冊でした。
具体例を考えるとなぜ定理がそうなるのかわかったり、関連性のなさそうな物事を抽象化したら実は同じルールがあると発見できたり、数学の本質らしきものに近づけた気がしています。
『ITと数学』
プログラミングと数学の関係や勉強方法、「エンジニアに数学は必要か?」の議論に対する見解が載っていたので読んでみました。
どのタイミングで演繹的思考と帰納的思考を切り替えるかは、重要なポイントになります。理屈がまったく定まらないまま、やみくもにコードを書いて試してもうまくいきませんし、かと言って、コードを書かずに理屈だけで考えていても、先に進まないこともよくあります。この2つの思考方法を適切に組み合わせられることが、実は、優れたプログラマの資質であり、数学を学習する際のポイントではないでしょうか
私はウェブエンジニアなので、今のところ機械学習やデータサイエンスに関わる機会はなくて、数学を直接的に仕事に活かせている実感はないけれど、こういった思考方法をソフトスキルに活かせればいいのかなというモチベでやっていたので「あぁ、よかったんだ」となれた一言でした。
まだ離散数学のコースも残っているし、これからも数学をがんばっていきたい。
まとめ
入学してからあっという間に一年が過ぎ、残り12コースになり、視力がかなり落ちました...。本来やすみの日にPCに向かうような人間ではなかったのに、なんで一年も続けられたのか本当にわからないし本当にえらかった。
入学時の目標が「CSを勉強して自信をつける」だったけど、学ぶほどに知らないことが増えるし、「今までこんなんも知らずによく仕事してたな...」となる場面が多々あって、自信とは真逆をいっている気がします。でもまあ、もうちょいやってみるかという気持ちです。
引き続きがんばります。