Go is a great language for CS majors. This page presents some university courses that use Go. For a list of free and commercial Go training classes, see the Learn wiki.
- University of Helsinki, Department of Computer Science used to have a course named Introduction to Go, taught by K. Bäckman: http://www.cs.helsinki.fi/courses/582336 in Spring 2010.
- University of Sofia "St. Kliment Ohridski", Faculty of Mathematics and Informatics has elective course named "Programming with Go", taught by K. Vladimiroff: http://fmi.golang.bg (bulgarian) and their [public lectures] - (also in bulgarian)
- Free University of Berlin (Germany) had a course Introduction to Go Programming in Spring 2013.
- J.W. Goethe University (Frankfurt/Main, Germany) had a course Introduction to Go Programming in Spring 2015 (in german)
- University of Pennsylvania had a course on Go Programming in Spring 2017.
- President University (Cikarang, West Java, Indonesia) had a course Programming Concepts for every junior students (using C, Go and Javascript).
- CS 4830: Science and Engineering of the WWW taught by Ryanne Dolan at University of Missouri: http://4830.ryannedolan.info/
- CSCI 130: Web Programming taught by Todd McLeod at California Statue University Fresno
- CSCI 194: Adv. Web Programming taught by Todd McLeod at California Statue University Fresno
- CIT 90: Data Drive Websites taught by Todd McLeod at Fresno City College
- CIT 94: Server Side Scripting taught by Todd McLeod at Fresno City College
-
Go is being used at the end of a yearlong freshman computer science class at KTH: http://www.nada.kth.se/~snilsson/concurrency/.
-
Go, Concurrent and Systems Programming from Rochester Institute of Technology: http://www.cs.rit.edu/~ats/go-2011-2/index.xml
-
Free University of Berlin (Germany) had a course on Concurrent Programming with Go as a reference language in 2013.
-
University of Duisburg-Essen (Germany) had a lecture about Go and CSP within their course on Concurrent systems modelling in summer 2014. [Slides]
-
University of Stavanger, Norway. We use Go to teach concurrency principles in DAT320 Operating Systems. http://www.uis.no/studies/study-courses/?code=DAT320_1&parentcat=9835
-
University of Tromsø, Norway. Concurrent and Data-Intensive Programming (INF-2200).
-
Distributed Computer Systems (CS 138) at Brown: http://cs.brown.edu/courses/cs138/s16/syllabus.html
-
Distributed Systems course (COS 418) at Princeton: https://www.cs.princeton.edu/courses/archive/fall16/cos418/
-
Distributed Systems course (15-440) at CMU: http://www.cs.cmu.edu/~dga/15-440/F12/index.html (see also http://da-data.blogspot.se/2013/02/teaching-distributed-systems-in-go.html)
-
6.824 Distributed Systems at MIT is using Go in its labs: http://pdos.csail.mit.edu/6.824/.
-
CSE 223B, Spring 2014: Distributed Computing and Systems at UC San Diego http://cseweb.ucsd.edu/classes/sp14/cse223B-a/index.html
-
Dixie State University teaches Go in an introductory course to programming languages and later on in distributed systems.
-
CS 352, Computer Organization and Design, at the University of Wisconsin, Eau Claire: http://cs.uwec.edu/~buipj/teaching/cs.352.f13/lab_01_high_performance_computing.html
-
KTH Stockholm uses Go to teach concurrency: http://www.nada.kth.se/~snilsson/concurrency/
-
Norwegian University of Science and Technology: TTK4145 Real-Time Programming http://www.itk.ntnu.no/fag/TTK4145/information/
-
University of Stavanger, Norway. We use Go to build a replicated state machine based on Paxos in DAT520 Distributed Systems. http://www.uis.no/studies/study-courses/?code=DAT520_1&parentcat=9835
-
Moscow State University, Russia. Go is used in graduate course on "Selected Topics in Distributed Systems Engineering"
-
D7024E - Mobile and Distributed Computing Systems at Luleå University of Technology. Go is used to implement the DHT algorithm Chord and create a data replication system. http://www.ltu.se/edu/course/D70/D7024E/D7024E-Mobila-och-distribuerade-datorsystem-1.67844?l=en&kursView=kursplan
-
University of Tromsø, Norway. Distributed Systems Fundamentals (INF-3200) and Advanced Distributed Systems (INF-3203).
- Computer Networking (COS 461) at Princeton: http://www.cs.princeton.edu/courses/archive/spring16/cos461/ (See Assignment 1 https://github.com/PrincetonUniversity/COS461-Spring2016/tree/master/notebook/assignment1 and Assignment 4 http://www.cs.princeton.edu/courses/archive/spring16/cos461/assignments/.
-
Compiler Design (CS712/CS812) at the University of New Hampshire: http://www.cs.unh.edu/~cs712/. In Fall 2016 we are compiling a subset of Go to LLVM code.
-
Introduction to Compilers (6197, Spanish) at Rey Juan Carlos University of Madrid: http://lsub.org/comp. Students write a compiler in Go that implements a language for drawing graphics.
- Computer Systems Security (CS166) At Brown University. In particular, the final Dropbox Project.