Online courses and math notes

Up until recently (as of 2017) I was sceptical about online courses: they seemed like a waste of time, possibly merely traditions, similar to talks with slides. At first it takes plenty of effort to prepare a video lecture, and then it may be considerably more complicated to extract information out of it, compared to a textbook or an article.

And maybe it is not optimal, but there are good parts as well. Particularly about the methods they use, such as frequent tests mixed with new material. When working through a textbook alone, often there's just no puzzles, or no easy way to check whether your results are correct. The structure doesn't suggest where to take a break, and varies from book to book, while in courses there's usually a plan that includes both timing and exercises. Maybe it would be better if the courses were in LaTeX (or programming languages and theorem provers when appropriate) instead of videos, while preserving the good parts.

"Learning how to learn"

After seeing "Ask HN: How to learn new things better?", I decided to try the "Learning How to Learn" course. Before that, I thought that the courses are restricted in time (with start/end dates), but apparently not all of them are: one can just jump into it and go through a course anytime.

That particular course was quite interesting; the somewhat scary 4 weeks took a day to complete, though that's the opposite of what that course suggests doing (i.e., not cramming the material, spacing, interleaving, etc).

But the expected unpleasant bits are also there: sound level varies among videos, it's rather hard to find a particular part of it if one would want to review it later, Coursera UI is broken because they are reinventing even hyperlinks and page loading. Some bits of that course are scripted, which apparently took more of the lecturer time than it should have, while in others you just watch a man being interviewed, trying to put his thoughts together: probably it would be less stressful for him, would take less of his time (assuming that the interview requires some preparation), and would lead to a better structured message if he just wrote it down instead of replying in real time.

Nevertheless, the course was also funny. And somewhat cute and sad in the end (there is a spoiler further in this sentence), where a man from a video record concludes the course with "We've learned from you as we hoped you've learned from us".

Calculus One

Inspired by that course, I decided to try something more serious, yet basic still – so it wouldn't take too much time. Chose Calculus One, and it turned out to be fun, though not without its quirks and errors. But the teacher there really tries to make it fun, and often succeeds; that seems to be useful for students to stay engaged. That's one of the aspects in which a video may be better than a book (although there are jokes in some technical books as well).

The course includes plenty of nice examples (applications), which seems to be quite useful, but often not present in educational materials.

Its 16 "weeks" took 11-12 days and about 2500 lines of LaTeX to complete, so apparently one could do a few of those courses simultaneously to stay on their intended schedules.

The separation of weeks, as well as the way it resembles a game by assigning internet points, requires less discipline to maintain perseverance, and to actually work through all the tasks.

Going through a calculus course now surprised me with something I didn't notice before: all the continuous functions and approximations point to a non-discrete, pre-digital age; reminds me of steampunk.

Math notes

I like to do things using a computer, and some math problems can be worked on using a programming language: with symbolic computations, with dependent types for certain proofs, with handy functions for calculations in a particular domain, or pretty much any if it's about implementing algorithms. Or just by writing things down in a text file. But for some problems (for analysis in particular) a rather complex notation without much of computations is needed, and though it's just a convention, it's much easier to read it once one is used to it.

I used to assume that LaTeX would be cumbersome to use for actual problem solving, yet it turned out to be handy with preview-latex, at least while touch typing and having some previous experience with LaTeX. Maybe it would have been faster with handwriting though. And SymPy, for instance, can output LaTeX (as well as MathML, ASCII and Unicode pretty printing, and a few other options), while also being usable for calculations and plotting.

I've also used R for occasional computations and plots, but drawings were missing. Inkscape would be too cumbersome for that, so I've tried to use TikZ (which required to add \PreviewEnvironment{tikzpicture} into the preview-latex default preamble). It works, but seems to take too long to compose a drawing; maybe just requires more practice.

There also is asymptote, and org-mode may be more handy to embed LaTeX, R, and other things, along with results. But I haven't tried to use it for working through math problems yet.

I'd add a screenshot, but it's not nice to publish solutions, and I'm too tired/lazy to make up (or find) and solve a problem just for that. Anyway, it looks very nice, and I'm happy about this setup: I just regret that I didn't start using it earlier.

Linear algebra

A bit off-topic, but I've continued to re-learn and refresh maths basics with linear algebra, trying to apply what's described above; used a free (libre, even) Linear Algebra book (that provides exercises, answers to those, and even some kind of a plan), in combination with 3Blue1Brown's videos on essence of linear algebra (there are series on essence of calculus as well) and it seems to be useful to combine: the book lacks visualisations and geometric interpretations (which make much more sense than plain definitions, and make things clearer), while the videos lack exact definitions, proofs, etc, only aiming to provide insights, so they complement each other well. MIT OCW's Linear Algebra lectures by Gilbert Strang seem very nice too: for both building an intuition and learning some material. "Functions are Vectors" is just a single post on functional analysis, but still neat. Plenty of blogs and other resources with nice explanations around, too: e.g., Math is Fun, The Palindrome.

I've noticed it in the past though, particularly with topology: the books are often bad in helping to get insights, but in that case it was harder to find helpful visualisations – though the few I did find were indeed helpful.

On the topic of libre books, there also are Abstract Algebra book, an Online Mathematics Textbooks collection, a Graphical Linear Algebra blog. Mathematics: Its Contents, Methods, and Meaning (original title: "Математика, ее содержание, методы и значение", 1956) may be worth highlighting as a nice and freely available book that covers multiple areas. And the Applied Category Theory Course, along with Seven Sketches in Compositionality: An Invitation to Applied Category Theory. Perhaps Linear Algebra Done Wrong, and Linear Algebra Done Right. An Introduction to Measure Theory, too.

Since I started collecting rather diverse learning materials here, here is another one: BetterExplained, brief and nicely written maths explanations. Mostly linear algebra and calculus. "Ask HN: Serious mathematics books that can replace a good teacher?" is an interesting collection of book references and a discussion, with more links. Calculus Made Easy looks like a nice (and perhaps indeed easy) calculus introduction, with exercises. While Elementary Calculus: An Infinitesimal Approach does not seem as easy, relying on the more rigorous nonstandard analysis, but it is also nice and freely available.

Other video courses

There's a youtube "crashcourse" channel with various not-quite-techy but fun mini-courses. MIT OpenCourseWare provides freely available (under a CC license, even) lecture videos and some additional materials (including problem sets) along with those. OSSU composes freely available materials into courses. And there's more resources like that around.


This section used to be a separate note, focused more on tools and application, but now it is merged into this one.

There are many books on statistics (including machine learning), but I'm not sure which ones are worth highlighting. Links to easily and freely accessible ones that I've collected either don't work anymore, or were paywalled, or are otherwise inaccessible. Though there are maintained lists of both papers and tools, such as awesome-machine-learning.

As for the tools (and personal opinions on those), Python and TensorFlow are popular for this, though TensorFlow seems to be useful for optimisation, not just for playing and learning: for that it's just very awkward, and basically a construction of AST of another language using a Python API. Scikit-learn is a nice and easily usable Python library. Though in order to get and poke arbitrary pre-trained models, or even some of the mentioned tools, one may have to grab and manually build/install software from untrusted sources: as specialised software in general, it tends to be quite messy.

Octave, R, and Julia are more specialised languages, with many specialised libraries, and are quite handy for these kinds of tasks. While reading books, one can simultaneously try/apply newly learned things with those languages.

Perhaps not exactly a course, but the Valerio Velardo - The Sound of AI YouTube channel contains nice explanations and sensible tips, particularly on applying ML to audio.

Numerical analysis software

Numerical analysis software can be useful for a hands-on experience: playing with plotted functions, trying out the bits you are learning, without spending time on calculating or plotting those manually. There are simpler graphing calculators for that, and plenty of software systems too: in addition to the aftorementioned Python (with matplotlib, NumPy, SciPy, SymPy, and many other handy libraries), Octave, R, and Julia, there are Euler, Maxima, and more.

Most of these systems (except for Python libraries) are basically a custom language and its infrastructure. While Python is a general-purpose language with relatively good libraries, though many of those still feel hacky: it seems that a Lisp family language would be a much better fit for many of those tasks. But as for now, Python looks like a good option.

Interactive textbooks

Interactive textbooks are an interesting subject. They can be written mostly as comments for source code, possibly with problems to solve that can be evaluated and checked at once (e.g., Software Foundations for Coq), but there also are efforts to make interactive textbooks without relation to computer programming, such as immersive linear algebra and Mathigon, though accessibility is usually rather poor on those. Words and Buttons is somewhat similar, with its interactive animations, and linking more websites along those lines.

Textbook collections

Further away from the topic, but there are nice general book collections around: LibreTexts, Wikibooks. Plenty of pirated ones too, but these are open/public/libre.

See also

Not (just) courses, but I'm also collecting interesting YouTube channels (physics, crafts, etc) on the links page.

Physics and Mathematics Self-Study Project, based on MIT Open Courseware. Haven't tried it myself.

A physics self-study curriculum (which I have not tried yet, but it looks interesting): "So You Want to Learn Physics…".