Computational Boot Camp, June 15 - June 26

SUNY Poly Summer REU, June - August


   Department of Mathematics and Physics | SUNY Poly   

 


The camp is for beginners, intermediate, and advanced programmers with little to standard knowledge in numerical methods. We will have short lectures with tutorial questions from 9am to noon and longer problems for you to work on in the afternoon. A tutor will be available to help you. We assume basic knowledge in Calculus and Differential Equations, everything you know beyond that will enable you to solve the problems faster and to solve more advanced problems.

The camp starts Monday, June 15, at 9am, in C012. C012 is the CS Linux lab in the basement of Kunsella Hall in the wing close to Cayan library and QUAD-C. Lanigan is the classroom in top floor corner of Cayan Library facing Kunsella Hall. (Map)

We will teach you some Unix/Linux first as some of us find it a very productive working environment. Most of the software is available for Windows, Mac and Linux, and you can install them on your own laptop. Some or most of the software you will find installed in other computer labs on the campus.

This is a pilot course and students from SUNY Poly (Utica and Albany) can join at no cost by simply sending an email to dziubea at sunyit dot edu. For Housing please contact Connie Castellano (castelc at sunyit dot edu). If you have any questions please ask.

Mo June 15, C012:
Introduction to Unix and Repositories (Edmond Rusjan)

  • Unix, Linux, Ubuntu
  • Editors: vi, vim
  • Remote Connections
  • Repositories, Bitbucket/Git
  • Finding Answers

Tu/We June 16/17, C012:
Introduction to Python Programming (Andrea Dziubek, Edmond Rusjan)

  • Basics, data types, statements, functions, I/O (AD)
  • A Python Book: Beginning Python, Advanced Python, and Python Exercises
  • NumPy, SciPy, Matplotlib, Matplotlib 3D (AD)
  • Python Scientific Lecture Notes
  • Modules and Packages (ER)
  • Classes and introduction to Object Oriented Programming (ER)
  • Errors and Exceptions (ER)
  • Standard Library
  • Python.org, Python Docs, Python Tutorial

Th June 18, Lanigan: Introduction to Java Programming (Bill Thistleton)

  • Eclipse IDE, (PyDev, OSX fix)
  • Object Oriented Programming
  • JAVA

Fr June 19, C012:
Solving Ordinary Differential Equations (Andrea Dziubek)

  • Harmonic Oscillator
  • Euler Explicit and Euler Implicit
  • Stiffness, Stability, Higher Order Methods
  • Hamiltonian Systems and Symplectic Methods

Mo June 22, C012: Solving Linear Equation Systems (Andrea Dziubek)

  • Transformations, Eigenvalues, and Singular Value Decomposition
  • Condition numbers and errors
  • Dense and Sparse Matrices
  • Direct and Iterative Linear Solvers

Tu/We June 23/24, C012:
Solving Partial Differential Equations (Edmond Rusjan)

  • Laplace equation, Poisson equation, Mixed Formulation
  • Finite differences
  • Triangulated domains, Finite element method (Numerical Analysis Script by D. Arnold)
  • Variational Formulation
  • Plotting scalar functions and vector fields in R2
  • Introduction to FEniCS
  • Meshing with Gmsh (AD)
  • 3D plotting with Mayavi (AD)

Th June 25, Lanigan: Data Analysis and Image Processing (Bill Thistleton)

  • Topics arising from SUMMER 2015 REU or other topics of interest
    (e.g. data ancompression, time series analysis, principal components analysis, Filter)
  • OpenCV

Fr June 26, Lanigan:
How to write a paper and Introduction to Latex (Andrea Dziubek)

  • Why should I write a (math) paper? (Iserles)
  • The Not So Short Introduction to LaTeX2e (PDF)
  • Overleaf, the easy to use, online, collaborative LaTeX editor
  • For more information: TUG, CTAN
  • Find answers to LaTeX questions with Stackexchange
  • BibTex and JabRef
  • Slides and Poster
  • Graphics with PGF/TikZ

Friday July 24 from 10am to 12 noon: CNSE Lab Tour

Dan White will be our guide and we will meet with Dr. Vince LaBella at 11:30am in his lab.


Andrea Dziubek | July 2015