Hey HN,<p>I'm a Backend Developer mostly working with Node, Python and Golang. I started as a Hobbyist three years ago so I don't really have a formal education in CS. I have started learning (through the MIT open courseware program) and some of the concepts, while intellectually stimulating, went a bit over my head (especially determining algorithmic complexity).<p>So I wanted to ask you guys what are the basic mathematical skills one must learn to be able to grasp more complex concepts and ideas taught in CS curriculums.<p>Any help is hugely appreciated<p>Cheers
Here are a few keywords that come to mind. You can find both high-level and deeper information on any of these: Proof by induction, Boolean algebra, recurrence relations, generating functions, "counting problems" in combinatorics.<p>If those topics are still troublesome, I'd say really drill yourself with algebra up through the highest math you've learned, until it's second nature and you're fairly comfortable with writing simple proofs. It's really hard to follow lectures when things aren't as "obvious" as the lecturer assumes.
Graphs, the mathematical kind.<p>And chapter 1 of <i>The Art of Computer Programming</i>.<p>Both will be over most peoples' heads most of the time.