About

I completed my master's degree at the Cheriton School of Computer Science at the University of Waterloo in the Programming Languages Group, under the supervision of Professor Peter Buhr. My master's thesis research explored high level concurrent programming language features, and was completed September 2023. Most of my non-thesis research lies in the areas of concurrency and multi-processing. My interests in computer science include concurrency, programming languages, systems programming and data vizualization; however, this is not an exhaustive list. I'm an avid learner and love tackling new and unfamiliar computer science challenges. Computer science is a rapidly changing field and I firmly believe that the best tool in a software engineer's toolkit is the ability to learn quickly. As such, I consider my strong intuition to be one of my most useful skills, and I am eager to work on new challenging problems.

My thesis involved ideating and developing a suite of cutting edge concurrent language features and libraries for C∀, a research language built on top of C. Independent from thesis work, I also extended and improved some concurrent features of μC++, a C++ based teaching language. If you are interested in C∀ you can learn about it here.

Outside work, I live an active life. Most of my free time is spent training for long distance triathlons, cooking, drawing, or reading.

Education

Ever since my time at the University of Waterloo I've had an insatiable appetite for computer science content. Only 8 computer science courses at the 3rd year or above were required for a bachelor's degree in computer science, yet I took 14. This exposed me to a wide range of subject material and subfields of computer science, which alongside my master's courses provided a breadth of knowledge.

Graduate Courses

  • CS747: Software Verification Using Proof Assistants
  • CS754: Advanced Distributed Systems
  • CS848: High Recall Information Retrieval
  • CS854: Experimental Performance Evaluation

Undergrad Courses of Note

  • CS499T: Honours Thesis: Formalizing Lock Patterns
  • CS488: Intro to Computer Graphics
  • CO487: Applied Cryptography
  • CS486: Introduction to AI
  • CS458: Computer Security and Privacy
  • CS456: Computer Networks
  • CS444: Compiler Construction
  • CS442: Principles of Programming Languages
  • CS370: Numerical Computation
  • CS360: Intro to Theory of Computing
  • CS350: Operating Systems
  • CS349: User Interfaces
  • CS343: Concurrent and Parallel Programming
  • CS341: Algorithms

Visualization Fun

This is a collection of some web-based visualization projects I made for fun in 2019. To see my other side projects such as my DNN-based song recommender, Blinn-Phong ray tracing shader, and others that also can't be shown in browser please check out my Github.

Contact

colbyparsons88@gmail.com

Github

Colby Parsons