Discrete Math for Computer Programming — Where Do I Start?

Numbers, representing discrete math.

 

If you’re studying programming or computer science, you know discrete math is a core competency for developing software.

 

Simple enough if you’re enrolled in college or a code school — discrete math is built right in, usually as a distinct course. If you’re training on your own, it’s a lot harder. Whereas typical introductory programming lessons are everywhere online — which is great — discrete math is, for some reason, relatively lacking, as least in terms of structured learning.

 

 

Even if you are able to take a true discrete math course, supplemental resources can carry you from just barely passing to having a high level of competency. So no matter your background, you want the opportunity to dig in to some self-study. Alright, so where do you look?

 

For starters, there are course materials offered via MIT’s OpenCourseware, as well as content by ArsDigita organized on MathVids, which aim to simulate a typical course. There are videos, lecture slides, homework assignments, etc, so you can really dig in.

 

Supplement this with additional videos on YouTube along with various course materials hosted by instructors of discrete math courses, such as the content on this page and this page (you can also do a search for discrete math course materials if you want to see more diverse content along these lines).

 

As far as reading material goes, this free ebook from BookBoon covers a lot of the topics of discrete math, as well as other topics useful to programmers and budding computer scientists. And if you’re willing to spend some money, Concrete Mathematics (available via Amazon) is a highly-rated and reasonably priced option. It is not, strictly speaking, purely a discrete mathematics textbook, but covers many of the same topics and more — and is a great read for any programmer or math enthusiast!

 

Hopefully these resources will get any programmer up to snuff. Discrete math can be challenging, but it can also be a lot of fun! It’s a different way of looking at the world — or, as a friend once put it, it’s “that weird math computer science people do.”

 

Sounds fun!