My plan is to tackle a few books at once and just go with the flow. If I live long enough, I might get back to the rational trigonometry after filling in some gaps, facing some old fears (of writing and reading proofs - is it not like writing or reading computer programs?), and basically getting to the roots, the foundations ...
the foundations of abstract reasoning.
In
From Mathematics to Generic Programming, on page vii (Author's note), Alexander Stepanov writes:
The separation of computer science from mathematics greatly impoverishes both. The lectures that this book is based on were my attempt to show how these two activities—an ancient one going back to the very beginnings of our civilization and the most modern one — can be brought together.
While the co-author writes:
While Alex comes from a mathematical background, I do not. I’ve tried to learn from my own struggles to understand some of the material and to use this experience to identify ideas that require additional explanation. If in some cases we describe something in a slightly different way than a mathematician would, or using slightly different terminology, or using more simple steps, the fault is mine.
In the section, What This Book Is About, on page 2 or so, section 1.1:
So where does this generic programming attitude come from, and how do you learn it? It comes from mathematics, and especially from a branch of mathematics called abstract algebra. To help you understand the approach, this book will introduce you to a little bit of abstract algebra, which focuses on how to reason about objects in terms of abstract properties of operations on them. It’s a topic normally studied only by university students majoring in math, but we believe it’s critical in understanding generic programming. In fact, it turns out that many of the fundamental ideas in programming came from mathematics.
----------------------------------------
The abstractions that appear in abstract algebra largely come from concrete results in one of the oldest branches of mathematics, called number theory. For this reason, we will also introduce some key ideas from number theory, which deals with properties of integers, especially divisibility.
This was the direction I had been moving in around 2016 or so, but then I had resurrected a passion for linear algebra, analytic geometry, computer algebra systems, continued fractions - then plunging into the long commitment to revisit "school mathematics" in terms of the "set theoretical presentation" from high school ("New Math" ---> "modern" [abstract] algebra ?), and even a dive into Stroustrup's C++ text, working on the exercises as diligently as a model prisoner/student.
So, regardless of Dr. Notowidigdo's sense that I have not studied formally a good part of what math majors study, I am confident I can handle the material Stepanov presents. I was exposed to formal Mathematical Reasoning courses and the like. Yet I will humbly submit that it would not hurt me to delve deeper into that world of fields, rings, and groups - yes, I get it - concepts underneath "school mathematics" but never presented to students. Such presentations are reserved for math majors.
Hung-Hsi Wu thinks all those training to become high school (or even elementary school) teachers, ought to have the deeper view (with proofs and understanding) so that they might better communicate to the students.
See
What can we do about our dysfunctionalschool mathematics curriculum?,
Preface and
To the Instructor from
Rational Numbers to Linear Equations.
Now, Stepanov's
Elements of Programming is a different story, but I am considering pecking away at that book along with
From Mathematics to Generic Programming. Such are the kinds of texts I wish to understand.
Lastly, I am going to commit to the text, Contemorary Abstarct Algebra, if only because the most resources are available for that text. It's in its tenth edition, so there are free resources available for the 7th and 8th editions, as well as labs and definitely more support than just videos on ZooTube.
I think that a disciplined informal study of Abstarct Algebra will not only help me understand Stepanov's work better, but it would also help me decipher (better) where it is Norman Wildberger might be coming from. He certainly uses much terminology from abstract algebra.
Why is it I must have a plan? I'm just chipping away at my ignorance, trying to practice authenticity in a world that rewards phonies and charlatans with a sense of unearned confidence, like the managers in Ligotti's novel of corporate horror, My Work is Not Yet Done.
The gangsters of the world might mock the likes of me, but I would like to imagine there are a handful of academics who would sympathize with my anti-academic/anti-careerist/anti-professional attitude.