Mathematical Thinking in Computer Science

share ›
‹ links

Below are the top discussions from Reddit that mention this online Coursera course from University of California San Diego.

Mathematical thinking is crucial in all areas of computer science: algorithms, bioinformatics, computer graphics, data science, machine ... Enroll for free.

Reddsera may receive an affiliate commission if you enroll in a paid course after using these buttons to visit Coursera. Thank you for using these buttons to support Reddsera.

Taught by
Alexander S. Kulikov
Professor
and 2 more instructors

Offered by
University of California San Diego

Reddit Posts and Comments

0 posts • 4 mentions • top 4 shown below

r/CUBoulder_CSPB • comment
3 points • mctavish_

Yeah, sounds like you're good re: Python. And 1300 will walk you through the C++ parts of the course, so you're ok there too.

Regarding 2824, have you done proofs before? Or, alternatively, have you taken a course in symbolic logic? Sometimes logic is taught through the philosophy department. Part of the reason 2824 is challenging is because so many students are new to symbolic logic, if statements (i.e. if this then than), counter-examples, proofs, etc. Learning logic takes *time* and practice...so the sooner you can get exposure to those concepts, the better.

I did a quick browse of Coursera just to see if there were some organised videos surrounding the topic. This one looked good:

https://www.coursera.org/learn/what-is-a-proof?specialization=discrete-mathematics#syllabus

It is also part of a specialisation, if that matters to you. I don't really put weight into the certs or specialisations from Coursera, personally. But the video content might help you. If you take the course, *I highly recommend you do example problems on paper while taking the course*. Get access to the solutions for problems. Practice them. Learn how to disprove something. Learn how to prove something. Learn how to express logic concepts using symbols (i.e. implications, for all, there exists, sets - union, intersection, an element in a set).

r/cscareerquestions • comment
1 points • SuurRae

This is a fantastic course for math for comp sci: https://www.coursera.org/learn/what-is-a-proof#syllabus. You definitely need to know discrete math and basic graph theory.

r/learnprogramming • comment
1 points • wnl8
r/math • comment
1 points • wbowers

I'm self-teaching a bunch of stuff. I'm mid-way through single variable calculus, I've just started on combinatorics with A Walk Through Combinatorics, and I'm getting an intro into higher maths with these two courses: Introduction to Mathematical Thinking and Mathematical Thinking in Computer Science.

I'm especially struggling with the birthday problem right now. I'm pretty sure about the math behind it, but I'm struggling with building up an intuition for why it works. I get that there are 23 choose 2 (253) different birthday equality "checks", and I've even written a quick simulation which does indeed find duplicates after 23 tries on average, but my brain keeps saying "yeah but at 23 people there are still 343, or 94%, unused birthdays". I also get that we're not just saying the 23rd person doesn't share a birthday with the other 22. We're saying that the first two people don't share a birthday AND the third person doesn't share a birthday with either AND the fourth person ... etc. I still don't feel like I've got anything resembling intuition.

I've also created a proof for the first exercise in A Walk Through Combinatorics. Any and all criticism would be appreciated.

Lastly, my ultimate goal (right now) is to learn machine learning, take a series of courses on self-driving cars, and learn a little bit of higher maths a long the way. Here's my curriculum:

  1. Single Variable Calculus
  2. Combinatorics
  3. Probability
  4. Linear Algebra
  5. Multivariable Calculus
  6. Modern Algebra (I've read that this is very useful for thinking about things abstractly, which is why I've put it before differential equations).
  7. Differential Equations
  8. Physics
  9. Statistics
  10. Computer Science (I'm a software engineer but would like to learn more about algorithms)
  11. Machine Learning
  12. Data Science
  13. Robotics
  14. Python (I'm already pretty familiar with Python but could use a refresher)
  15. Self-Driving Cars!

I know it's a big list, but I'm just as excited about the journey as I am the destination. Any feedback on my curriculum with be appreciated as well.