Courses
Undergraduate Courses
Introductory Numerical Methods (GDCO0072)
Numerical methods for undergrads in STEM courses (usually Engineering, Statistics, Physics, and Mathematics).
- My Virtual Lab of Numerical Methods, the educational basis for this course, is freely available here.
- Complementary materials are available from the textbook Introduction to Python for Computational Science and Engineering (Portuguese only), translated from the original by Prof. Hans Fanghor @Southampton.
Resources
Books
Made in Brazil
- Cálculo Numérico, by Neide Bertoldi
- Notas: didática mediana, mas bastante completo e robusto; agrega perfis analítico e aplicado; atende múltiplas graduações.
- Cálculo Numérico: Aspectos Teóricos e Computacionais, by Ruggiero and Lopes
- Notas: boa didática; voltado a perfis analíticos; inclinado à Matemática.
- Fundamentos de Calculo Numérico, by A.A. Dornelles Filho
- Notas: didática boa; cobertura geral de um curso semestral.
- Portal REAMAT - Cálculo Numérico @UFRGS
- Notas: livro colaborativo aberto; interessante
Classical
- Numerical Methods for Scientists and Engineers, by R. W. Hamming
- Numerical Mathematics and Computing, by W. Cheney and D. Kincaid
- Numerical Recipes
- Numerical Methods, by G. Dahlquist and A. Bjorck
Numerical Analysis
- Fundamentals of Engineering Numerical Analysis, by Parviz Moin
- Numerical Analysis, by Timothy Sauer @George Mason Univ.
- Numerical Analysis, by Burden and Faires.
- An Introduction to Numerical Methods and Analysis, by James F. Epperson
- Numerical Analysis: Mathematics of Scientific Computing, by D. Kincaid and W. Cheney
- Elementary Numerical Analysis, by K. Atkinson and W. Han
Numerical Linear Algebra
- Applied Numerical Linear Algebra, by J. W. Demmel
- Linear Algebra and its Applications, by G. Strang
- Matrix Computations, by G. H. Golub and C. F. Van Loan
- Numerical Matrix Analysis: Linear Systems and Least Squares, by I. C. F. Ipsen
Engineering
- Numerical Methods for Engineers, by R. P. Canale and S. C. Chapra
- Numerical Methods for Engineers and Scientists, by A. Gilat and V. Subramanian
- Numerical Methods in Engineering with Python 3, by J. Kiusalaas @PennState
- Elementary Mechanics Using Python, by A.M-Sorenssen
- Numerical Methods for Engineers, by D. V. Griffiths, and I. M. Smith
Computing
- Python ecosystem
- Numerical Python: Sci. Comp. & Data Science Applications, by Robert Johansson
- Learning Scientific Programming with Python, by Christian Hill
- matplotlib Plotting Cookbook, by A. Devert
- Python for Scientists, by J. M. Stewart @Cambridge
- SciPython 👍
- Numerical Programming @Python Course
- Numerical Methods: An Inquiry-Based Approach With Python, by Eric Sullivan @CarollCollege
- Numerical Python: Sci. Comp. & Data Science Applications, by Robert Johansson
- General background in CSE
- Hans Peter Langtangen’s (in memoriam) various writings @Simula
- Texts in CSE: 29 books series, by H. P. Langtanten et al.
- Computer architecture
- Modern Computer Architecture and Organization, by Jim Ledin
- Modern Computer Arithmetic, by R. P. Brent and P. Zimmermmann
Movies
List of movies talking about mathematics, computing, theorems, and geniuses. Contents directly related to numerical methods are made explicit below.
“Adventures of a Mathematician” (2020) (O Matemático). This movie is an account of how the mathematician Stanislaw Ulam, the physicist Edward Teller, and other scientists began to develop the hydrogen bomb at Los Alamos, USA, in the post-war 1950s. Ulam is the inventor of the Monte-Carlo numerical method and a pioneer with John Von Neumann to the advent of the computer. In a few scenes, Ulam teaches random variables and probability distributions. A summary of “The Super” (the hydrogen bomb) can be read here.
“The Current War” (2017) (A Batalha das Correntes). The dramatic race between Thomas Edison and George Westinghouse (involving Nikola Tesla) to determine who would provide power to the modern world.
“Hidden Figures” (2016) (Estrelas Além do Tempo). In this movie, Taraji Hanson performs Katherine Johnson, a former NASA’s human computer, that uses the Euler’s method to compute the John Glenn capsule’s back-to-Earth trajectory.
“The Man Who Knew Infinity” (2015) (O Homem que Via o Infinito). The overcoming story of the life and academic career of the mathematician Srinivasa Ramanujan after leaving India for England. Ramanujan struggled to present a new theorem-proof to the famous G. H. Hardy and elite scientists at Cambridge, which led him to get his Ph.D. title.
“The Theory of Everything” (2014) (A Teoria de Tudo). The story of Stephen Hawkins.
“The Imitation Game” (2014) (O Jogo da Imitação). On cryptography, this movie is the story of Alan Turing and his friends trying to crack the German “Enigma” code during World War 2.
“A Beautiful Mind” (2001) (Uma Mente Brilhante). In this movie, Russell Crowe performs John Nash, Nobel in Economics during his Ph.D. trial at Princeton. Nash’s thesis was related to Game Theory, where fixed-point theorems are applied.
“Good Will Hunting” (1997) (Gênio Indomável). The story of Will Hunting, a janitor at MIT with remarkable mathematical skills helped by a psychologist due to his lack of life purpose.
Videos
- Computer Architecture Course, by Orlando J. Hernandez
- Especially, chapter 3 covers computer arithmetics, binary numbers, and overflow/underflow issues.
Papers
- Goldberg, David. What every computer scientist should know about floating-point arithmetic. ACM computing surveys (CSUR) 23.1 (1991): 5-48.
- Rajaraman, V. IEEE Standard for Floating-Point Numbers, IAS
- Fanghor, H. A Comparison of C, MATLAB, and Python as Teaching Languages in Engineering. Part of the Lecture Notes in Computer Science book series (LNCS, volume 3039)
Libraries
- Netlib: online repository for numerical libraries.
- Eigen: C++ template library for linear algebra (matrices, vectors, numerical solvers), and related algorithms.
- Boost: multi-purpose C++-based libraries. Lots of math specializations.
- CGAL: efficient and reliable geometric algorithms in the form of a C++ library. It provides data structures and algorithms for triangulations, Voronoi diagrams, surface and volume mesh generation, and so on.
- meshio: universal mesh in/out conversion tool.
- TetGen: A Quality Tetrahedral Mesh Generator and a 3D Delaunay Triangulator.
- Triangle: A Two-Dimensional Quality Mesh Generator and Delaunay Triangulator.
Data Visualization (GDCOC0096)
- This course is directed to undergraduate students in Data Science and Artificial Intelligence;
- Course information and booklet is available on this page.
Resources
Websites
Technicalities
History
- DataVis.ca, by Michael Friendly @YorkUniversity
Art & Design
Misc
Utilities
- ColorBrewer. Color advice for mapping and cartho data.
- coolors. Color palettes generation.
- DrawBot. Scripts to generate two-dimensional graphics (macOS).
- WebAIM. Resources for web accessibility. Contrast checker.
- Colblindor. Color blindness stuff.
- EyeDropper. Pick colors from websites.
Videos
- Foundations of Data Visualisation: Computerphile. Quick lecture. Overview.
Books
General
- Data Visualization, by Andy Kirk. SAGE Publications.
- Show me the numbers, by Stephen Few. Analytics Press.
- Introduction to Information Visualization, by Ricardo Mazza. Springer.
- Fundamentals of Data Visualization, by Claus Wilke. O’Reilly.
- Visualization Analysis and Design. by Tamara Munzner.
- The Truthful Art: Data, Charts, and Maps for Communication, by Alberto Cairo. New Riders.
- Now You See It: Simple Visualization Techniques for Quantitative Analysis, by Stephen Few. Analytics Press.
- Creating More Effective Graphs, by Naomi Robbins. Chart House.
Classical
- Graphical Methods for Data Analysis, by Chambers, Tukey et al. Chapman and Hall/CRC Press.
- The Visual Display of Quantitative Information, by Edward Tufte. Graphics Press
- Design for Information: an Introduction to the Histories, Theories, and Best Practices Behind Effective Information Visualizations, by Isabel Meirelles, Rockport Publishers.
- The Functional Art: An introduction to information graphics and visualization, by Alberto Cairo, New Riders.
- A History of Data Visualization & Graphic Communication, by Friendly and Wainer. Cambridge.
(Business) Storytelling
- Data-driven storytelling, by Riche et al.
- The Wall Street Journal Guide to Information Graphics, by Dona Wong. W. W. Norton & Company.
- Visualize This, by Nathan Yau. Wiley.
- Everyday Business Storytelling, by Kurnoff and Lazarus. Wiley.
Courses
- Principles of Data Visualization, by Pamela Reynolds, @UCDavis/DataLab
Papers
- Crameri, F., Shephard, G.E. & Heron, P.J. The misuse of colour in science communication. Nat Commun 11, 5444 (2020). DOI: 10.1038/s41467-020-19160-7
- Keypoints: color-vision deficiency; guide for scientific use of colors; color misuse prevention.
Introduction to Data Science (GDCOC0089)
- This course is directed to 1st-year students of the B.Sc. course in Data Science and Artificial Intelligence at UFPB.
- The course booklet is being updated here.
Resources
- The Turing Way @Turing - Reproducible research guidelines 👍
- Basics on character encoding
- A large-scale study about quality and reproducibility of Jupyter Notebooks
Misc
- Lilypond - Compile music score sheets from text.
Discrete Math (5102001)
- Ebook available here.
Computational Methods (GDCOC0080)
Graduate Courses
Fluid Mechanics (SEMEC0143)
- This course provides a basic formation in fluid mechanics for newcomer masters and PhD students. It is a mix of vector calculus, continuum mechanics, conservation laws, incompressible/compressible flows, CFD, and machine learning.
Resources
Videos
- General
- Compressible flows and wave theory
- Physics-informed and machine learning
Papers
Numerical Methods (SEMEC0140)
This course is fully based on variational methods as introductory topic for application of CFD with the finite element method. In the current version, it is a 3-part course divided as follows:
- Part 1 (Tools): A general overview on numerical methods, basics on Python programming, and presentation of tools like Scipy ecosystem, solvers (FENICS, OpenFOAM etc.), mesh generators (meshio, Gmsh etc.), CAE/CAD open platforms, viewers (Paraview, Mayavi etc.) and support literature.
- Part 2 (Theory): Discussion of approximation theory, construction principles of FEM, topics on functional analysis, strong/weak form, n-dimensional IBVPs.
- Part 3 (Practice): project-based learning oriented to student’s research (generally CFD or multiphysics simulations with Gmsh/FENICS/Paraview trio), and state-of-the-art approaches.
Resources
Remark: resources for this course can be forked from GDCOC0072.
Books
- A First Course in Finite Elements, by J. Fish and T. Belytschko
- An Analysis of the Finite Element Method, by G. Strang and G. Fix
- Applied Numerical Linear Algebra, by J. Demmel
- Automated Solution of Differential Equations by the Finite Element Method, The FENICS book, by A. Logg et al.
- Introduction to Applied Mathematics, by G. Strang
- Introduction to the Finite Element Method, by J. Reddy 👍
- Introduction to Numerical Methods for Variational Problems, by H.P. Langtangen and K-A. Mardal 👍
- Numerical Linear Algebra, by L. Trefethen and D. Bau III
- The Finite Element Method: Theory, Implementation, and Applications, by M. G. Larson and F. Bengzon
- Theory and Practice of Finite Elements, by A. Ern and J-L Guermond 👍
- Research Software Engineering with Python, by D. Irving et al.
Booklets
Courses
- MSc Applied Computational Science & Engineering 2020 @ICL 👍
- ACSE 1 Modern Programming Methods @ICL
- FEA for coupled problems @UC San Diego
- Finite Elements: numerical analysis and implementation @ICL 👍
- Practical Numerical Methods with Python, by L. Barba’s group.
- Python Programming Primer @Southampton
- Research Software Engineering with Python @Turing
- Essential Software Engineering for Researchers @ICL
Misc
- A History of the FEM, by Prof. Ivo Babuska
- Def Element: An Encyclopedia of FEM
- SYMFEM: symbolic finite element definition library, by Matthew Scroggs
- Engineering Statistics Handbook @NIST/SEMATECH
- FENICS Project website
- Prof. Gustavo Rabello’s FEM notes @UFRJ/Brazil
- The Fenics X Tutorial by J. Dokken 👍
- Tutorials on bash scripting, regular expressions etc. by Ryan Chadwick
Papers
- Physics-informed machine learning, Karniadakis et al., Nature Reviews, 2021
- See: i) Table 1, for a list of PINN libraries; ii) subsection “Connection to classical numerical methods”;
- Hybrid FEM-NN models: Combining artificial neural networks with the finite element method, Mitusch et al., JCP, 2021
- Takeaways: i) may improve convergence speed; ii) fewer optimization steps; iii) generalization for spatial variability.
- Gaps: non-linearity solvable through training; PDE solvers not optimized for large batch training on GPU; iii) FEM weak form requires efficient quadrature integration over the NN, whose rules are unknown for now.
Scientific Production (SEMEC0167)
The purpose of this course is to present to graduate students the general aspects of scientific writing, paper preparation, IMRAD style, Latex writing, and submission process.
Lectures (only in Portuguese)
Download the slides in PDF:
Supplementary materials
Additional contents for brainstorming, discussion and in-class debates:
- Papers for in-class analysis
- Paper about Higgs Boson with 5154 authors
- Chapter 41: How to edit your own work by Prof. Barbara Gastel, donated by herself during our 2019 seminar.
- English for Writing Research Papers Useful Phrases, free from Springer.
- How to write a research journal article in engineering and science, by S. A. Socolofsky.
- Paper: The logical method for scienfic writing, by G. L. Volpato
- PPGEM Scientific Writing channel on Youtube, with past video lectures by guest speakers.
- Report: Avaliação da Capacitação em Línguas na Pós-Graduação - UFPB.
- How to write a thesis and how a thesis is evalutated, by Kent-Andre Mardal.
Resources
- Book: Elementos da Escrita Científica para o Pesquisador Iniciante, by Moritz and Almeida
- Book: English for Writing Research Papers, by A. Wallwork
- Book: Writing for Publication, by Jalongo and Saracho
- Book: LaTeX in 24 hours, by D. Datta
- Book: Technical Writing: A Practical Guide for Engineers, Scientists, and Nontechnical Professionals, by P. A. Laplante
- Book: Writing and Publishing Science Research Papers in English - A Global Perspective, by K. Englander
- Example: Paper submission: cover letter (a few journals do not use anymore)
- Example: Paper review: rebuttal
- Example: Paper review: answering reviewer questions
- Example: Paper review: doubtful comment
- Example: Paper review: reviwer’s side
- Guide: Orientações de acesso ao Capes Periódicos via CAFe
- Lecture: LaTeX: arte e beleza na escrita científica
- Lecture: Conhecendo o LaTeX: usos, dicas e práticas
- Post: O Qualis e o silêncio dos pesquisadores brasileiros, by M. Tuffani
- Post: Stop Internet Plagiarism, by Plagiarism Today
- Site: The Writing Center, UNC at Chapel Hill
- Site: Elsevier Researcher Academy, by Elsevier
- Site: Redação Científica - Kits, by Best Writing Publisher House
Booklets
Booklets resulting from the last internal scientific writing seminars.
New QUALIS strata
- We should consider the highest source percentile between Scopus and WOS bases and classify the paper according to the following percentile :stratum scale:
- [87.5,100] : A1
- [75.0,87.5) : A2
- [62.5,75.0) : A3
- [50.0,62.5) : A4
- [37.5,50.0) : B1
- [25.0,37.5) : B2
- [12.5,25.0) : B3
- [0.0,12.5) : B4
Idioms and phrases
- “Duas cabeças pensam melhor do que uma” - Two heads are better than one.
- “Comunicação é uma via de mão dupla” - Communication is a two-way street.
Topics on Reservoir Modeling (SEMEC0202)
- This course is based on the MRST Toolbox and on the book An Introduction to Reservoir Simulation Using MATLAB/GNU Octave: User Guide for the MATLAB Reservoir Simulation Toolbox (MRST), by K-A Lie. I cover the gist of the reservoir modelling workflow with focus on black-oil simulations.
Short Courses
Shell scripting
- Find in this repo a very first introductory shell programming short course based on
bashnamed Bring me A SHell. Available only in Portuguese. - Organized with David Kästle Silva
Fundamentals of Math and Stats for Data Science
- I lectured this course in partnership with Dr. Andrea Rocha remotely during 2020. Our purpose was to introduce basic Mathematics and Statistics concepts to newcomers of our Data Science and Artificial Intelligence Program through Python language.
- The basic materials for the course can be accessed through the interactive book on https://gcpeixoto.github.io/FMECD
FEM for two-phase flows
- I was invited by the VIR2AL committee to participate in the 4th Workshop on Advances in CFD, LB and MD Modeling of Capillary Two-Phase Flows and Experimental Validation, before ICMF 2019 with a talk about introductory ALE/FEM approach for two-phase flows along with Dr. Gustavo Anjos and Dr. Norberto Mangiavacchi. For more information, see here.