数学
「コンピュータを勉強するために会津大学に入学したのに、なぜ難しい数学を勉強しなければならないのですか?」学生からこんな質問を受けることがあります。私は「身につけている数学的な知識の多寡が問題ではなく、数学的な思考(あるいは論理的な思考)が出来るか否かが重要である」などと答えています。
とりあえず動く小規模なプログラムを書くことだけを考えるならば、数学的思考はあまり求められないでしょう。しかし、何万行にもわたる大規模システムのプログラムをとりあえず動けばいいといっただけの小規模プログラムの集まりとして捉えて作っていくことを考えてください。「こちらのエラーをなおしたら、その影響で別のエラーが現れる」といったことが多発し、エラーのないプログラムとして完成させることは事実上不可能となるはずです。
プログラム開発の例にとどまらず、数学的な思考あるいは論理的な思考は研究開発のような分野で仕事を遂行する上で重要であることは多くの人が認めるところであり、コンピュータ理工学を学ぼうとする人たちには数学をしっかり学んでほしいと思っています。
大学での勉強の基本は講義を聞き、ノートをとり、それを復習することが基本サイクルですが、さらに自ら考えることが大切です。会津大学の数学では演習を重視していまいす。
講義の内容を使って演習問題を解くことにより、理解が可能となります。理論がよくわからないとか、問題が難しくて解けないことがあるかもしれません。解けなかった場合には他の人が作成した解答例を「写す」といった作業で置き換えるとして、解答例を作成するという「作業」を繰り返していると、よくわからなかったことが「あ、そうか」と理解出来てしまうことがあります。
頭の中で配線の繋ぎ替え(?)が起こっているのではないかと思っています。
この「あ、そうか」という感覚を多く経験できると、数学とのかかわりが楽しくなってきます。そのように「数学を楽しむ」ことができた若い人たちこそが、現状の問題を独創的に解決し、コンピュータ理工学の地平を切り開いてくれると確信しています。
数学関連科目一覧
- 線形代数 I
- 線形代数 II
- 微積分 I
- 微積分 II
- フーリエ解析
- 複素関数論
- 確率統計学
- 応用代数
- 数理論理学
- 位相幾何学概論
- 応用幾何とトポロジー
自然科学
私が担当しているのは自然科学関連の中の物理学系の科目です。
物理は、物体や惑星の運動、電気磁気現象などの多くの一見まったく異なった現象から原理や法則を探り、それにより将来の運動、現象を予言する学問です。ニュートンが、リンゴの落下と地球の公転に働いている力は同じと発見したことの驚きを創造してください。また宇宙に漂うラジオ波から宇宙の年齢を137億年と決定することもできます。物理学は複雑な現象を整理し、考え方を学ぶ、創造性と想像力の世界です。
物理学は直接的に将来の職種選択に結びつくものではありませんが、コンピュータと将来かかわっていくときに発生するさまざまな問題を解決してくれる有力な武器になります。
内容が難しいと敬遠している学生が時々みられますが、高校で物理をとってこなかった学生の人も興味をもって学習できるよう、物理の考え方をしっかりと初歩から教え、物理現象を体験するコンピュータ演習の時間を導入するなどの工夫をしていますので、多くの学生のチャレンジを期待します。
自然科学関連科目一覧
- 力学
- 電磁気学
- 量子力学
- 半導体デバイス
- 熱・統計力学
コンピュータ基礎
コンピュータ基礎関連科目はこれからコンピュータ理工学を勉強するうえで不可欠な知識やスキルを身に着け、専門科目への礎を築くための科目群です。カリキュラム全体の構成や流れを紹介したり、各分野で活躍している先輩や著名な専門家を招いて講演してもらい、コンピュータ理工学の枠組みや位置づけを理解するところからスタートします。
コンピュータに触ったことがない、プログラムを書いたことがない、ということを心配する必要はありません。「好きこそものの上手なれ」という言葉があるように、なんだか中身はよくわからないけどコンピュータが好きということで十分です。そこから勉強してだんだんわかるようになるのです。本学では、普段よく目にするWindowsPCやMacとは異なる、UNIXで動くワークステーションを使いますが、最初はかなり基礎的なところからスタートしますから、まめに質問して早いうちに分からないことをつぶしてゆくような姿勢でいれば、どんどん面白くなってゆくでしょう。
コンピュータ基礎関連科目一覧
- コンピュータリテラシー
- コンピュータ理工学のすすめ
- コンピュータシステム概論
- 情報セキュリティ
- 情報と職業
- 情報倫理
- システム開発とプロジェクトマネジメントの基礎
- マルチメディアシステム概論
- コンピュータネットワーク概論
- 創造力開発スタジオ
- コンピュータ理工学演習 I
- コンピュータ理工学演習 II
プログラミング
私の担当はプログラミング入門とプログラミングCという科目で、それぞれ1年前期、後期に開講され、Cプログラミングの基礎から応用までを教えています。このように1年生の前期から1年をかけて一つのプログラミング言語をみっちり授業するのは全国でもあまり例がありません。これは、会津大学に入って早くコンピュータを触ってみたくてうずうずしている新入生の要望に答えたものであり、プログラミングがコンピュータを学んでいく上で重要なツール(道具)であるので、少しでも早く習得して欲しいとの思いからでもあります。プログラミングの授業はゴールではなく、他の授業や研究を行う上でのスタートです。プログラミングなしに、大学での授業や研究をこなして行くことはできません。
そのようなスタートの教科でつまづかないよう、プログラミング入門は9名の教員が何度もミーティングを重ね、一日に何通ものメールをやり取りし、かなりの時間と労力をかけてより良いコース作りに努力しています。
さて、大学から世界に目を向けてみると、銀行の大規模オンラインシステムから身近な炊飯器などの家電まで、いたる所にコンピュータが使われています。私たちの生活は、そして未来はプログラムが支えていると言っては少し大げさかもしれませんが、大きくはずれてもいません。コンピュータとプログラムには無限の可能性があります。是非熱意を持ってプログラミングを学んで欲しいと思います。プログラミングができる事は無論就職時にも大きなアドバンテージになります。
プログラミング関連科目一覧
- プログラミング入門
- プログラミングC
- プログラミングJAVA I
- プログラミングC++
- コンピュータ言語論
- プログラミングJAVA II
コンピュータ理工学基礎
近年は,自動車,テレビをはじめとする電化製品等,どこにでもコンピュータ,インターネットが備わっている時代です。それらのシステムは年々多機能,高性能になり,また機器同士が相互に通信するという複雑なものになっていて,OSを基本にした,立派なコンピュータアプリケーションとして動作しています。今までのような単純なプログラム,アプリケーションの範囲で出来ることは極めて限られています。これからの時代のコンピュータ技術者は,広くコンピュータシステムを理解していないと,単なる歯車としてしか活躍できないでしょう。大学でコンピュータを学ぶことの最大の利点の一つに,コンピュータの本質を基礎から学べることがあります。自分に興味のある内容,仕事に直接必要なことは,比較的勉強もし易いのですが,大本の基本というのは,なかなか勉強しにくいものです。それ故,世の中の多くの人には,自分に興味のある内容,仕事に直接必要なことだけを勉強する傾向があります。でもそれだけでは,自分の思うことも実現困難で,世の中に追いつくことも難しい時代になってきています。大学では,OS,データベース,論理数学,アルゴリズム等,基礎的で重要なことですが,取り付きにくい基礎的な内容を授業の中でしっかり学ぶことが出来るばかりでなく,最先端の技術を含めて興味深く学ぶことが出来ます。その知識は,コンピュータの進化にもしっかり追いつき,世の中の一歩先を行く技術の大本になるものです。
コンピュータ理工学基礎関連科目一覧
- アルゴリズムとデータ構造 I
- 情報理論と圧縮
- 離散系論
- 論理回路設計論
- コンピュータアーキテクチャ論
- オペレーティングシステム論
- データベースシステム論
- オートマトンと言語理論
- アルゴリズムとデータ構造 II
- 言語処理系論
- 数値解析
- ソフトウェア工学概論
- データマネジメント概論