Learn More About Me

I'm Curtis a computer scientist and geographer from Ontario, Canada. I graduated from The University of Western Ontario with a degree in Computer Science while minoring in Geography.

I've always been interested in computers and software, From games and media to hacks that give you a completely different user experience. There's so many unique adventures and opportunities that can potentially change our lives just waiting for us on a box on a desk or in our pocket.

Computer science and programming is both a powerful tool that can be used to build vast systems that influence the world from cryptocurrencies, labs and research facilities , to social networks and news delivery. It can be a creative outlet that can bring joy to those who use our apps, websites, and programs. The power a programmer has is what makes the field so intriguing

In a similar nature geography is another field of science which has a great reach. It’s the study of not just the land and its’ features but also the inhabitants. The interactions and complexities between these things is a fascinating subject that is always changing.

Having knowledge of both these subjects can be an asset. Computer science techniques can be used to study the land and its’ people both the physical interactions, where people live and how they use the land, but also how people interact with one another. The study of geography can be used to aid software as well. Having an understanding of groups of people can help to develop experiences they want and need.

Since graduating I have spent time reading articles, listening to podcasts, watching videos, studying books, and taking courses to help expand my knowledge further. I always look forward to seeing and exploring new technologies, languages, and libraries as they are created. I feel this is a good quality of a modern programmer.

Along with a strong desire to learn there are other aspects I believe can help make a good programmer. The first is creativity. Creativity helps to find new solutions to problems that someone else might not. Whether it’s an idea for an app, debugging a tricky error, or getting a system planned out and running, creativity is needed to find solutions. To go with creativity we need a passion. Even if I don’t know how to solve a problem I want to know how to solve it. This could be googling, reading documentations, or looking at similar problems to find a pattern. Even if a solution isn’t thought of instantly a perseverance is important to get things done. Amidst all this chaos of constantly learning new things and searching for solutions to the newest problems organization is important. Organized, well documented, code can help both others and the author understand the code. Even an agile development plan adds direction to projects and can be a strong guideline to solving problems.

  • Multimedia & Communication I and II : Learning HTML, CSS, Photoshop, Flash, Audio Editing, Web Design
  • Computer Networks: Covering many aspects of computer networking. Included a project building a Google drive clone using Redis and C
  • Computer Graphics: Beginner principles of computer graphics including drawing algorithms, meshes, and building a ray tracer
  • Theory and Practice of High Performance computing: Introduction to parallel computing and the Julia programming language
  • Operating Systems: How operating systems work primarily focusing on Linux
  • Artificial Intelligence: AI algorithms used in building a Pac-man player in Python
  • Group Projects: Building A weather app in Java and Data Analysis Software in C++.
  • Computer Science classes studying: Data Structures, Algorithms, Programming Languages, Logic, and computer science principles.
  • Geographic Information Systems: Techniques used in GIS systems focused on ArcGIS.
  • Digital Earth: Using Google Earth images to do case studies of geographic events and hazards around the world.
  • Spatial Analysis: Using statistics to understand and predict events, people, and places
  • Geography classes studying: Geography of Canada and the World, Covering the Topics of Environment, Economics, Weather, and Society.
  • Geography Tools: I have used ArcGIS and Google Earth Pro for school projects
  • Creative Tools:Some use of Dreamweaver, Illustrator, Flash CS6, AutoCAD, Photoshop and GIMP throughout highschool and University
  • Programming Languages I Use: GoLang , C++, NodeJS and ES6 Javascript, HTML, CSS. I'm always looking to learn more!
  • Other Software: Using PhaserJS to build games, Setting up and running VMs and developer environments
  • Hardware: Building and maintaining desktops along with troubleshooting issues
  • C++ For Beginners by John Purcell
  • Advanced C++ Programming by John Purcell
  • C++ for Programmers by Catherine Gamboa
  • Web Development With Google's Go Prgramming Language by Todd McLeod
  • Web Applications for Everybody offered by University of Michigan (Coursera php course)
  • Introduction to Javascript, Introduction to ES6+(Scrimba Courses)
  • The Complete SQL Bootcamp (Udemy Course)
  • Query a GraphQL API's Types With Introspection Queries (egghead.io)
  • CSS Grid - Wes Bos Youtube Tutorial