Skip to main content

Class Review: Discrete Math and Probability Theory (CS70)

CS70 at UC Berkeley during Summer 2019 was the hardest class I've ever taken. It takes centuries of development in Discrete Mathematics and Probability Theory (some theories took decades to prove or refine) and shoves abstract concepts down your throat in a span of 8 weeks.

French is beautiful
I believe that there is no other class at Berkeley in which the disparity between the ability of the students in the course is so stark - students range from International Math Olympiad medalists who have years of rigorous contest math experience to beginning computer science students who hate math and just want to declare the major (a pity that this course is required for that purpose). I fall somewhere in the middle, a math-loving CS student with a bit of contest math background, but little experience in formal proof writing or anything beyond basic probability.

The course is divided into two parts: Discrete Mathematics and Probability Theory (as can probably be inferred by my previous 2 references to the class title). Each section was covered in a span of around 3 and a half weeks, with the last week being final review and special topics. The only graded materials in the class were distributed as follows - Homework (10%), Midterm 1 (22%), Midterm 2 (22%), Final (45%) and Participation (1%, hell yea!). This meant the time you spent on the course was really up to your own ability - certain people breezed through the problem sets in 5 hours and spent minimal time studying for exams, while others spent upwards of a couple dozen hours on problem sets and another couple for exams (a full-time job, for some!). Homeworks were ridiculously difficult at times, as were some exam problems, but overall I felt the exams were structured to accurately reflect your knowledge of the material based on easier homework problems and discussion questions, as well as conceptual facts from lecture. 

Here are a few of my favorite and least favorite topics from each section:

Discrete Math - Favorites:

  • Graph Theory (hated graph-coloring, but everything else was super cool especially hypercubes)
  • Public Key Cryptography (who knew so much of our lives revolve around prime numbers?)
  • Infinity and Uncountability (super unintuitive but fascinating, ex. real numbers between 0 and 1 have the same cardinality as a set of all real numbers)

Discrete Math - Least Favorites:

  • Polynomials (Hey, I learned this in Algebra I! Nvm...)
  • Self-Reference and Uncomputability (I still love Turing, but I did not understand a single question on this topic) 
  • Propositional Logic (I thought this was a math course, not a language course)

Probability Theory - Favorites (I mostly just enjoy the names of the mathematicians):

  • Geometric and Poisson Distributions (I swear the coolest thing about France are the names of their mathematicians)
  • Markov Chains (Drawing pictures on exams actually warrant points!)
  • Concentration Inequalities (A love-hate relationship, I thought I hated this topic but then did well on the final exam so now I love it, plus Chebyshev is such a cool name)

Probability Theory - Least Favorites:

  • Counting (I thought I knew how to count. I was wrong)
  • Joint Probability (One random variable is bad enough, now you add 2??)
  • Continuous Probability in General (The mecca of complained-about topics in CS70. Brush up on your Calculus)

Final Verdict:

I probably have never felt as braindead in my life as I did trying completing some of these homework assignments, especially the ones on Concentration and Continuous Probability. The exams show no mercy either, even if it's on a topic as "simple" as counting. However, I also did not get to spend as much time as I wish I could have, really trying to internalize and grasp the material. I strongly believe to build a solid foundation through CS70, it is not worth taking it over the summer. It requires a level of mathematical maturity that is difficult to build up in such a short period of time, especially without formal proof writing experience or well-tuned calculation skills. Visualizing each topic, especially in probability, is TREMENDOUSLY important in developing an intuition for these abstract concepts - a website that really helped me is Seeing Theory

Most people view this course as an obstacle between them and declaring the CS major, and it is true that the summer version of CS70 is curved more nicely. However, looking back, I would have enjoyed the course a lot more if I had more free time to delve into the topics in my own free time without the pressure of deadlines - the course really is a basis for CS Theory, Security, and Artificial Intelligence, and its beautiful topics should not be ignored.

Comments

Popular posts from this blog

The First Post

I still remember the first time I read a blog.  Towards the end of freshman year in high school the college admissions bug had really bit me and I would obsessively read  MIT Blogs  every day. I was always excited to hear about the amazing experiences these amazing people across the country were having. Eventually I discovered a man on YouTube that would go on to waste way too many hours of my life. Every single day I would watch  Casey Neistat 's vlog and get to see a glimpse of his awesome life.  Today I've decided to take a step in the right direction and create my own blog alongside my good friend Owen. I'm hoping to use this blog as a platform to discuss ideas I've been formulating, commit to the goals I should've years ago, jot down notes I think are important, and most importantly, leave behind a piece of myself on the internet.  Most of my content will fall under a couple of categories: School - an all-encompassing part of life Econ...

Balancing Time

Where does my time go? This is the curse of the modern world - technology enables us to do everything faster than before, but the number of tasks at hand also increases exponentially. With more and more activities around us, are we really living "easier" lives? Or simply more exhausting ones? As the school semester flies by, even though most of the grunt work of the year and spamming club applications are over I still feel fairly behind in my classes and not reaching what I set out to do every day. In this post I will try to dissect my weekly schedule, to see where I'm spending my time on average and what changes I can make in my life to be happier with my use of time. Monday The first school day of the week. I don't have class until 3:00pm, so I'm fairly lazy about my day on this day in particular, a mindset I aim to change. 12:00-3:00am : Lately I've been staying up pretty late almost every day, doing miscellaneous stuff like writing blog posts ...

Reflections on my First Semester Sophomore Year at UC Berkeley

I now realize Freshman year was not my first semesters of college; my Sophomore year was. These past 6 months changed me more than any other time period in my life. It's when I truly became independent, took a workload past my comfort zone, and embraced all that I've failed and succeeded at in UC Berkeley.  Work and Internships:   In Freshman year, I took for granted how difficult and competitive it was to find a summer internship, and as a result, I did not land any offers and settled for taking summer classes instead. However, my summer at Berkeley set me up for the fall semester better than I could have ever imagined, bringing in plenty of new friends, opportunities, and experiences in my life (which will be visited in much more detail later). For example, I won the "Outstanding Academic Intern Award" in Summer 2019, which led to being hired as a course staff tutor during the fall. As a result, I am closer to my goal of becoming a TA someday and was much mo...