高専のカリキュラム! 情報工学を体系的に学ぶために高専のカリキュラムをまとめる。
今回は「情報工学を体系的にやりてぇな...」という方のために
情報工学を体系的に学べるような記事を書きます。
内容は高専のカリキュラムを時系列にまとめ、参考になった教科書などを!
というわけで1年目から書いていきます~
もちろん思い出しながらなのでヌケモレが有りそうですが…
1年目
ここではぶっちゃけ専門はほとんどありませんでした。
やったことは
- コンピュータ・リテラシー
- 情報数学
コンピュータ・リテラシー
色々Linuxに触れてみよう的な感じの授業。
最初にセットアップして、Emacsとかコマンドラインとか徹底的にやりました。
バッファの概念とか当時はさっぱりだった気が。
とにかくコマンドラインを使いまくったのでその時やっといて本当に良かったなと。
情報数学
何が情報数学なのだかようわからなかったけど、
- 数列
- 証明
- 2進数
- 不等式
- 集合論
なんかをやりました。他にも合った気がするけど。
今後情報系のなにがしを理解するのに重要な数学。
この後出てくるかも...!?
なぜか青チャートを使ってました。
- 作者: チャート研究所
- 出版社/メーカー: 数研出版
- 発売日: 2003/03
- メディア: 単行本
- 購入: 4人 クリック: 225回
- この商品を含むブログ (17件) を見る
というわけで1年生の時はこんな感じ。よく覚えてんな。
2年目
まだまだ少ないですが、
という感じ。
情報工学基礎2
これはアルゴリズムやデータ構造がメイン。
例えばスタックやキューなんかの概念なんかを。
データ構造は何かアルゴリズムを実装する際に効率よくやるために重要な概念なので是非押さえておくべき。
ソフトウェア工学の基礎みたいなやつ
これはタイトルが思い出せずまんまの見出し。
というわけでソフトウェア工学の基礎みたいなやつも2年次にやりました。
具体的にはウォーターフォールの話だった気がする。
5年次に詳しくソフトウェア工学をやります。
参考図書は基本情報技術者の参考書を使ってました。
平成25年度【秋期】 基本情報技術者 パーフェクトラーニング過去問題集 (情報処理技術者試験)
- 作者: 山本三雄
- 出版社/メーカー: 技術評論社
- 発売日: 2013/06/21
- メディア: 大型本
- この商品を含むブログ (2件) を見る
3年目
3年目はこんな感じ
やや増えて来ました。
論理回路
これはビットを色々操作する感じの話。n進カウンタとかフリップフロップ回路とか。
PCの内部をしっかり理解するのに最もベーシックな概念。
ボスは自動販売機!
参考図書はこちら
- 作者: 山田輝彦
- 出版社/メーカー: 森北出版
- 発売日: 1990/06
- メディア: 単行本
- この商品を含むブログを見る
確率統計
これはもう当時さっぱりでしたね。
ベイズの定理から各分布の勉強をしてました。
参考図書はこちら
- 作者: 高遠節夫
- 出版社/メーカー: 大日本図書
- 発売日: 2005/11
- メディア: 単行本
- クリック: 3回
- この商品を含むブログ (1件) を見る
統計に関しては漫画で分かる系も良い
- 作者: 高橋信,トレンドプロ
- 出版社/メーカー: オーム社
- 発売日: 2004/07
- メディア: 単行本
- 購入: 156人 クリック: 1,757回
- この商品を含むブログ (194件) を見る
アルゴリズムグラフ論
これは2年の時の少し深くなった版とグラフ理論の話。
アルゴリズムはソート・探索・文字列探索のアルゴリズム。
特に探索アルゴリズム関連は重要かと。
グラフ理論はハミルトングラフとかその辺。
今後facebookとかのグラフ解析とかもやりたいと思っているので、思い出そうかな。
他にもNP完全問題の話とか面白かったな…
電気回路
情報工学との関連が遠すぎて当時は理解出来なかったですね。
今はどんな問題も簡単に解けると思いますが。
複素数とか微分方程式の概念をしっかり学べたのは重要ポイント。
実際に微分の物理的意味とかがわかってくるところ。
参考図書は忘れました
C言語
最大の壁ですね。おそらくみなさん相当苦しんだのでは?
ポインタが最大のつまづきポイント。セグメンテーションエラーとか毎回パソコンぶっ壊そうと思ってた。
ベタですがカーニハンのこの本
- 作者: B.W.カーニハン,D.M.リッチー,石田晴久
- 出版社/メーカー: 共立出版
- 発売日: 1989/06/15
- メディア: 単行本
- 購入: 28人 クリック: 721回
- この商品を含むブログ (205件) を見る
コンピュータ・ネットワーク1
これは4年にコンピュータ・ネットワーク2もやるんですが、内容をまとめて。
とりあえず「アプセトネデブ」だけ覚えとけって感じ。
今思うとほんとしっかりやっとけばよかったと思う教科の一つ。
各レイヤの役割は覚えているけど、おそらく社内LAN構築してって言われても今いきなりは無理w
CCNAの本で学びました
シスコ技術者認定公式ガイド CCNA【ICND2】編(試験番号640-816J/640-802J)
- 作者: Wendell Odom,シスコシステムズ合同会社,株式会社トップスタジオ
- 出版社/メーカー: 翔泳社
- 発売日: 2008/04/17
- メディア: 単行本(ソフトカバー)
- クリック: 9回
- この商品を含むブログ (7件) を見る
まだ専門があったきがするけど3年生はこんな感じ
4年生
この年は結構重要なのがちらほら
- 応用数学
- 電子回路
- 電磁気学
- 計算理論
- コンピュータ・ネットワーク2
- オートマトン
- オペレーティングシステム
- デジタル制御
- 数値解析
- Java
という感じ。
電子回路
主にトランジスタとかFETとかの話。
これも大学入ってから役立ちました。
電磁気学
電気系の基本ですね。
マクスウェル方程式は今でもいえますw
ただ高専時代はテストに公式とか書いてあってぬるかったなと思いました。後に
大学でベクトル解析を理解して電磁気学やり直したら色々スッキリしました
オートマトン
有限オートマトンとか文脈自由文法とかその辺の話。
後にコンパイラを理解するのに重要な概念。
さらに自然言語処理とかでも重要。
教科書はこれ
- 作者: 富田悦次,横森貴
- 出版社/メーカー: 森北出版
- 発売日: 1992/05
- メディア: 単行本
- クリック: 7回
- この商品を含むブログ (5件) を見る
オペレーティングシステム
Linuxのシステムが事細かに書かれている本
LinuxはモノリシックなOSということを初めて知りました。
デーモンとか割り込みとか
そういう概念とかを主に。
もっとしっかりやっとけばよかったと思う教科の一つ
Linuxカーネルというクソ読みにくい本を渡され、
「わかりにくい本を読む練習だ」とか言われました。
実習Linuxカーネル―理論と実習 カーネルを効率的に理解するための実習書
- 作者: ゲーリーナット,Gary J. Nutt,浜田真理,浜田光之
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2001/12
- メディア: 単行本
- クリック: 3回
- この商品を含むブログ (7件) を見る
デジタル制御
すごくラプラス変換をやりました。
他にはシステムの安定性など。
どちらかと言うと機械制御の話。
今でこそ利用していないけど、将来ハードウェアの事業をやる時に役立つかも…!
覚えてないけど適当に制御工学とかデジタル制御とかググれば色々出てきます。
数値解析
計算機だけで微分や積分、ルートの計算などをやる話。
誤差の部分はかなり重要で、しっかりやりました。
スプライン補間とか懐かしい…
ビジネスにおいても使いそうな概念。(未だにその場面には出会ってないがw)
教科書はこれ
- 作者: 洲之内治男,石渡恵美子
- 出版社/メーカー: サイエンス社
- 発売日: 2002/05
- メディア: 単行本
- クリック: 4回
- この商品を含むブログを見る
Java
C言語にくらべかなり楽だったきがする。
ただヌルポが出て時は毎回PCを壊そうかと思ってました。
これについて言及したいのが、オブジェクト指向の概念をしっかり座学で教えるべき。
オブジェクト指向単体で授業がないとダメだと思う。
あとはUMLもやったけど、もっとしっかりやるべき。
社会人になってから思うと何かと漏れが多い授業だった。
本はこれ
- 作者: 高橋麻奈
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2009/09/01
- メディア: 単行本
- 購入: 5人 クリック: 170回
- この商品を含むブログ (8件) を見る
4年は盛りだくさんでした。
5年目
高専の集大成ともいえる学年
こんな感じ
コンパイラ
これはコンパイラ一般って感じ。後に自然言語処理とかにつながりそうなやつ。
- 構文解析
- 字句解析
- 意味解析
- コード生成
このような流れでコンパイラは動きます。
4年目にやったオートマトンとか状態遷移図が重要です。
こんな教科書
- 作者: 湯浅太一
- 出版社/メーカー: 昭晃堂
- 発売日: 2001/06
- メディア: 単行本
- クリック: 39回
- この商品を含むブログ (13件) を見る
データベース
これははっきり言って意味がなかった。
というのも座学でやる意味がないということ。
掲示板でもなんでもいいからwebアプリケーション一つ作らせるのがデータベースを理解させる近道だと思う。
というかRDBMS以外にも今後NoSQLとかを教えないとと思う。
計算機アーキテクチャ
これが情報工学において超重要!
オペレーティングシステムも重要と思ったけど。
CPUやメモリ関連の話。メモリの局所性はサーバーやインフラ関連の職につく人なら重要な概念。
未だに主記憶、フラッシュメモリは何でできているか?という問いに答えられるほどしっかりやりました。
コンピュータアーキテクチャ (電子情報通信レクチャーシリーズ)
- 作者: 坂井修一,電子情報通信学会,電子通信学会=
- 出版社/メーカー: コロナ社
- 発売日: 2004/03/01
- メディア: 単行本
- 購入: 8人 クリック: 75回
- この商品を含むブログ (2件) を見る
情報理論
これもかなり重要。誤り訂正とか誤り検出から始まり、符号化の話がメイン。
Webのしごとしてて使うかどうかは微妙なところだけど。
情報伝送工学
こちらは主にアナログ通信の話。
大学入ってデジタル信号処理やデジタル伝送工学とかをやるのに重要だった。
まぁ当時は全く理解出来なかったけど。
ソフトウェア工学
開発手法に関しての話。
主にウォーターフォール関連。当時アジャイル開発をスパイラルモデルみたいな言い方してたっけ。
実際には若干違うだろうけど。
未だにウォーターフォールをやってたらぶっちゃけ意味ないと思う教科。
大半はSIer行くだろうから重要なのかな。
他にも暗号関連とかも。何より先生が強烈で途中の雑談で編入先の横浜国立大学が2流大学と紹介された良い思い出。
CG関連
POV-Rayを用いて色々やりました。
座学のベクトルや回転行列がしんどかった思いで。
中でも個人的に重要な教科
まとめ
というわけで以上が高専で学んできたことです。
体系的に学びたいと思った方は是非参考に!
しっかり教育のプロが考えた内容なので!
ただ苦言を呈するならば
- データベースは座学よりもwebアプリケーションを作らせるべき
- オブジェクト指向の座学はしっかり
- ソフトウェア工学でウォーターフォールはもういらない
- ソフトウェア工学でUML周りも押さえておくべき
- オペレーティングシステムをやる前に計算機アーキテクチャをやるべき
仮に自分だったらこんなカリキュラムにします。
他にもWeb関連のサーバークライアントアプリケーションの開発はするべきだったなと。
以上、高専で学んだこと大放出記事でした。
情報工学を体系的に学びたいならば是非参考に!
そしてそんな高専を卒業した今私はスタートアップでSmart Canvasというサービスを作っています。
Smart Canvas | WEBコンテンツやHTML5サイトを簡単作成
是非ご確認を!
追記 8/6
色々勘違いさせてしまったので、
追記記事を書きました
続・高専ってすごい!いいことばかりではない高専の実態を事細かに伝える。 - nigoblog