見出し画像

ドイツのInformatik(情報工学)の履修内容

ドイツのTUドルトムントでInformatik(Bachelor)を専攻しています。卒業内定となりましたので、今回は必修科目にどんな内容があるのかまとめます。
180LP(単位)で卒業となりますが、ここで紹介するのは副専攻の20LPを除いたぶんになります。副専攻は数学、物理、経済、電気、生物、などから1つ選びます。ワシは日本で西洋史のBachelorを卒業していたので、これを副専攻として認定してもらいました(つまり紙1枚で20LPタダでもらった)。


【TUドルトムントのBachelor Informatik】

TUドルトムントのBachelor Informatikは良くも悪くも極めて標準的なInformatikだと思います。FHよりはTheorie(理論)系が多めらしい。以下のモジュールが必修科目になっています:(略称:正式名称)
〈コアモジュール〉
DAP1   Datenstrukturen, Algorithmen und Programmierung 1  12LP
DAP2   Datenstrukturen, Algorithmen und Programmierung2 12LP
〈数学・理論系〉
Logik  Logik  5LP
MafI1     Mathematik für Informatiker 1 9LP
MafI2     Mathematik für Informatiker 2 9LP
GTI        Grundlage der theoritischen Informatik 8LP
〈ハードウェア・システム系〉
RvS        Rechnernetze und verteilte Systeme 5LP
RS          Rechnerstrukturen 8LP
BS          Betriebssysteme 5LP
〈実践系〉
IS           Informationssysteme 4LP
SWT       Softwaretechnik 4LP
SoPra     Software Praktikum 6LP
HaPra     Hardware Prakrikum 6LP
〈他学部開講〉
WrumS  Warscheinlichkeitrechnung und mathematische Statistik 4LP
ETKT      Elektrotechnik und Kommunikationstechnik 5LP
〈卒論〉
Bachelorarbeit 15LP

1セメスター(日本と同じく4月と10月に開始で、1セメスターは6カ月、授業期間はおよそ15週間)で30LPずつ消化すればRegelstudienzeit(標準修業年数)の3年で卒業できます。まあ、Regelstudienzeit内に卒業する人は少数派ですが……。

【コアモジュールDAP】

プログラミングについてのモジュールです。DAP1は夏秋両方開講で、最初に取るモジュールの一つです。Übung, Praktikum, Klausurから成り立っています。使用言語はJavaで、IntegerやBooleanなどのデータ型と配列などの基本データ構造から始まり、メゾット、クラスや継承、オーバーロード、オーバーライド、二分探索目やリスト、ソートアルゴリズムなどを学びます。Praktikumとしてほぼ毎週行われるミニテストがあり、それをクリアしないとKlausur(期末試験)が受けられません。ミニテストに向けて練習問題がいっぱい用意されているので、ここで基本的なプログラミングの知識と考え方を叩き込まれます(ちょっとトンチみたいなものもあり)。Übungとしてはfreiwilligの(提出や得点要件のない)問題が毎週出ます。freiwilligですが毎週参加することで期末試験への準備ができます。期末試験は紙とペンで(つまりコンパイラなしで)アルゴリズムを考えさせる問題が多いです。

DAP2は名前の通りDAP1の進化版で、O-Notation(計算量分析)やグラフ理論、Greedy-AlgorithmusやDynamische Algorithmenなどを扱います。Praktikumとしてミニテストの代わりに毎週プログラミングの宿題が出るので、それをやってチューターに見せて点数を貰います。一定点数以上獲得でこのモジュールの1部分であるPraktikumを終了できます。これとは別にÜbungとして理論面の宿題も毎週出て、こっちで一定点数以上を取るとKlausurを受けることができます。

12LPと重いモジュールですが、Informatikの根幹といってもいいでしょう。1セメスターで完了せず、まずはPraktikumだけを合格して、次のチャンスでÜbungをこなして…というやり方もOKです。
ただし注意すべきなのは、DAP1のPraktikumが終わっていないと、後述のSWTを受講できないことです。

【数学・理論系】

プログラミングをしに来たのに数学ばかりでイヤになって辞める人が続出する原因のモジュールたちです。MafI1と2では、集合、解析、線形代数、数論、離散数学、帰納法、背理法などを学びます。MathematikとInformatikの両方を専攻した知り合い曰く、MafIは結構深く数学を扱っているとのこと。とはいえ、前述のDAP2で必要になる知識も多く、個人的にもその後のITバイトで役立っています。数学はすべての科学を支えるなんて言われますが、まさにその通りです。
というと数学が得意じゃないといけないのかと思われますが、そうではありません。ワシは高校時代文系でIIBまでしか履修してませんが、どうにかなりました。得意じゃなくても、嫌いじゃなければOK。好きなら苦手でも乗り越えられます。難関モジュールなのでチューターに質問しに行けるHelp Deskか用意されてます。宿題でわからないところがあったら行きましょう。アホな質問しても、ドイツ語が下手でも、大体のチューターは親切に教えてくれます。全然わからなくて涙目で質問してどうにかなった後、チューターが「でも今日ここにきてわかったじゃん。ならいいじゃん。授業だけじゃわからないのはよくあること。誰かにきいたりしてわかるようになればいいの。」と言ってくれました。質問しに行くのは勇気がいりますが、それで少しでも理解が進んだならいいんです。自分で理解できなくても、誰かに教えてもらって理解できたならいいんです。
Logikは集合や条件に基づいた情報処理に重点を置いたモジュールです。Aussagenlogik、Modallogik、Prädikatenlogikという積み上げ式になっています。5LPの割には難易度も高く労力がいりますが、ハマると楽しいです。こちらもなかなか難しく、数学同様にHelp Deskがあるのでわからなかったら突撃して宿題をこなして得点してKlausur受験資格を得るタイプです。

DAP2、MafI1、Mafi2、Logikは俗にTodesklausur(死の試験)と呼ばれるもので、1年目に手を付ける場合が多いモジュールです。Bachelor Informatikは入学制限がない場合が多いので、ある種の振るい落しとして機能している側面もあります…。

【ハードウェア・システム系】

前述の2カテゴリとはうってかわり、パソコンやネットワークの中で「情報」がどのように処理されているのかを学ぶモジュールです。総じてあまり難易度は高くないです。
RvSはサーバーとクライエント間のやり取りやネットワーク内のルーターの働きなどを見ます。冬セメスタ開講モジュールで、クリスマスと年末年始の休みに宿題が出て、それを十分にこなせばKlausurを受けられます。リクエストをListenしてスレッドを複数立ち上げて…といった内容でした。使用言語もJavaなのでDAP1を終えていればできる内容です。のちにWebtechnologieなどを選択科目で学ぶ場合、大切な基礎知識になります。
RSはパソコンの中についてです。例えば、文字や数値がBinaryな世界でどのように保存されているのか、基本的なAddierer(加算器)などがSchaltnetzによってどう実装されているのかなどを学びます。のちのHaPraに必要な基礎知識になります。あと、少しだけアセンブラもやります。
BSではLinuxについて学びます。基本的なLinuxの命令や、スレッド管理、タスクのスケジューリング、セマフォア…なんてのがキーワードです。軽くCに触れます。

【実践系】

これぞ情報専攻!というモジュールです。SQL学んだり、グループでちっちゃいソフト作ったり。総じて楽しいです。そして難しくない。DAPやMafIなどの理論系モジュールを乗り越えた先には楽しみがあります。

【他学部開講】

WrumSもETKTも必修ですが、他学部の先生が教えています。情報学科も他学部向けの授業を開講したりしてます。
WrumSは、ざっくりいうと統計初級。日本の進学校の高校レベルの数学ができればそんなに難しくないです。
ETKTは名前の通り電気と通信。これも高校で物理やった人ならさほど難しくはないと思います。ワシは高校文系で全く物理やってなかったので苦労しました……。Informatik(情報)の他にもMaschinenbau(機械)やChemie(化学)の学生も受けるので、専攻間の公平性のためにどの問題もそこそこ難しい設定になっており(ガッターの問題を難しくするとInformatikの学生は点が取れるけど化学や機械の学生は点が取れない、など)、合格は難しくないけど高得点は難しいタイプでした。ちなみにマーク式でした。

【卒論】

卒論については別記事でまとめたのでこちらを参照ください。

【まとめ】

この他には選択必修や選択科目があります。グラフ理論、ウェブテク、セキュリティなど様々な分野があり、自分の興味や卒業後の希望就職分野に合わせて履修できます。TUドルトムントの履修内容を紹介しましたが、ドイツのUniversitätのBachelor Informatikはどこも似たり寄ったりの内容だと思います。
大学の勉強では一通りITの基礎を鍛えられます。そして実際に働いてみると解像度が上がります。新卒一括採用みたいなのがないドイツでは卒業後仕事にありつきやすいように学生のうちから専攻関連分野のバイトやインターンをすることが多いですが、大学でやったことの理解を深めるためにも在学中のバイト・インターンはおススメです。


この記事が気に入ったらサポートをしてみませんか?