class: middle # Introduction to Scientific Programming .footnote[ N. Dubray - ENSIIE - 2026 - [:arrow_right:](index.html#2) ] .hcenter.row.w60[ .column.w60[ `$$\int_{-\infty}^\infty f(x)e^{-x^2} dx \simeq \sum_{i=0}^{n-1}w_if(x_i)$$` ] .column.w35[  ] ] .vspace[] .row[ .w48[ ## IPS-DEV - C++ - Contents 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. [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. [LaTeX](IPS-DEV/latex.html): write beautiful math expressions 1. [Markdown](IPS-DEV/markdown.html): lightweight markup language ] .w48[ ## IPS-PROD - Python - Contents 1. .redb[Project instructions] :hourglass: 1. [`Python`](IPS-DEV/python.html): high-level programming language 1. [Venv/Pip](PSA/pip.html): virtual environments 1. [Numpy](IPS-PROD/numpy.html): linear algebra 1. [`Python` and `C/C++`](PSA/pythonandc.html): mix them ! 1. [Swig](PSA/swig.html): generator for your bindings 1. [Matplotlib](IPS-PROD/plot.html): scientific plots 1. [Povray](IPS-PROD/povray.html): ray tracing tool 1. [Gaussian quadratures](IPS-DEV/quadratures.html): numerical integration ## Misc * :arrow_right: [Presentation template](template/index.html) * :bulb: [About these slides](IPS-DEV/intro.html) ] ] --- class: middle # Introduction to Scientific Programming .footnote[ N. Dubray - ENSIIE - 2026 - [:arrow_left:](index.html#1) ] .row[ .w80[ ## Extra 1. [VTK](PSA/vtk.html): data analysis and visualization library 1. [Errors / exceptions](PSA/exceptions.html): deal with runtime issues (`Python`, `C` and `C++`) 1. [Perf](IPS-PROD/perf.html): perf profiling tool 1. [Advanced `git`](IPS-PROD/advancedgit.html): advanced `git` usage 1. [Finite difference methods](PSA/fdm.html): some discretization methods for differential equations 1. [MongoDB](PSA/mongodb.html): a scalable NoSQL database 1. [Live monitoring](PSA/monitoring.html): how to check what the code is doing *right now* 1. [Multiprocessing](PSA/multiprocessing.html): distribute your calculations (`Python`) 1. [Mpi4py](PSA/mpi4py.html): allow processes to communicate (`Python`) 1. [Named pipes](PSA/solution.html): nice optional IPC solution 1. [Astyle](IPS-DEV/astyle.html): code formatting tool 1. [Quantum mechanics](IPS-DEV/quantumintro.html): Short introduction 1. [Typst](IPS-DEV/typst.html): Markdown + Easier Latex math ] ]