Go Programming (Spring 2017)

Welcome! The course will meet Tuesdays 10:30 – 12:00pm in Towne 315!

Course Description

Go is an open source programming language created by Google designed for speed, efficiency and infrastructure. While Go is particularly proficient at concurrent systems programming, it has a variety of uses and has been gaining popularity in a variety of fields, including graphics, mobile applications and machine learning. Go is simple, fast and is continuing to rapidly grow in industry. In this course, we will cover what makes Go so unique and apply it to practical, real world situations. Topics covered will include concurrency and parallelism, goroutines and channels, web scraping, and other popular industry Go applications. Evaluation is based on regular homework assignments and class participation.


  • CIS 120
  • CIS 240 or familiarity with the C/C++ family of languages recommended

Please speak to us if you do not meet the requirements or have any other questions or concerns.

  • The Go Programming Language by Alan Donovan and Brian Kernighan
  • Go In Action​ by William Kennedy
  • Programming in Go by Mark Summerfield

Shared Lecture

The CIS19X common lectures will be held 4 times at the beginning of the semester, and will be taught by Joe Devietti. The topics will be:

  • Command line (1/18)
  • Git (1/25)
  • HTTP and DNS (2/1)
  • HTML and CSS (2/8)

We will assume you are familiar with these topics, so be sure to attend if you are unfamiliar with any of these topics or need to brush up.