Go Wiki: コース
はじめに
Go は CS 専攻の学生にとって素晴らしい言語です。このページでは、Go を使用する大学のコースを紹介します。無料および有料の Go トレーニングクラスのリストについては、Learn wiki を参照してください。
言語
- ヘルシンキ大学コンピュータサイエンス学部では、K. Bäckman が教える Go 入門というコースが以前ありました: http://www.cs.helsinki.fi/courses/582336 (2010年春期)。
- ソフィア大学「聖クリメント・オフリドスキ」数学情報学部には、K. Vladimiroff が教える「Go によるプログラミング」という選択科目があります: http://fmi.golang.bg (ブルガリア語) および [公開講義] - (これもブルガリア語)。
- ベルリン自由大学 (ドイツ) では、2013年春期に Go プログラミング入門というコースがありました。
- J.W. ゲーテ大学 (フランクフルト/マイン、ドイツ) では、2015年春期に Go プログラミング入門というコースがありました (ドイツ語)。
- ペンシルベニア大学では、2017年春期に Go プログラミングに関するコースがありました。
- SUNY ポツダム (ニューヨーク州ポツダム) 「Go を使用した選択言語コース」、ブライアン・C・ラッド博士 (コンピュータサイエンス准教授) が担当。2017年春期に最初のクラスが開講されました。
- ミラノ大学には、パオロ・ボルディが教える「コンピュータプログラミング」というコースがあります: http://boldi.di.unimi.it/Corsi/Inf2018/
- ザグレブ大学 (クロアチア) 電気工学・計算機学部では、2020年から Z. Bratković と B. Banelli が担当する継続中のコース Go プログラミング言語があります。ビデオは学年度 2019./2020. および 2020./2021. (クロアチア語) から入手できます。
- マサリク大学情報学部では、2023年より PB173: ドメイン固有開発コースの一部として Go コースを提供しています。現在のコース資料は course-go organization の下で公開されています。
プログラミングの概念
- プレジデント大学 (チカラン、西ジャワ、インドネシア) では、すべてのジュニア学生向けに プログラミングの概念というコースがありました (C、Go、JavaScript を使用)。
ウェブ
- ミズーリ大学でライアン・ドランが教える CS 4830: WWW の科学と工学: http://4830.ryannedolan.info/
- カリフォルニア州立大学フレズノ校で トッド・マクロードが教える CSCI 130: ウェブプログラミング
- カリフォルニア州立大学フレズノ校で トッド・マクロードが教える CSCI 194: 高度ウェブプログラミング
- フレズノシティカレッジで トッド・マクロードが教える CIT 90: データ駆動型ウェブサイト
- フレズノシティカレッジで トッド・マクロードが教える CIT 94: サーバーサイドスクリプティング
並行処理
-
KTH の1年間の新入生コンピュータサイエンスクラスの終わりに Go が使用されています: http://yourbasic.org/golang/concurrent-programming/
-
ロチェスター工科大学からの Go、並行処理およびシステムプログラミング: http://www.cs.rit.edu/~ats/go-2011-2/index.xml
-
ベルリン自由大学 (ドイツ) では、2013年に Go を参照言語として 並行プログラミングに関するコースがありました。
-
デュースブルク=エッセン大学 (ドイツ) では、2014年夏に 並行システムモデリングのコース内で Go と CSP に関する講義がありました。 [スライド]
-
スタヴァンゲル大学、ノルウェー。DAT320 オペレーティングシステムで並行性原理を教えるために Go を使用しています。 http://www.uis.no/studies/study-courses/?code=DAT320_1&parentcat=9835
-
トロムソ大学、ノルウェー。並行処理およびデータ集約型プログラミング (INF-2200)。
-
ビクトリア大学 (カナダ) では、プログラミング言語 (CSC 330) の一部として、並行処理のセクションで Go を使用しました。
分散コンピューティング
-
ブラウン大学の分散コンピュータシステム (CS 138): http://cs.brown.edu/courses/cs138/s16/syllabus.html
-
プリンストン大学の分散システムコース (COS 418): https://www.cs.princeton.edu/courses/archive/fall16/cos418/
-
CMU の分散システムコース (15-440): http://www.cs.cmu.edu/~dga/15-440/F12/index.html (こちらも参照: http://da-data.blogspot.se/2013/02/teaching-distributed-systems-in-go.html)
-
MIT の 6.824 分散システムでは、ラボで Go を使用しています: http://pdos.csail.mit.edu/6.824/。
-
UC サンディエゴの CSE 223B、2014年春期: 分散コンピューティングとシステム http://cseweb.ucsd.edu/classes/sp14/cse223B-a/index.html
-
ディクシー州立大学では、プログラミング言語の入門コースで Go を教えており、その後、分散システムでも教えています。
-
ウィスコンシン大学オー・クレア校の CS 352、コンピュータ組織と設計: http://cs.uwec.edu/~buipj/teaching/cs.352.f13/lab_01_high_performance_computing.html
-
KTH ストックホルムでは、並行処理を教えるために Go を使用しています: DD1396 並列および並行プログラミング。 https://www.kth.se/student/kurser/kurs/DD1396
-
ノルウェー科学技術大学: TTK4145 リアルタイムプログラミング http://www.itk.ntnu.no/fag/TTK4145/information/
-
スタヴァンゲル大学、ノルウェー。DAT520 分散システムで Paxos に基づく複製ステートマシンを構築するために Go を使用しています。 http://www.uis.no/studies/study-courses/?code=DAT520_1&parentcat=9835
-
モスクワ州立大学、ロシア。Go は大学院コース「分散システム工学の選択トピック」で使用されています。
-
ルーレオ工科大学の D7024E - モバイルおよび分散コンピューティングシステム。Go は DHT アルゴリズム Chord を実装し、データレプリケーションシステムを作成するために使用されています。 http://www.ltu.se/edu/course/D70/D7024E/D7024E-Mobila-och-distribuerade-datorsystem-1.67844?l=en&kursView=kursplan
-
トロムソ大学、ノルウェー。分散システムの基礎 (INF-3200) および 高度分散システム (INF-3203)。
ネットワーキング
- プリンストン大学のコンピュータネットワーキング (COS 461): http://www.cs.princeton.edu/courses/archive/spring16/cos461/ (課題1 https://github.com/PrincetonUniversity/COS461-Spring2016/tree/master/notebook/assignment1 および課題4 http://www.cs.princeton.edu/courses/archive/spring16/cos461/assignments/ を参照してください。
コンパイラ設計
-
ニューハンプシャー大学のコンパイラ設計 (CS712/CS812): http://www.cs.unh.edu/~cs712/。2016年秋には、Go のサブセットを LLVM コードにコンパイルしています。
-
マドリードのレイファンカルロス大学のコンパイラ入門 (6197、スペイン語): http://lsub.org/comp。学生は、グラフィック描画用の言語を実装するコンパイラを Go で作成します。
セキュリティ
- Boot.dev の Go で暗号化を学ぶ。ブラウザ内コーディングコースで、Go 言語で暗号化の原理が教えられます。
- ブラウン大学の コンピュータシステムセキュリティ (CS166)。特に、最終的な Dropbox プロジェクト。
このコンテンツはGo Wikiの一部です。