Learning Computer Science with Go

By Brian Douglas

Elevator Pitch

Go is the perfect language to learn Algorithms and Data Structures for the first time. In this talk I will share my experience in doing so.

Description

Programmers come into the industry from all different angles, only one of which is through a Computer Science degree. The need to know algorithms and data structures only increases as a programmer’s day to day work increases.

Come listen to my experiences as a Ruby developer who entered the industry via a boot camp and how I learned computer science while also learning, Go. Go increased my potential for learning due to its clear limitations with the Standard Library and necessity to not rely on any magic to traverse Stacks and Queues. I will share insights into the discoveries I found while learning Go and how I approached building the data structures we mostly take granted in a more dynamic language.

Outline/Story:

  1. The tools Go gives you out of the box, Maps, Slices, etc..
  2. Missing Pieces – built in functions you normally get from a Ruby/Python
  3. My approach to Building Simple Data Structures in Go by hand - Stacks, Queues, Maps
  4. Solving Algorithms with the same Data Structures from above
  5. How I profited from this experience (the job I got and the interview I went through)

Notes

I first started learning Go a year prior to this and did not fail, but succeeded. As a newer programmer in the field, I did not know what to use Go for and moved on. I returned to Go when I saw a need to learn Computer Science and finally found a way to make my Go knowledge stick. I have since written a few blog posts on my experience and looking to give a talk as well.