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.

Introduction to Unix and Repositories
(Edmond Rusjan)

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

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

Solving Ordinary Differential Equations
(Andrea Dziubek)

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

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

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 R
^{2} - Introduction to FEniCS
- Meshing with Gmsh (AD)
- 3D plotting with Mayavi (AD)

- Topics arising from SUMMER 2015 REU or other topics of interest

(e.g. data ancompression, time series analysis, principal components analysis, Filter) - OpenCV

How to write a paper and Introduction to Latex
(Andrea Dziubek)

- Why should I write a paper? (Iserles)
- Structure, Literature, Citations
- The Not So Short Introduction to LaTeX2e (PDF)
- TUG, CTAN, Dante
- BibTex and JabRef
- Slides and Poster
- Graphics with PGF/TikZ