|Discrete Math Courses Relaunched|
|Written by Mike James|
|Friday, 12 August 2022|
Discrete Math enables you to recognize mathematical structures in real world contexts. It is therefore a valuable skill for software engineers and data scientists. Put together with the ability to think like a programmer and you have a winning combination.
Disclosure: When you make a purchase having followed a link to from this article, we may earn an affiliate commission.
The three courses relating to discrete maths that are newly available after a relaunch are on the Coursera platform and come from the University of California San Diego with Alexander Kulikov as a lead instructor common to all of them.
Combinatorics and Probability takes about 24 hours to complete with the content split into four "Weeks". The first is on Basic Counting and addresses the question "can we count the number of objects without listing all of them?" As the blurb points out:
This question arises naturally in various scenarios both in real life and in Computer Science. What is the number of different phone numbers or license plates? What is the number of different combinations one needs to brute force in order to crack a password?
Weeks 2 and 3 cover Binomial Coefficients and Advanced Counting respectively and then the focus moves on to Probability, as indispensable tool in Machine Learning.
Introduction to Graph Theory is slightly shorter (21 hours) and is again split between 4 weeks tackling, What is a Graph; Cycles; Graph Classes and Graph Parameters. According to its blurb:
among other intriguing applications, we will see how GPS systems find shortest routes, how engineers design integrated circuits, how biologists assemble genomes, why a political map can always be colored using a few colors. We will study Ramsey Theory which proves that in a large system, complete disorder is impossible!
Delivery Problem only has around 13 hours of content split over 3 weeks. The first introduces the Traveling Salesman Problem (TSP) and looks at some of its many applications from straightforward ones (delivering goods, planning a trip) to less obvious ones (data storage and compression, genome assembly). The next week looks at two general techniques applied to TSP - branch and bound and dynamic programming and the third considers two sub-optimal but practical algorithms. This course uses Python to implement the algorithms.
These three courses follow on from Mathematical Thinking in Computer Science which is an introductory course to all these topics, It consists of 42 hours or content split over six weeks and features a "try-this-before-we-explain-everything approach" in which you are challenged to solve interactive (and mobile friendly) puzzles designed to allow you to invent many of the important ideas and concepts yourself.
This course has already been updated but remains just as interesting as when we first encountered it, see when all these course, together with Number Theory and Cryptography which is currently in the process of being updated, were part of the Introduction to Discrete Mathematics for Computer Science Specialization. It is to be hoped this credential will be re-instated once this fifth course is again available
The course authors have also just released a new version of the companion book, Discrete Mathematics for Computer Science, which now covers everything from the Combinatorics and Probability course. As well as the readings that are integrated into the course content, the book goes further and intended to help you to discover important ideas in discrete mathematics on your own.
Mathematical Thinking in Computer Science
Courses On Mathematical Thinking
Does Math Help Programming Or Programming Help Math?
Programming - A Life Long Challenge
To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Friday, 12 August 2022 )|