{"id":134,"date":"2016-03-14T12:07:16","date_gmt":"2016-03-14T16:07:16","guid":{"rendered":"https:\/\/mberlove.com\/blog\/?p=134"},"modified":"2016-03-14T11:20:16","modified_gmt":"2016-03-14T15:20:16","slug":"discrete-math-for-computer-programming-where-do-i-start","status":"publish","type":"post","link":"https:\/\/mberlove.com\/blog\/discrete-math-for-computer-programming-where-do-i-start\/","title":{"rendered":"Discrete Math for Computer Programming &#8212; Where Do I Start?"},"content":{"rendered":"<p><a href=\"https:\/\/mberlove.com\/blog\/wp-content\/uploads\/2016\/03\/banner-1183445_1280.jpg\" rel=\"attachment wp-att-135\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-135\" src=\"https:\/\/mberlove.com\/blog\/wp-content\/uploads\/2016\/03\/banner-1183445_1280-1024x307.jpg\" alt=\"Numbers, representing discrete math.\" width=\"590\" height=\"177\" srcset=\"https:\/\/mberlove.com\/blog\/wp-content\/uploads\/2016\/03\/banner-1183445_1280-1024x307.jpg 1024w, https:\/\/mberlove.com\/blog\/wp-content\/uploads\/2016\/03\/banner-1183445_1280-300x90.jpg 300w, https:\/\/mberlove.com\/blog\/wp-content\/uploads\/2016\/03\/banner-1183445_1280-768x230.jpg 768w, https:\/\/mberlove.com\/blog\/wp-content\/uploads\/2016\/03\/banner-1183445_1280.jpg 1280w\" sizes=\"auto, (max-width: 590px) 100vw, 590px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>If you&#8217;re studying programming or computer science, you know discrete math is a core competency for developing software.<\/p>\n<p>&nbsp;<\/p>\n<p>Simple enough if you&#8217;re enrolled in college or a code school &#8212; discrete math is built right in, usually as a distinct course. If you&#8217;re training on your own, it&#8217;s a lot harder. Whereas typical introductory programming lessons are everywhere online &#8212; which is great &#8212; discrete math is, for some reason, relatively lacking, as least in terms of structured learning.<\/p>\n<p>&nbsp;<\/p>\n<blockquote class=\"twitter-tweet\" data-lang=\"en\">\n<p dir=\"ltr\" lang=\"en\">What should I be learning from a Discrete Math course to be successful in CS and CS interviews? <a href=\"https:\/\/t.co\/5aLrUakcUW\">https:\/\/t.co\/5aLrUakcUW<\/a><\/p>\n<p>\u2014 \u0395\u03c1\u03b3\u03b1\u03c3\u03af\u03b1 \u0395\u03b4\u03ce \u03ba\u03b1\u03b9 \u03a4\u03ce\u03c1\u03b1 (@ergasiaedo) <a href=\"https:\/\/twitter.com\/ergasiaedo\/status\/705516060720631808\">March 3, 2016<\/a><\/p><\/blockquote>\n<p><script src=\"\/\/platform.twitter.com\/widgets.js\" async=\"\" charset=\"utf-8\"><\/script><\/p>\n<p>&nbsp;<\/p>\n<p>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?<\/p>\n<p>&nbsp;<\/p>\n<p>For starters, there are course materials offered via <a href=\"http:\/\/ocw.mit.edu\/courses\/electrical-engineering-and-computer-science\/6-042j-mathematics-for-computer-science-fall-2005\/index.htm\" target=\"_blank\">MIT&#8217;s OpenCourseware<\/a>, as well as <a href=\"http:\/\/mathvids.com\/topic\/mathhelp\/20-discrete-math\" target=\"_blank\">content by ArsDigita organized on MathVids<\/a>, which aim to simulate a typical course. There are videos, lecture slides, homework assignments, etc, so you can really dig in.<\/p>\n<p>&nbsp;<\/p>\n<p>Supplement this with <a href=\"https:\/\/www.youtube.com\/watch?v=5plFb4jrzd4&amp;list=PLDDGPdw7e6Ag1EIznZ-m-qXu4XX3A0cIz\" target=\"_blank\">additional videos on YouTube<\/a> along with various course materials hosted by instructors of discrete math courses, such as the content <a href=\"http:\/\/www3.cs.stonybrook.edu\/~algorith\/math-video\/\" target=\"_blank\">on this page<\/a> and <a href=\"http:\/\/stanford.edu\/~rezab\/discrete\/\" target=\"_blank\">this page<\/a> (you can also do a search for discrete math course materials if you want to see more diverse content along these lines).<\/p>\n<p>&nbsp;<\/p>\n<p>As far as reading material goes, <a href=\"http:\/\/bookboon.com\/en\/gentle-introduction-to-mathematics-for-computer-ebook\" target=\"_blank\">this free ebook from BookBoon<\/a> covers a lot of the topics of discrete math, as well as other topics useful to programmers and budding computer scientists. And if you&#8217;re willing to spend some money, <a href=\"http:\/\/www.amazon.com\/Concrete-Mathematics-Foundation-Computer-Science\/dp\/0201558025\" target=\"_blank\">Concrete Mathematics (available via Amazon)<\/a> 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 &#8212; and is a great read for any programmer or math enthusiast!<\/p>\n<p>&nbsp;<\/p>\n<p>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&#8217;s a different way of looking at the world &#8212; or, as a friend once put it, it&#8217;s &#8220;that weird math computer science people do.&#8221;<\/p>\n<p>&nbsp;<\/p>\n<p>Sounds fun!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; If you&#8217;re studying programming or computer science, you know discrete math is a core competency for developing software. &nbsp; Simple enough if you&#8217;re enrolled in college or a code school &#8212; discrete math is built right in, usually as [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":135,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[109,132],"tags":[130,58,136,134,37,133,70,128,135],"class_list":["post-134","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-learning","category-mathematics","tag-books","tag-computer-science","tag-course-materials","tag-discrete-math","tag-learning","tag-math","tag-programming","tag-resources","tag-videos"],"_links":{"self":[{"href":"https:\/\/mberlove.com\/blog\/wp-json\/wp\/v2\/posts\/134","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mberlove.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mberlove.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mberlove.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mberlove.com\/blog\/wp-json\/wp\/v2\/comments?post=134"}],"version-history":[{"count":2,"href":"https:\/\/mberlove.com\/blog\/wp-json\/wp\/v2\/posts\/134\/revisions"}],"predecessor-version":[{"id":137,"href":"https:\/\/mberlove.com\/blog\/wp-json\/wp\/v2\/posts\/134\/revisions\/137"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mberlove.com\/blog\/wp-json\/wp\/v2\/media\/135"}],"wp:attachment":[{"href":"https:\/\/mberlove.com\/blog\/wp-json\/wp\/v2\/media?parent=134"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mberlove.com\/blog\/wp-json\/wp\/v2\/categories?post=134"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mberlove.com\/blog\/wp-json\/wp\/v2\/tags?post=134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}