Ask HN: Where to learn software engineering fundamentals?
I have never studied computer science but have written basic code most of my life, accelerated recently with AI. I'm looking for the best place to learn software engineering fundamentals to fill in the gaps in my knowledge.
Difficult to give exact recommendations, but explore the materials left from the MOOC era, roughly 2012-2017, when high quality online education was provided for free. For example: MIT OCW 6.0001 and 6.0002, University of British Columbia's How to Code Simple Data and How to Code Complex Data on edX, and Computation Structures. Also, mathematical analysis courses from MIT.
One thing I would add to the excellent suggestions above is that it can be surprisingly useful to go one level below what is usually considered 'software engineering fundamentals.' I teach mathematics students, and over the years I've become increasingly convinced that understanding some of the machine underneath makes many higher-level concepts much easier to understand later: memory and addresses, a simple CPU, assembly, calling conventions, and eventually how a compiler translates a programming language into something the machine can execute. There is a pedagogical principle I like: don't learn the solution before you know the problem.
For CS, as in 'fundamentals that are behind what a typical programmer deals with every day' there is a good resource: https://teachyourselfcs.com/.
https://aosabook.org/en/