MATH 1302

MATH 1302 (Discrete Mathematics)コースを受講し単位取得したので、ふりかえりです。離散数学ということで、数列や順列組合せといった高校数学の範囲からグラフ理論まで幅広くやりました。それぞれのユニットでやったことは、Glossaryのページを見てもらえるとイメージしやすいかと思います。

個人としては、ド・モルガンの法則をはじめとする論理集合や数列の一部は復習でちょっと退屈に思った部分もあったのですが、グラフ理論はまったく初めての分野だったので面白かったです。また、数学記号を多く使うのですが、今まで他の数学コースでTeXを使っていたのが役に立ったと思います。

勉強時間は120時間8分でした。

勉強時間

Written Assignmentに不備があり、苦しんだ週もありましたが、Written Assignmentはコースを通じて3回なので、量としてはそれほどつらくありませんでした。

配点がLearning Journal39%と高めなので、インストラクターと相性が悪い場合はDropやWithdrawの判断をしたほうが良いかもしれません。

私は、Graded QuizとFinal Examで大幅に失点してしまいました。他の学生もそうだったのか、Final Exam後にコースをパスした(と思われる)生徒全員にインストラクターから励ましのメールが届きました。また、私はDiscussion AssignmentとWritten Assignmentについて(Learning Journalは元から)評価が満点に引き上げられる修正が入りました。

このコースで役に立ったサイトは以下の通りです。

学部専門教育 グラフ理論(2007) – 北海道大学オープンコースウェア

北海道大学井上純一助教授)のグラフ理論。英語で何もわからない分野で、この講義ノートに救われました。

数学の景色 | さまざまな数学を概観

半順序やアーベル群についてのユニットでお世話になりました。

Wolfram MathWorld: The Web's Most Extensive Mathematics Resource

数学用語について意味を調べたり、課題で引用したりと、辞書的な使い方で役立ちました。

 

 

MATH 1302: Glossary

Unit 1: 集合

  • conjunction: 論理積
  • disjunction: 論理和
  • intersection: 共通部分(論理積をとった集合)
  • union: 和集合(論理和をとった集合)
  • power set: べき集合
  • Cartesian product: 直積集合
  • cardinality: 基数
  • universal set: 普遍集合

Unit 2: 関数と数列

  • domain: 定義域
  • range: 値域
  • codomain: 終域
  • image: 像
  • injection / one-to-one function: 単射
  • surjection / onto function: 全射
  • bijection: 全単射
  • sequence: 数列
  • arithmetic sequence: 等差数列
  • geometric sequence: 等比数列

Unit 3: 組合せ論

  • combination: 組合せ
  • permutation: 順列
  • binomial coefficients: 二項係数
  • binomial identity: 二項定理の等式/公式
  • derangement: 完全順列(攪乱順列)

Unit 4: 再帰と漸化式

  • recurrence relation: 漸化式
  • homogeneous recurrence relation: 斉次(同次)漸化式
  • characteristic equation: 特性方程式
  • characteristic root: 特性根
  • closed formula: 閉じた式(日本語での用語は特になし?)
  • explicit formula: 厳密には違うのかもしれないが、このコース内ではclosed formulaと同じ意味で使用

Unit 5: 論理学

  • propositional logic: 命題論理
  • predicate logic: 述語論理
  • converse: 逆
  • (logical) inverse: 裏
  • contrapositive: 対偶
  • commutative laws: 交換律
  • associative laws: 結合律
  • distributive laws: 分配律
  • identity laws: 同一律
  • negation laws: 矛盾律排中律
  • idempotent laws: べき等律
  • absorption laws: 吸収律(簡約律・消去律とも?)
  • involution law: 二重否定
  • detachment / Modus Ponens (MP): 分離(規則)、含意除去/モーダスポネンス
  • indirect reasoning / Modus Tollens (MT): 間接推論、後件否定/モーダストレンス
  • disjunctive addition: 論理和の導入、選言導入則
  • conjunctive simplification: 論理積の消去、連言除去則
  • disjunctive simplification: 論理和の消去、選言除去則
  • chain rule: 連鎖律

Unit 6: 半順序と数学的帰納法

  • partial order: 半順序
  • reflexive relation: 反射律
  • antisymmetric relation: 反対称律
  • transitive relation: 推移律
  • partially ordered set / poset: 半順序集合
  • equivalence relation: 同値関係
  • transitive closure: 推移閉包

Unit 7: グラフ理論

  • subgraph: 部分グラフ
  • induced subgraph: 誘導部分グラフ
  • bipartite traph: 二部グラフ

Unit 8: 代数的構造

  • Abelian group: アーベル群
  • modular arithmetic: 合同算術

CS 4402

Term 4はCS 4402: Comparative Programming Languages、比較プログラミング言語学のコースを受講しました。カリキュラムはこんな感じ。

  1. Introduction to Programming Languages(プログラミング言語の分類など)
  2. Elements of Programming Languages(コンパイルのプロセスなど)
  3. Data Types(データ型。ビッグエンディアン/リトルエンディアン、オーバーフロー、負の整数表現に関連して2の補数計算など)
  4. Control Structures and Subprograms(値渡し/参照渡し、if, for, while...といったイテレーションはそこそこに再帰に注力)
  5. Object-Oriented Programming(Java等)
  6. Scripting Languages(PHPJavaScript等)
  7. Functional Programming(Haskell等)
  8. Logic Programming(Prolog等)
  9. Review and Final Exam

勉強時間合計:77時間59分

CS 4402の勉強時間
Exercise Assignmentが提出不要でピアアセスメントもなかったので、課題の量としてはかなり少なく、時間はかかりませんでした。Self-QuizやReview Quizと違って、Graded QuizやFinal Examとの関連はほぼありません。なので、時間がなければスキップしても…点数ではなく自分の理解のためにやるのが良いです。Discussion Assignmentはワード数の制限がなく、比較的自由なのですが、30%と高めの配点なので、250 words以上を目安にAPA引用に注意して書いていました。Graded QuizやFinal Examは、Self QuizやReview Quizからそのままではないですが、似た問題が多く出されます。なので、それらを周回するのが点数につながります。

さすがCS 4XXXコースだけあって、内容としては難しく、有意義なコースだったと思います。また、ピアが優秀だったことと、私が受講したタームは日本人学生らしいピアが多かったことも印象的でした。

Final ExamはProctoredで電卓と紙とペンが持ち込み許可されていました。ですが、2の補数計算ぐらいにしか使いようがなく、持ち込まなくてもテストを解くのに問題ないなと思いました。試験時間は90分。45問でFinal Examはすべて選択式だったと思います。(Graded QuizやReview Quizは単語レベルですが記述式の問題が出ます。)

以下、使用したサイトや参考文献などです。

ideone.com

どこかのユニットで案内されるのですが、ブラウザでのプログラミング開発・実行環境です。いろいろな言語を扱うので、ユニットごとにインストールしなおしたりするのは面倒で、基本このサイトを使っていました。 Online PHP/Java/C++... editor and compiler | paiza.IO みたいな感じ。

swish.swi-prolog.org

これはPrologのオンライン実行環境。ideone.comでできることになっていたものの、やりづらかったので、ユニット8でお世話になりました。

UoPeopleのlibraryで読めました。ユニット6で使用。「TaPL」として有名な本らしいです。

https://cliplab.org/~logalg/doc/The_Art_of_Prolog.pdf 後で読む。

peterhigginson.co.uk

Unit 1のExercise AssignmentがJava Applet使用サイトになっていたので、インストラクターに聞いたところ、上記ページを案内してもらいました。

youtu.be

Unit 4のExercise AssignmentもJava Applet使用だったので、上記動画を案内してもらいました。

Someya's Website

このサイト内の正規表現についてページがReading Assignmentになっていたのですが、404エラーになっていました。そこで、トップページにアクセスしたところ、執筆者である染谷泰正先生が2022年5月に亡くなっていたことを知りました。ご冥福をお祈りします。

www.ibm.com

Unit 2のExercise AssignmentでIBMのPDF資料がリンク切れになっていました。おそらく内容的に上記ページを読めば代替になると思います。

MATH 1280

MATH 1280、Introduction to Statisticsを履修し単位取得しました! ので、振り返りです。

勉強時間はトータルで116時間38分、ほぼ11~12時間/週くらいだったので、楽な方のコースだと思います。(一週、時間をかけているのはDiscussion Assignmentで必要以上に頑張った時の分だと思います。)(Written) Assignmentの提出が隔週だったので、課題の量は少ないです。内容も比較的易しいので、複数コース取るなら、これをその一つにするのがおすすめです。数式もRも複雑なものは扱わず、有意性の検定も扱いません。言い換えると、研究に必要な統計を学びたいならさらに統計コースを取ったほうが良いです。

攻略法としては、ピアアセスメント系は5%ずつの配点なので、Graded QuizとLearning Journalに注力した方が良いです。Self-Quizがその練習になるけれど、がっつりCSV読み込んだりRコマンド使ったりのpracticeなので、時間に余裕をもってやりましょう。ちなみに期末のReview Quizは136問ありました。周回できないよ…。Final Examは教科書、電卓持ち込み可、Rコンソール利用可のプロクタード試験なので、暗記より理解や必要なR関数の習得に時間をかけた方が良いです。

四分位数やIQRを求めるときに、中央値を含めるか含めないかで結果が異なります。本当は手計算では含めないのだが、Rでは含められてしまうので、私のインストラクターはどちらでも正解としていました。私は正しいはずなのに模範解答と異なるということでAssignmentのピアアセスメントで減点されていたので、インストラクターに問い合わせて採点しなおしてもらいました。

以下、コース中、参考にしたサイトなどです。

Introduction to Statistical Thinking:教科書の内容のGitHub版。一応、PDFで教科書があるのですが、こちらのサイトをChromeGoogle翻訳かけながら読むのが手っ取り早いのでそうしていました。

統計WEB - 統計学、調べる、学べる、BellCurve(ベルカーブ):日本語で分かりやすく内容を理解できました。一番お世話になりました。

Interpreting statistical findings: a guide for health professionals and students: a guide for health professionals and students:これのみ書籍です。リンクはAmazonページですが、UoPeople Libraryからアクセスできるので、そちらで読みました。課題で述べたい事の根拠を挙げたいけれど教科書に良い表現がないとき、この本から引用しました。

※2023年4月から同じコースを受けた人のTweetによると、Rを利用しないように変わっているようです。なので、コース内容が大幅に変わっているかもしれません。

MATH 1211: Unit 7-9

微積分(Calculus)のコース、無事修了しました。終盤のUnit 7~9について書いていきたいと思います。

Unit 7のテーマはロピタルの定理ニュートン法不定積分について。不定積分は英語だと"antiderivative"となることもあってか、積分ではなく微分の章に含まれていました。ロピタルの定理ロルの定理平均値の定理も出てきて難しかったです。対してニュートン法は、考え方としてCSの学生なら自分の強みを生かせるんじゃないかと思いました。Discussion Assignmentのお題もニュートン法平方根を求める、というものでした。ニュートン法の適用を視覚化するプログラムを作ってみたいなあ。

Unit 7の勉強時間:18時間38分

Unit 8のテーマは積分(定積分)。ずーっと微分をやってきて、やっと積分です。最終週ということでWritten Assignmentがなく、時間的にはありがたかったのですが、理解の面で難しいなと思いました。

Unit 8の勉強時間:15時間34分

Unit 9はReview QuizとFinal Exam。Review QuizはSelf-Quizと同じか似たような問題が多かったです。1回25問と多く、そのうち計算させる問題も多かったので、1回やるのにまとまった時間と集中力が必要でした。ネイピア数eを使う計算やニュートン法の問題もあったので、関数電卓があるとベターです。4周くらいで初見の問題がなくなった感じがしたので、6周してFinal Examを受験しました。CalculusのFinal ExamはProctorなしなので自分のタイミングで受験でき、このターム、年始の試験期間にありがたかったです。Final ExamはほとんどReview Quizから抜粋して出された感じがしました。試験勉強でReveiw Quizはやっていたので、無事満点がとれました。

Unit 9の勉強時間:12時間12分

微積分は難しかったです。日本の高校生、特に理系学生はえらいと思いました。一方で自分もこの単位を取得でき、しかもA+という最高の結果を出せたので、嬉しかったです。

MATH 1211: Unit 6

Unit 6はrelative ratesや平均値の定理がテーマでした。あとUnit 6ということでGraded Quizもあったのですが、今回はUnit 3と違ってDiscussion AssignmentもWritten Assignmentもしっかり出されました……。Graded Quizは、難しかったけれどなんとか満点をとれたので良かったです。

課題に数式を含むのも慣れてきたように思います。Discussion AssignmentとLearning Journalはワード数の条件がありますが、数式だとワード数を調整しやすいですね。TeXの文法的にスペースを入れても入れなくても影響ない箇所が多いので、ワード数を増やしたい時はスペースを入れて、減らしたい時は削除するといったセコイことをしています笑。また、Notion上でブロック数式を入れてLearning Journalのフォームにコピペすると、TeXが問題ないかの確認だけでなくワード数カウントもやりやすいので良い感じです。

ところで、Unit 7も微分みたいだけれど、積分はUnit 8でしかやらないのでしょうか…?

Unit 6の勉強時間:25時間22分

MATH 1211: Unit 4-5

Unit 4-5の期間は、UoPeople以外のタスクで忙しく、栄養ドリンクでごまかしていたら風邪でダウンしてしまいました。それでも何とか課題はこなした私えらい……。

MATH 1211では引き続き微分について、Unit 4はthe chain rule(連鎖律?)と陰関数の微分、Unit 5は逆関数、指数対数関数の導関数と対数微分がテーマでした。今さらですが、微積分って難しいですね…。

Unit 4の勉強時間:21時間1分

Unit 5の勉強時間:20時間12分