Git is fantastic. It's really helped me branch out.
Worked for the company in the Summer of 2016 as a software development intern.
Worked for the company in the Summer of 2015 as a software development intern.
Finite state automata, regular languages, Turing-recognizability and completeness, computational complexity classes (P,NP,PSPACE, etc).
Used modeling tools and proof assistants (e.g. Alloy, Z3) to model systems and programs, and to prove properties thereof.
Analyzed distributed and concurrent computing with topological tools.
Explored the principles of modern programming languages by implementation in Pyret.
Used Matlab to investigate various topological phenomena. Examples: computing homotopies, homology groups.
Used C and Assembly to learn about systems: storage, cache, processors, threads, etc.
In the first semester, used Racket and OCaml to learn recursion, higher-order functions, testing, and some algorithms and analysis thereof. In the second semester, used Java and Scala to learn object-oriented programming/design patterns, data structures, and dynamic programming.