Cisis - C##

ASP.NET Core 開発者のブログ

数学科に入りたい社会人へ

僕は今年の4月に東京理科大学の理学部第二部数学科に入学した社会人 (27歳) です. 昼間は正社員としてふつうの企業で働いてお給料をもらい,夜間に学校に通っています. 入学の経緯,入学してからどんな生活を送っているかについて,詳しくは 前の記事 に書きました.

今回はこれから同じように数学科に入学したいと考えている社会人の方に向けて,受験前の自分が知りたかったことを思いつく限り社会人学生という目線で書いていこうと思います. 数学科に入学を希望している社会人の方は,そろそろ入学準備を始めるとよいとおもいます.

ここでは理科大の第二部の数学科についてしか書きませんが,社会人が働きながら数学を学べるのは日本国内ではここしかありませんから,他の大学について社会人が見ておく必要はそんなにないと思います.

大学院じゃなくて学部のほうが良いのか

これはやりたいことによると思いますが,数学をやりたいのであれば,そしてこれまでに大学で数学をちゃんと勉強していないのであれば,学部に入ったほうが良いと思います.学部レベルの数学もけっこう難しいです.社会人であれば大学を卒業していなくても大学院の受験資格が与えられる場合がありますが,周囲の学生とのレベルの差に耐えられるか,研究で結果を残せるかというのは別の問題です.たとえば優秀なプログラマが情報工学系の大学院に進むとかは全然あると思いますが,純粋数学に関してはかなり厳しいのではないかと思います.

情報系に進みたいのだけど数学科で良いのか

数学と情報工学ってかなり密接に関係していると思うので,分野によってはとても良いと思います.数学ができるというのはけっこう有利になることも多いと思います.ぼくはプログラミングをやっていて,その背景にある離散数学とか型理論とか圏論とかそういう数学の理論的なところに興味があるので数学科に来ました.しかしたとえば今流行の「なんか機械学習エンジニアやってみたい!データサイエンティスト!python でなんかかっこいいことできるんでしょ!」とかそういうふんわりした動機で,「使うための数学」がわかれば良いという程度であれば,数学科の純粋数学というのは目的にそぐわない気もします.また,プログラミングが得意だから数学も得意だろう,というのも,数学ができればプログラミングができるようになるというのも誤っています(数学をやっているとプログラムの読み方や考え方が変わるのは確かですが).数学とプログラミングは関連していますが,それぞれに個別の専門知識が必要です.数学科ではコンピュータサイエンスは学ばないので,あくまで数学そのものにある程度興味がないと数学科でやっていくのは厳しいと思います.情報系への転職をめざすならそういう大学院に行くとか,サイバー大学に行くとか,他に検討すべき選択肢はいろいろあると思います.

数学科でついていけるか不安

まず社会人が数学をやるにはありったけの時間と体力を注いでもなお足りないということは言えると思います.若くて体力も時間もある周りの学生たちと同じだけのパフォーマンスを出すというのはほんとうにきついです.とにかく数学の勉強は本を 1 ページ読むのに 5 時間かかるような勉強なので,地道にやるしか方法がありません.さらに,1ページ5時間かけて読んだとしても,1週間たつとすっかり忘れていたりします.今日スラスラ書けていた証明が,1ヶ月後には全然書けなくなっているなんてことも普通にあります.「テスト前に定理や解法や証明を暗記して問題を解く」というようなことをしても単位は取れるかもしれませんが,単位を取るために高い学費を払って数学をやるのではないはずです.数学そのものを知りたい,という目的に照らせば,このような行為はあまり意味がありません.とにかく毎日長い時間をかけて継続的に勉強しなければなりません.(どこまでネタなのかわかりませんが)「数学は毎日10時間勉強するのが普通,調子の悪いときは8時間ぐらいでよい」などというのも聞きます.逆に言えば,数学科に行こうと思うレベルの人であれば,生まれ持った才能なんかはそんなに問題にならないように感じます.頭が良い人であってもやっぱり数学書を読むのはものすごく時間がかかるようです.

もし大学でやる数学の雰囲気を知りたい場合は,本屋さんで数学の本を立ち読みしてみると良いかもしれません.例えば,松坂和夫『集合・位相入門』とか佐武一郎『線型代数学』とか新妻弘『群・環・体入門』などの最初のほうを眺めてみると,なんとなく大学でやる数学の空気は感じられると思います.

高校数学ができなくても大丈夫?

社会人学生としては,入学までにどのくらい数学ができていればよいか,というのはあまり情報がない気がします. 高校生であれば,多くの人は一般入試を勝ち抜かなければならないわけですから,そこに模試の結果だったりといった明確な指標があります.しかし社会人の場合は特別選抜がありますから,一般的な大学受験の勉強は求められません.

それでは数学の知識がなくても大丈夫かというと,決してそうではありません.もちろん,面接の口頭試問(簡単な微分積分の問題しか出ませんでした)を乗り切れば,入学することはできます.しかし,入学後に授業についていくのは簡単なことではありません.1年生のうちは高校数学の反省のようなことをやりますが,これは高校数学の復習では決してありません.高校数学とは質的にも量的にもまったく異なるものであって,高校の数学で学んだことはわかっている前提で,論理や集合といった強力な「数学のことば」を使ってそれを厳密に再構築していきます.その過程で,高校で学ぶようなたとえば三角比とか,n 次の多項式の展開や因数分解だとか,数列の総和だとか,絶対値の性質だとか,そういうことは既知の事実として扱われることも多いです.まずこれらのことがわからないようでは授業についていくときに苦労します.大学受験レベルの数学をやる必要はありませんから,基礎や概念的なところをまんべんなくしっかり押さえることが大事です.

高校の数学は定義があいまいなものが多く,「どうして?」という疑問にちゃんとは答えてくれません.数学科の数学では定義からしてあいまいさがなく非常に世界がクリアになります.したがって,高校の数学が苦手であっても数学科の数学は得意になれる,ということも十分にありえます(逆に,高校の数学は得意だったけど数学科の数学はできない,ということもありえます).しかしながら,納得できない部分があるにしても,高校の数学を一通り表面的にでも学んでおくことは大切です.

高校数学を復習しながら大学の数学を学ぶというのも不可能ではありません.実際に,二部の数学科では通年で高校数学を勉強し直す授業があります.しかし,これはあくまで救済的な措置ととらえるべきで,はじめからあてにするべきではありません.他の数学の授業では高校数学のクラスの進度に配慮することは基本的にはありません.高校数学のクラスは基本的に講義というよりも教科書の問題をひたすら解いてノートを提出し,期末試験を受ける,という流れになりますから,かなり時間も体力も持っていかれます.忙しい社会人にとって,この時間と体力の出費はかなりの痛手になります.さらに,誤ってこのクラスを選択してしまって,あとからノート提出など時間的に耐えられずに単位を落とした場合は当然 GPA に響きます.社会人であっても,極力入学前に自分で復習しておき,大学の数学に専念するほうが良いでしょう.

自分で高校数学を復習する際に,参考書選びは結構難しいと思います.入試対策の本はたくさん出ているのですが,入試で良い点をとるための勉強を社会人がしていたらとても入学までに終わりません.そこでおすすめしたいのは,高専の教科書です.高専の教科書はふつうに本屋さんで手に入りますし,受験数学のようなテクニック満載の問題なんかは出てきませんので,基礎を復習するのに役立つと思います.ある程度高校の数学を覚えているなら,森北出版の『高専の数学』シリーズなどを,問題を解いてみてわからないところを復習する,というふうにやると良いと思います.ただし,高専の数学は高校数学とはカリキュラムが異なり,一部高校では扱わない範囲も含まれているので,あまり深入りはしなくても良いと思います.とくに行列に関しては高専では普通に習いますが高校生はやらないようですので,手を付けなくても問題ないと思います(ただし高専レベルの行列をちゃんと勉強しても全く理解できないようだと,代数学の授業は厳しいと思います).

入試に向けて

理科大の理学部第二部には社会人特別選抜があります.社会人経験があり,出願条件を満たしていればこれを受けることができます. 学科は数学科,物理学科,化学科がありますので,自分が勉強したい分野を選択すれば良いと思いますが,ここでは数学科についてしか書きません.

まず入学を決めたら願書を書きます.この中に,志望動機を書く紙があるので,これをきちんと書きます.調べればこういうのはいくらでも書き方が載っているのでしょうが,僕はそういう「入試対策」みたいなのは面倒だったので何も見ずに,どうして社会人学生として入学したいか,入学したら何を勉強したいか,数学のどういう分野に興味があるか(またそれはなぜか)などを書きました.とはいえアドミッションポリシーだったり,社会人特別選抜の目的だったり,そのへんの大学が出している文書はざっと目を通しておいたほうが良いと思います.

願書が書けたら,とにかく勉強をします.勉強の仕方は前述したとおりです.入学前にきちんと高校数学を勉強しておくかどうかは,入学後に他の学生との差として顕著にあらわれますし,口頭試問でも簡単な数学の問題は出されます.

社会人特別選抜は楽だと言われますが,それでも僕が受験した年の数学科は倍率が 1.0 を超えていたので,何人かは落とされています.評価は口頭試問,志望動機,それから高校(高専)時代の成績表をみて総合的に判断されると思いますが,すくなくとも面接できちんと志望動機を話せること,口頭試問に全問しっかりスムーズに答えられることは最低条件としてしっかり準備すべきだと思います.社会人特別選抜では学力以外に,職業を有していても勉強を続けるための強い意志や興味があるかとか,そういうことを重点的に見られると思います.できれば出身校の先生とか「大学で勉強する」ということを理解している人に,どうして入学したいのかなどを話してみると考えが整理されると思います.ぼくは母校の高専を訪問し,学科でお世話になった先生や数学の先生に話を聞いてもらいました.

それから,仮に受験数学のレベルに自信がある場合であっても,入試の方式は社会人特別選抜をおすすめします.社会人特別選抜はプライドがどうしても許さない,というのであれば一般入試を受けても良いですが,たとえば長期履修制度の申請をする場合などは社会人特別選抜で入学していることが条件になります.

授業の内容について

入学したら,基本的には授業についていけば問題ないと思います.進んだ内容を先取りするのも良いですが,とくに時間が限られた社会人の場合は,一年生でやる基礎の基礎をきちんと固めることに全力を注いだほうが良いと思います.二部の数学科の関門科目(これにすべて合格しないと進級できない)は,

  • 数学概論(論理や集合について学びます)
  • 代数学1 (線形代数)
  • 解析学1 (実数の性質や極限,微分積分をやります)
  • 幾何学1A (ベクトルや偏微分,重積分をやります)

の4つです.シラバスは CLASS にゲストログインすればだれでも見れます(UX 的にはかなり微妙な作りになっていますが).

ここからはすこし授業の内容について触れたいと思います.

まず最初に力を入れるべきなのは数学概論の授業です.ここで学ぶ論理や集合はすべての数学の授業で必須の知識になりますから,これをしっかり身につけないといけません.論理や集合といっても,たとえば述語論理の健全性・完全性とか,公理的集合論とかそういうことはやりません.あくまで論理と集合を数学の言葉として話せるようになる,ということが目的のように思います.ここでとくに重要なのが,論理の全称量化子と存在量化子をしっかりと読み書きできるようになることです.たとえば,(これは解析学の範囲ですが)「実数列 ana_nα\alpha に収束する」とは

aaaa

ϵ>0,NN,nN,anα<ϵ\forall \epsilon > 0, \exists N \in \mathbb{N}, \forall n \ge N, |a_n - \alpha| \lt \epsilon

と定義されます.これを見たときに,「すべての正の実数 ϵ\epsilon に対して,ある整数 NN が存在し,すべての nNn \ge N について, anα|a_n - \alpha|εε より小さくなる」というふうに瞬時に機械的に日本語に展開できるようになる必要があります.それができてはじめて,この数式が「nnが十分大きければ,極限の値と ana_n の値の差は,どんな正の実数よりも小さくできる」つまり,「nn を大きくすれば, ana_nα\alpha に限りなく近づく」という,高校で習った極限を厳密に記述したものであることがわかるようになります.

集合の分野は直接他の分野で役に立つのもそうですが,厳密な証明の仕方というのが身につきますから,これを先生方や TA の先輩方を活用して身につけるべきです.最初は「証明ってどうやってやるのが正しいんだろう」と悩みますが,とりあえず数をこなしていくと慣れます.その練習に集合の分野はとても良いと思います.解析学なんかだと,極限の定義に基づいた証明なんかは絶対値や不等式の性質を使って結構荒っぽいこともやりますし,線形代数でも 3 次の場合で示して nn 次の場合も同じように~みたいなことをけっこうやるので,それと比べても純粋に定義にもとづいた論理式の変形で証明していける集合の分野は練習に良いと思います.

線形代数に関してはそこまで理論はがっちりやらない印象です.たとえば有名な佐武『線型代数学』のレベルには到底及ばないと思います.授業で使う教科書のまえがきには,なんと「本書は,主に工学部の学生や,将来理学系に進学しない学生などを対象としている」とはっきり書かれています!そんなに授業が進むのも速くないので,きちんと授業を聞いていれば十分理解できるレベルだとおもいますが,細かい分数の四則演算をミスなく大量にやるのは意外と苦しいです.これは中学校レベルの話ですが,行列の計算では 1 箇所符号を間違えるだけですべて台無しになりますので,効率的な計算方法とか,検算の方法とかを身に着けておくと良いと思います.この辺の能力は社会人経験が長いと使うことがないので衰えてしまっていると思います.後半はベクトル空間や基底などの少し新しい概念を学びますが,ここでも具体的な行列の計算なんかはつきまといます.よく数学科の人は暗算ができないとか,具体的な計算はしないとか聞きますが,そういう気持ちで取り掛かると痛い目を見ます.

解析学は個人的には一番手こずると思います.まず教科書を読んでもなんだかふんわりとしかわからないし,極限の定義に基づいた証明なんかはなれるまで時間がかかります.言っていることは全く難しくないのですが,それをつかって実際に証明する,というところにテクニックが要求され,つまづくポイントだと思います.ただ講義の他に演習のための授業もあり,証明の仕方については解説もあるので,きちんと忍耐強くやれば大丈夫だと思います.指定の教科書は証明が分かりづらかったりするので,他に杉浦『解析入門I』などの参考書があると良いと思います.

あと解析学に関しては「とりあえずこれは証明してないけどわかったことにする」という力も少しは要求されます.とくに最初の実数の四則演算や順序関係のあたりは「これは正しいと認めることにする」などと言ってほとんど省略されます.しかも,最初のうちは証明にも慣れておらず,教科書では証明が省略されていることも多いので,はじめから完璧にやろうとするのは無理です.最初はそんな調子で2~3回の講義で何十ページも進んでしまいますが,それに納得できずに教科書を真面目に読みはじめるとものすごく時間がかかります.ここで変にこだわってしまうと,どんどん置いていかれてしまいます(ぼくはそれで大失敗をしました).「数学科の数学は厳密に論理を積み上げていく.定義→定理→証明の繰り返し」というのは本当ですが,過度に期待しすぎたり,はじめから自分に完璧を求めるといけないと思います.

幾何学は後期からなのでまだあまり情報がないです.ただ高校までの空間図形なんかの知識がないとちょっと厳しいなという印象です.

最後に

社会人であれば体力的にも時間的にも(そして金銭的にも)かなり厳しいです.平日の昼間は仕事がありますから,平日の夜間はもちろん,土日も数学に費やすことになります.授業は土曜日の日中をふくめておこなれますし,今年の理科大の夏休みはたったの2週間でした!したがって,たとえば好きなアーティストのライブに行けなくなるとか,友達とあまり会えなくなるとか,恋人と遊ぶ時間がなくなるとか,帰省できるのは年度末だけとか,それなりに犠牲が必要です.よほど体力に自信があっても,働きながら大学で数学を学ぶというのは非常に険しい道であることをまず理解してください.

しかし卒業が困難かというとそういうこともないです.実際に社会人学生も何人もいますし,ぼくも専門科目では S とか A とかの評価を取れています.例年は数学科はあまり忙しくないとも聞くので,課題の多さなどは今年のオンライン授業の影響もあるかと思います.

こんなふうにめちゃくちゃ大変ですが,やっぱり数学をやるのは楽しいです.社会に出てからだと,大学という場所の楽しさや講義のありがたみが格段に違うと思います.また,数学をやることによって鍛えられる力は仕事や今後の人生にも必ず活きるはずです.とくに「きちんと論理的に考える」とか「難しいものを前にあきらめない」とかそういう力はかなりつくと思います.そういう「じっくり深く考える」っていう機会は,ホワイトカラーであっても社会人にはなかなか与えられないです.社会人であれば長期履修制度などもあるので,長い目で地道に頑張るのが良いと思っています.