<p>Since Graduating from a very small school in 2006 with a badly shaped &amp; outdated program (I'm a foreigner &amp; didn't know any better school at the time) I've come to realize that I missed a lot of basic concepts from a mathematical &amp; software perspective that are mostly the foundations of other higher concepts.</p>

<p>I.e. I tried to listen/watch the open courseware from MIT on <a href="http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-046JFall-2005/CourseHome/" rel="nofollow noreferrer">Introduction to Algorithms</a> but quickly realized I was missing several mathematical concepts to better understand the course.</p>

<p>So what are the core mathematical concepts a good software engineer should know? And what are the possible books/sites you will recommend me?</p>

Start with what we CS folks call "discrete math".  Calculus and linear algebra can come in quite handy too because they get your foot in the door to a lot of application domains.  Once you've mastered those three, go for probability theory.  Those 4 will get you to competency in 95% (I made that up) of application domains.