

We live in a world where everyone walks around with a computer in their pockets. While math is certainly a related field, it's somewhat tangential. This is a problem because programming is an application of logic and reasoning. We teach math starting from kindergarten, but we don't talking about logic and reasoning until high school. I believe that logic and reasoning are not sufficiently well developed in schools. I've taught Lego Robotics to 5th graders and Swift and iOS programming to the Girls Who Code – a group of high school girls interested in promoting STEM to girls in high school. I really love to teach logic and programming. I studied Computer Engineering at the University of Toronto where I got my bachelors and masters in Computer Engineering. I've been a Software Engineer for over 10 years. We look forward to teaching this course and we hope you enjoy it. However, even if you are not an academic, you will benefit from taking this course. We feel that this course will best serve college level students, graduate students, and maybe even professors, since Mathematica is great for producing publication quality graphics.

Periodically, we’ll have projects for you to work on. You will get the most out of this course if you do all of the exercises. These notebooks provide a bunch of problems for you to work on and will really help to internalize the new material. You can download the lecture notebook and follow along with us, as the best way to learn to program is to get as much practice as possible. Each lecture is also accompanied by an exercise notebook. In each lecture, we will introduce new concepts, and demonstrate use cases with interesting examples.

After that, we will get into the nitty gritty details of programming with the Wolfram Language. To get you started off quickly, we will jump right in with plotting and animating, data and mathematical functions. And so our focus in this course is programming using the Wolfram Language. While Mathematica has many built in functions for doing really amazing things, we feel that a good understanding of how to code frees you to be able to make just about anything.

In this course, we're going to teach you how to use the powerful graphics and animation tools available in Mathematica for prototyping ideas and visualizing data.
