Getting Your Head Around Oscar Palmas Unveiling The Mysteries Of Differential Geometry
I ran across this material about three years ago when I was trying to get a handle on some geometric computation for a project that involved mesh processing. Most of the online resources at the time were either way too abstract or way too computational with zero connection between the two. This course filled that gap for me. It sits somewhere between a pure mathematics textbook and a software engineering guide, which honestly is a difficult balance to strike. The core idea is straightforward enough. Differential geometry studies curves and surfaces using calculus and linear algebra. The course walks you through tangent spaces, metric tensors, geodesics, curvature, and then shows how all of these concepts translate into code you can actually run. That last part is where most people get stuck. You can spend months reading do Carmo or Lee and still have no idea how to implement a Laplace-Beltrami operator on a triangle mesh.
Oscar Palmas Unveiling The Mysteries Of Differential Geometry
If you are going to work through this, start by making sure your linear algebra is solid. Not your calculator-level linear algebra. I mean being able to compute eigenvalues of a 3 by 3 matrix by hand without panicking, understanding what a bilinear form actually does, and knowing the difference between a covariant and contravariant vector well enough to not mix them up in code. The pace picks up quickly after the first few sections and it assumes you can move through coordinate transformations without stopping. I went through the material with a focus on the computational side. The chapters on the shape operator and second fundamental form are where everything starts to click if you pay attention to how the discrete case deviates from the smooth case. In practice, when I was implementing principal curvature estimation on point cloud data, the theoretical framework told me exactly which terms to drop and which to keep. Without understanding the smooth derivation first, the discrete approximation looked like magic. With it, it was just algebra. Here is a specific edge case that burned me for a day. I was trying to compute geodesic distances on a mesh that had significant non-uniform sampling. The naive implementation of the heat method, which the course covers, was giving garbage results near dense regions. The issue was that the cotangent weights I was computing from the raw vertex positions weren't accounting for the local scale properly. The fix was to renormalize the Laplacian matrix using the Voronoi area associated with each vertex before exponentiating. Took about twenty minutes once I realized what was happening, but I had spent hours debugging code that was actually correct and just numerically unstable due to the mesh quality.
The course does not shy away from the messier parts. There are sections on intrinsic triangulations, discrete exterior calculus, and spectral geometry that go beyond what you find in a standard graduate course. These are useful if your end goal is something like shape matching, parameterization, or surface registration. If you are only interested in pure theory, you might find some of the applied detours tedious. But the reverse is also true: people coming in for the applications usually benefit more from the theory chapters than they expect to. One thing worth noting is the software environment. The material is presented in a way that works with Julia, MATLAB, or any environment where you can manipulate matrices and define custom graph operations. I used Julia with the GeoParams and GeometryFitting packages, and it mapped cleanly. If you are working in Python, you will do some translation but the core ideas transfer directly. No proprietary tooling dependency, which is genuinely rare for courses at this level. The main limitation of this material is that it is dense and not particularly hand-holding. It expects you to work through derivations yourself. If you are looking for a video lecture where someone spells out every step, this is not it. It is written and organized for someone who reads mathematics actively, not passively. Also, several of the later exercises assume familiarity with optimization on manifolds, which is not reviewed in depth. I found that skimming chapters on Riemannian optimization beforehand saved me a lot of time.
Get the Full Details

Another practical note: the course is freely available online. There is no paywall, no certification, and no enforced schedule. The GitHub repositories associated with the lectures contain working code examples. Clone them early and run them against simple meshes before you try to adapt them to your own geometry. I learned that the hard way when I attempted to modify the curvature estimation code for a medical imaging dataset and wasted two days on a silent numerical bug caused by floating point precision on very small triangles. If you already have a background in differential geometry and want to see how it translates to computation, this material is efficient. It compresses about a semester of graduate-level content into something you can move through in a few weeks with focused effort. If you are starting from scratch in both areas, plan on spending more time on the prerequisites than on the course itself. That is not a criticism of the material. It is just a realistic expectation.