I’m taking two courses this semester — Computational Tools and Modern Complexity Theory. This will keep me busy, but I’m excited about the content for both courses.
Here’s a preview of what I’ll be learning.
Computational Tools
This is a required course designed to help students develop practical programming skills for problem solving in science and engineering. First we’ll be covering fundamental aspects of the following languages.
LaTeX
Python
R
Mathematica
Julia
Then, we’ll receive a crash course in information theory, learn to apply its concepts to real-world analysis, and cover a few different measures of complexity. For our final project we’ll build a software program designed to help answer a question or solve a problem in our field of interest by using information-theoretical approaches.
I’m looking forward to brushing up on my skills in Python and R in a highly practical setting while adding a few other languages to my toolkit. I’m also excited to be learning about information theory and complexity with Prof. Hiroki Sayama.
Modern Complexity Theory
This is an elective designed to introduce students to major topics in complexity theory such as emergence, self-organization, and adaptation. Lectures will cover formal theories, practical applications, and philosophical implications while exposing us to methods for understanding complex systems such as network science and agent-based modeling. Our final project will involve writing an essay accompanied by code that will be the equivalent of a paper that could be submitted to a conference.
I’m excited to seriously engage with and deepen my understanding of complexity theory with Prof. Carlos Gershenson. I’ve been more drawn to the world of “systems” than the world of “complexity” during my independent studies and know there’s a lot that I’ve been missing. This will be a great opportunity to refine my perspective on the relationship between systems science and complexity science and serve as a nice complement to my work in Computational Tools.