tshimizu's diary

日々の記録

王道なし

現在、「プログラミングのための線形代数」を使って線形代数の勉強をあらためて進めているが、その中で気が付いたことがある。それは、私に合う学習スタイルとして、効率的な最短ルートの「王道」というものは存在しないのではないかということだ。

このことは、近頃になって、はっきりと言語化はできないにしても、もやもやとずっと心の中にあったような気がする。これまでは、私の中に次のような学習スタイルの理想があった。

『ある目的のために学習しなければいけない様々な分野には、どの分野から順番に学習するか絶対的に正しい順番があって、その順番どおりにやれば最も効率的な成果が得られる。』

これは理想的には正しいと思うし、基礎から応用というような順番は当たり前のものの様だけれども、どうも一人の不完全な人間の私に適用しようと思った場合は期待しているほどはうまく機能していないようにも思う。むしろ、順序などにこだわることによる行動の制限で、学習の絶対量が減ることもあるかもしれない。

最近、このような一本道のやり方ではなく、一つの事柄について、ちょっと進んだ応用的なことや、または離れていそうな異なる分野でその事柄が必要になったときに、新たな気づきが得られる瞬間に自分の成長を大きく感じることができることが多い。また、必要になって改めて復習するにしても、実際に使うイメージができているので理解がしやすくなっている。

したがって、今後の学習の進め方の方針として、順序はあまり意識せず、その時点でわからないことがあってもとりあえず保留し、次に進む。初めから、教科書は複数周するつもりでよいと思う。

また、「数学ガイダンス2016」という本の数学書の読み方の説明が、ここ半年ぐらいで自分で試行錯誤しながら作ってきたスタイルと近いものだった。自分と波長が合いそうなので、この本も学習の進め方の参考にしたい。大学新入生向けの本だったので、自分の安いプライドが傷つくような抵抗感もあったが、そんなことも言っていられない。使えるものはなんでも使う。

分からないことを保留しておくことはつらいけれども、先ほど読んだ「数学ガイダンス2016」で数学者の森毅による良い言葉を見つけた。

『わからなさを頭の中で飼っておく』

なんとなく自分の心にスッと収まる言葉である。

競プロ再開

今日はARC048が開催された。時間の都合がついたので参加した。競技プログラミングの問題を解くのは本当に久しぶりな気がする。コードフェスティバルの予選に落ちてから、直近の目標も見つからないこともあって、モチベーションがなくほとんど問題には触れていなかった。むしろ数学などの方に興味が出てきていたので、そっちのほうに時間を使っていた。

去年の夏休みくらいの時期には、『アルゴリズムだけが俺のアイデンティティー!』くらいの感覚で取り組んでいた。(今考えるとまだまだやり方がぬるかったとは思うけど。)最近は少し離れていたけれども、『競技プログラミングをベースにしたアルゴリズムの学習を自分のベースに置きたい』という考えがなんとなく自分の中にあるので、やはりARCくらいはちゃんとやろうと思い、今日の参加に至った。

リハビリをかねて参加するつもりだったが、やり始めると純粋な思考を楽しむとい感覚が体によみがえってきて、時間いっぱいまでずっと解法を夢中で考えていた。最終結果は、B問題の5分遅れでのACだった。間に合わなかったのが本当に悔しい。でも、この問題で、初めて実戦でいもす法を実装することができた。こんなに久しぶりの参加だったのに、想像以上に身体が競技プログラミングを覚えていたことに驚いた。

競技プログラミングは情報系の学生の基礎体力的な部分でもあると思うので、これからまたこの筋トレを再開したい。夏にはICPCがある。たぶん参加することになるだろう。これがとりあえずの目標。

 

英語について。今日、TOEICの公式問題集Vol.6のテスト1を解いたところ、得点予想は590-775だった。3月の目標の650点は射程圏内かな。3日後くらいにテスト2もやって同じくらいだったら少し安心できる。12月のTOEICで直前演習の重要性は思い知ったので、残りの1週間あきらめずに頑張りたい。

 

蛇足。最近頻繁にはてなブログの記事を書くようになって、自分の文章力の無さを改めて痛感することが多い。いろんなテクニックもあるだろうけど、やっぱりまずは量を書き続けることが大事かな。(何事も量。ほんとに初期段階では量が大事だ。)そのためにもこのブログの更新は3日に一回くらいのペースではこれからも続けていきたい。

線形代数アレルギー

3月1日から3日にかけて、ちょっとした旅行に行ってきた。目的地がすごく交通の便が悪いところだったのでほとんどの時間を移動に使った。帰り道の途中に、高校の時の同級生に会うこともできた。たまに彼とは会うけど、話すたびに自分のだいぶ先を歩いているような気がする。自分も頑張ろうという気持ちと同時になかなかへこむ。

 

気分転換になった旅行を終え、今日から勉強を再開した。先週の時点で、「これならわかる最適化数学」を一通り読み終えたが、大部分を理解できていなかた。前回の記事に書いた通り、「型を覚える」かとがまずは大事だ。とりあえず解法を身につけられそうな(理解は不十分。身体で覚える感じ。)、各章の例題を20問ほどリストアップした。今後これを使って、ノートの上で手を動かす予定。

その作業を今日から始めたが、その中で引っかかってることがある。線形代数を使うような部分を読んでいると、自分は無意識に拒否反応が出るようだ。B1の時の講義でやったけれども、そのころは数学に対するモチベーションがなかったから、計算方法だけ覚えて単位をもらっていたから、意味を理解できていないし、身体に馴染んでいない。だから無意識にアレルギー反応が出てしまう。これをなくさないと、今やってる最適化数学はもちろん、これからも困ること多いだろう。

線形代数の良い入門書を探してみたところ、「プログラミングのための線形代数」がかなりいいという情報があったので、さっそく購入した。最適化数学と並行してこれも読み進めようと思う。この本は1年ほど前に本屋で見て、表紙の奇抜さだけ覚えていた。まさか良書だったとは。

 

プログラミングのための線形代数

プログラミングのための線形代数

 

 

3月のテーマ

3月のテーマは「量」。とにかく「量」。イメージとては、「質<<<量」の感じで。

自分は質とかやり方以前にそもそも量が足りてない。何かにつけて手を動かさない。そんなことは大学受験終わってから薄々思ていたけど、最近やっとその事実を受け入れることができた。いい加減やろう。

そのために3月はその初めの一歩を始める。

やり方は簡単。各活動の累積時間をストップウォッチで測って毎日紙に記録する。アプリも探してみたけど、しっくりくるものが無かったから結局このやり方にした。泥臭いし、すごく「アナログ」な感じだけど、もうなりふり構っていられない。やる。

最初の項目としては、

・基情の勉強

・読書

・数学

・TOEICの演習

・音読

・発音練習

英語関連が多め。数学という項目もアバウトすぎる気はするけど、広くやるという意味でもとりあえずこれでやる。

あと、メンタル的な部分での目標は、『興味があることでなく、事実としてやってきたことに自信を持つ』ということ。昨年、「勉強したいな」という気持ちが強くなってから、なにかそれだけで自分に力があるような気がして、なんの根拠もなく無意識に周りを見下してしまったりした。これは本当に滑稽だったと思う。まさに意識高い「系」だったかもしれない。

自分を過大評価しないけど、過小評価もしない。やってきたという事実に自信をもつ。

 

Arduinoを触ってみた

友達と何か作ろうという企画の進行状況について書く。前回話し合ったときに、2月29日にお互い何か作って持ち寄ろう、という話になっていた。これは、自分があまりの初心者だったためまずは一人で簡単なものを作りながらArduinoに慣れることが目的だった。

いろいろ調べてみたところ、赤外線の距離センサが思いのほか扱いやすく、また安価だったので、それを利用することを思いついた。また、DCモータは小学生の理科の授業などで親しみがあったことから、センサで障害物を探知し、それを避ける車を作ることにした。

車の仕組みは、①車の前側にあるセンサで障害物が前方20cm以内にあることを検知、②右前輪タイヤの回転を逆にして車が左を向くようにする、③タイヤの回転を戻す。以上。非常にシンプル。さっさく秋月電子の通販でICなどを購入して、届いてすぐ組み立てた。秋月電子の利用は初めて。ちょっと前まで自分がICとか自主的に買うなんて想像してなかったので、ちょっと大人(?)になった気分。

組み立てた結果として、一応障害物が近くなったら右を向いて避けるようには動いてくれた。ただ、非常にぎこちない。これはたぶん、方向転換のとき前輪は左右非対称な動きをしてる一方で、後輪は左右が一本のシャフトでつながっているので、タイヤがストッパーになってしまってるのだと思う。ネットで見つけたライントレースカーとかは、たいてい後輪は1輪だったのを不思議に思っていたけど、それもこのような理由からだったのかもしれない。

ひとまずこれで、Arduinoでものを作る雰囲気はなんとなくわかった。「意外と簡単にできたな」といのが感想。モータードライバがとても優秀。今回、抵抗とかコンデンサとか全く使ってないので、そういうところは知識が穴だらけだけど、それはまあこれから。

参考にした本を下に載せておく。

 

みんなのArduino入門

みんなのArduino入門

 

 

 

 

 

現状確認

春休みに入って10日。ここで一度現状の確認をする。この長期休み期間にやりたいことを、1「確実にやること」、2「やりたいこと」、3「息抜き」に分ける。

 

1.確実にやること

・3月13日のTOEICで650点

・4月17日の基本情報処理技術者試験に合格(のために勉強)

・3年前期の授業の予習(グラフ理論、最適化数学)

Arduinoで友人と何か作る(方針を立てる)

2.やりたいこと

・新しいバイト(IT系)

・競技プログラミング

・読書

3.息抜き

・旅行(中国地方方面)

・体を絞る

 

以上、現時点ではこういう認識。春休みに入ってから目標の仕分けというのも出遅れ感があるがもう仕方がない。具体化が曖昧な目標もあるのでそこは修正したい。また、全体的なテーマ(?)的なものとしては「動きながら考える」。これはいつも考えるだけでなかなか動き出せない自分へ、どこかのベンチャー社長(だったかな?)が何かのインタビューで言っていたのを引用。

「確実にやること」の4項目のArduinoについて補足。期末期間中にちょっとした会話の中から、友人(以下”K”とする)と「何か作ろう!」という話になった。はじめはスマホのアプリの予定だったが、KがArduinoをかじっていることや、自分が電子工作などに興味があったことから、Arduinoで「何か」をつくることになった。現時点での目標はとりあえずコンテスト等に応募してみること。昨日amazonからArduinoの入門者キットが届いたので、まずは「Lチカ」をやってみた。電子工作では、これがプログラミングでいうところのHelloWorldらしい。

 

蛇足。昨日、大学で卒研発表を見てきた。予想以上に内容についてはさっぱりだったが、教授や講師からの質問では、極端に言えば「それが何に役に立つの?」というものが多い印象だった。やはり工学系は「役に立つものを作ってナンボ」ということかもしれない。理学系よりもこの傾向は強いものなのだろうか。

 

期末終了!

今日の日程をもって、今季の期末試験がすべて終了した。したがって明日から春休み開始する。忘れてしまう前に、今回の試験勉強(もちろん普段の学習も含めて)の反省点などを記録しておきたい。

<うまくいったこと>

1.DropBoxでの過去問の共有

今学期からは、友人の提案で自分を含めた5人の間でDropBoxを使って過去問の共有を行った。サークルなどのつながりがなく、過去問の入手が難しい自分にとっては非常に助かった。

当然のことながら、過去問だけ覚えてテストで点数を取るなどということはしたくない。しかしながら、そのような方法で短時間で高得点をとってしまう学生も多く存在する。彼らの中に点数以外ににも残っていなかったとしても、記録として残るのはGPAの数値なので、過去問の有無の差で彼らに負けたくはない。

過去問がなくても実力さえあれば点数は取れるという考えも、あるがそれは理想論であって、形式になれるということは自分にとっては必要だ。また、過去問は要点がまとまっており具体的なので、学習のとっかかりとしても効果的だ気が付いた。

今回ある教科でここ数年の過去問と形式が全く違うものになっていた。この科目に関しては、過去問暗記徹夜組はほとんど太刀打ちできなかったのに対して、教科書を勉強していた自分は完答ではないものの解答はできていた。こういうこともあるのだ。一応書いておく。

2.ファミレスでの友人との勉強会

これまでの自分は、試験の勉強など一人でもできることだしテスト直前に必死にファミレスで勉強する人たちが理解できなかった。一人でやると怠けてしまうため、その防止策として他の人とやる、という部分では効果があるかもしれないが、それ以上のものは得られると考えていなかった。

しかし、ある授業の中で、学生の教育に熱心な教授が、複数人で学習することを推奨していた。物は試しだと、友人のファミレスでの勉強会(というほどでもないが)に参加させてもらった。過去問を解きながら疑問点などがあれば、わかる人に教えてもらう、または一緒に考えるという形式(というか自然にそうなった)で進んでいった。これが思っていた以上に実のあるものだった。自分で当たり前だと思っていた事柄を、他の人が疑問に思い、改めて考えるきっかけになるなど理解が深まった。テスト前でなくても、定期的にこのよう集まって話し合うことができれば、授業内容の理解もより深まると思う。これが今大学が進めようとしている”アクティブラーニング”の正しい姿なのかもしれない。

3.直前期の詳細なスケジュール

試験開始前の2週間ほどの期間については、一日単位で勉強する内容を具体的に決めていた。これにより、迷うことなく学習に取り組めた。また、調整日などもあらかじめ予定に組み込んでおいたので、予定が後ろ倒しになることによるモチベーションの低下も防ぐことができた。

<反省点>

1.生活習慣の悪化による体調不良

学習予定が押していると、どうしても睡眠時間や食事の時間を削ることになった。そのような生活習慣が体調に影響が出始め、風邪の症状が現れたのは最終日に前日だった。今回は幸運にも最終日だけ無理すればなんとかなったので良かったが、もっと早い段階で体調を崩していたら大変なことになっていただろう。

この対策としては、やはり取り組み始めるのを早くして、余裕のある計画にすることと、普段の授業中に理解してしまえる部分を増やし、直前期の負担を減らすしかない。

2.日常の授業やレポート、演習への取り組み

これに関しては、もはやテスト対策云々の話ではないけれど、日々の自分の怠惰さを毎度のことながらこの試験期間中に実感する。今回は、これまでと比較すると改善されていたと思っていたが、やはり気づかないうちに自分に甘くなっていた部分があった。

提出物や小テストについてはGPAの面から言っても、直前期にはどうしようもないものであるため日々一つも手を抜いてはいけないのだと、改めて思った。小テストがどんなに軽いものに見えても、それは点数に確実に影響していくのだ。

また、授業中の受け方そのものは、授業中に理解してしまおうという意識が薄かった。理解しようとしてもできずに、「授業に」という部分をあきらめてしまっていたところもある。この原因としては、予習不足による予備知識の無さが大きい。このことは前期の頃から分かっていたことだったが、日々の予習の習慣は定着しなかった。これを来季の課題としたい。

 

以上、これらの気づいた点を今後に生かしていきたい。テストを終えた手ごたえとして、当初の目標GPAに届いたかは微妙なラインではあるが、それは3月の成績開示までわからない。

春休みは、自分の学びたかったが手を出さずにいた分野についての本などをたくさん読もうと思っている。