class: middle # Introduction to Scientific Programming .footnote[ N. Dubray - ENSIIE - 2024 - [:arrow_right:](index.html#2) ] .hcenter[[:warning: Grab the presentation template :warning:](template/index.html)] .vspace[] .row[ .w48[ ## `IPS-DEV` module 1. [Introduction](IPS-DEV/intro.html): license, author... 1. [.redb[Project instructions]](IPS-DEV/project.html) 1. [Git](IPS-DEV/git.html): version control system 1. [Zen of `C++`](IPS-DEV/cppfiles.html): how to organize `C++` files 1. [GNU Make](IPS-DEV/make.html): build system 1. [Armadillo](IPS-DEV/armadillo.html): `C++` linear algebra library 1. [Doxygen](IPS-DEV/doxygen.html): documentation generator 1. [CxxTest](IPS-DEV/cxxtest.html): unit testing framework 1. [Astyle](IPS-DEV/astyle.html): code formatting tool 1. [LaTeX](IPS-DEV/latex.html): write beautiful math expressions 1. [Markdown](IPS-DEV/markdown.html): lightweight markup language 1. [Gaussian quadratures](IPS-DEV/quadratures.html): numerical integration 1. [`Python`](IPS-DEV/python.html): high-level programming language ] .w48[ ## `IPS-PROD` module 1. [Introduction](IPS-PROD/intro.html): license, author... 1. [.redb[Project instructions]](IPS-PROD/project.html) 1. [POV-Ray](IPS-PROD/povray.html): CLI ray-tracer 1. [Sum optimization](IPS-PROD/sumoptim.html): efficient sum calculation 1. [Valgrind](IPS-PROD/valgrind.html): dynamic analysis tools 1. [Gdb](IPS-PROD/gdb.html): GNU project debugger 1. [Numpy](IPS-PROD/numpy.html): scientific programming in `Python` 1. [Advanced `git`](IPS-PROD/advancedgit.html): advanced `git` usage ] ] .vspace[] .hcenter[[Go to PSA module :arrow_right:](index.html#2)] --- class: middle # Advanced Scientific Programming .footnote[ N. Dubray - ENSIIE - 2024 - [:arrow_left:](index.html#1) ] .hcenter[[:warning: Grab the presentation template :warning:](template/index.html)] .vspace[] ## Content 1. [Introduction](PSA/intro.html): license, author... 1. [Finite difference methods](PSA/fdm.html): some discretization methods for differential equations 1. [.redb[Project instructions]](PSA/project.html) 1. [`Python` and `C/C++`](PSA/pythonandc.html): use `C/C++` from `Python` and `Python` from `C/C++` 1. [Swig](PSA/swig.html): generator for your `Python` bindings 1. [MongoDB](PSA/mongodb.html): a scalable NoSQL database 1. [Errors / exceptions](PSA/exceptions.html): deal with runtime issues (`Python`, `C` and `C++`) 1. [Live monitoring](PSA/monitoring.html): how to check what the code is doing *right now* 1. [VTK](PSA/vtk.html): data analysis and visualization library 1. [Paraview](PSA/paraview.html): a very good application using VTK 1. [Multiprocessing](PSA/multiprocessing.html): distribute your calculations (`Python`) 1. [Mpi4py](PSA/mpi4py.html): allow processes to communicate (`Python`) 1. [Venv/Pip](PSA/pip.html): virtual environments and package anagement (`Python`) .vspace[] .hcenter[[:arrow_left: Go to IPS module](index.html#1)]