Math Workshop on Data Analysis

This is the homepage for the workshop. My name is Ryan Mickler (), and i'll be your principal instructor for this course, I'll be assisted by Nate Bade.

Resources

We will be developing in c++, which is one of the most popular programming languages used today. The best online source for learning this language in my opinion is LearnCPP. If you work through the exercises in section 1, you should be in good shape to start this workshop. If you use a windows machine, then you will need to have a copy of the integrated development environment (IDE) called Visual Studio Community (2015) installed: Download Link. You might need to sign up for a licence, but I believe the Community version is completely free.

If you use macOS, we will be developing in Apple's Xcode, which is also free. You can install this through the App Store. If the app store wont allow you to install a version of Xcode that works with your version of MacOS X, then come and see me. I have some older install files available.

Example solution for Visual Studio 2013/2015 download

UPDATE: new TestProject File download (Will fix MSVCP120D.dll error, make sure you build in release!

Example solution for Visual Studio 2010 download

We will be using the free Open source image processing and computer vision library called OpenCV.

Download OpenCV3 For Windows (For VS2013/15)

Download OpenCV 2.4.1 For Winodws (For VS2010)

Download OpenCV3 For MacOS

Me and Nate will be around to help get all of this software working on your laptops, and we'll also have machines in the Lab with it all pre-installed. Here is a useful guide to get OpenCV3 working with XCode. And here is a guide to installing OpenCV. On MacOS, you will need also to install CMake.

Major Projects

Preliminary Project List

Activities

Week 1 (9/7): Introduction to Programming in C++

  • Preliminary Lab Session 1: Introduction to the IDE's
  • Here we'll be learning how to navigate around XCode and Visual Studio 2015 and how to debug our programs at runtime.

Week 2 (9/14): Programming Practice

  • Preliminary study: Familiarize yourselves with C++

Week 3 (9/21): Basics of Image Analysis

Lab Session 1: Introduction to OpenCV: Images, Matrices and Filters
Worksheets: Gallery:

Duck Duck Edges Stove Stove Edges


Week 4 (9/28): Minor Projects

  • Minor-Project: More sophisticated Sobel/Canny edge detector Project File

Week 5 (10/5): Fourier Analysis

Fourier

Lab Session 2: Basics of the Fourier Transform (FT), 2D Discrete FT (DFT), DFT's for image analysis
Worksheets: Gallery:


Week 6 : Beginning of Major Projects

  • Group Selection and Project Assignments. Background Reading

Week 7 (10/23): Simulation

KdV

Lab Session 3: Numerical Simulations of common Partial Differential Equations and Visualization
Worksheets: Gallery:

Week 8 : Major Project Work


Week 9 : Major Project Work


Week 10 (11/9): Project Presentations