I am a engineering undergraduate. And my classical mechanics module was all based on newtonian mechanics, but I got very curious about the hamiltonian and lagrangian formulations and decided to read up on those. When I got to the principle of least action I couldn't understand much, mostly because I had never previously heard about calculus of variations. Assuming my mathematical background only includes high school stuff, "regular" calculus, vector calculus and linear algebra. Where should I begin to understand all about functionals and eventually get to minimize them using calculus of variations? I tried looking into functional analysis, but it assumes topology is already known. Then I said "okay! let's learn topology", but it is assumes group theory is already known.. I looked a bit into group theory and it looks like the only prerequisite is linear algebra, mostly to generate examples. And I already know linear algebra! So is that it? Can I begin my journey at group theory and gradually move up to functional analysis? Or is there something else I should already know.. Just an additional question: which field of mathematics looks into metric spaces? Because the book I bought on functional analysis talks about complete metric spaces in terms of metric spaces, and I don't know what those are..