10 ms·
Mathematics for Computer Science (2024)
Lecture videos:
https://ocw.mit.edu/courses/6-1200j-mathematics-for-computer https://ocw.mit.edu/courses/6-1200j-mathematics-for-computer...
https://www.youtube.com/playlist?list=PLUl4u3cNGP61VNvICqk2H https://www.youtube.com/playlist?list=PLUl4u3cNGP61VNvICqk2H...
- OutOfHere 1y agoThe lecture videos are here: https://ocw.mit.edu/courses/6-1200j-mathematics-for-computer-science-spring-2024/download/#resource-list-container-lecture-videos https://ocw.mit.edu/courses/6-1200j-mathematics-for-computer... https://www.youtube.com/playlist?list=PLUl4u3cNGP61VNvICqk2HXJTonnKgAc9d https://www.youtube.com/playlist?list=PLUl4u3cNGP61VNvICqk2H...
- fn-mote 1y agoThe page listing topics (just like the playlist): https://ocw.mit.edu/courses/6-1200j-mathematics-for-computer-science-spring-2024/pages/readings/ https://ocw.mit.edu/courses/6-1200j-mathematics-for-computer... Lecture notes: https://ocw.mit.edu/courses/6-1200j-mathematics-for-computer-science-spring-2024/lists/lecture-notes/ https://ocw.mit.edu/courses/6-1200j-mathematics-for-computer... There are a few unusual parts, like the last lecture ("Large Deviations"). I'm not familiar with the entire course, but IMO the lecture on state machines is very good; it discusses invariants and uses an approchable example (the 15-puzzle). Text (last revised 2018): https://courses.csail.mit.edu/6.042/spring18/mcs.pdf https://courses.csail.mit.edu/6.042/spring18/mcs.pdf If you have never looked at it, the problems there are very nice. For example, instead of some dry boolean logic problem about A and Not(B), you have Problem 3.17 on page 81, which begins: This problem examines whether the following specifications are satisfiable: 1. If the file system is not locked, then. . . (a) new messages will be queued. (b) new messages will be sent to the messages buffer. (c) the system is functioning normally, and conversely, if the system is functioning normally, then the file system is not locked. [...] (a) Begin by translating the five specifications into propositional formulas using the four propositional variables [...]
- deleted 1y ago[deleted]
- mturmon 1y agoI was also pleased to see large deviations, although the lecture notes don’t actually define what a large deviation is. They do give an example of a Chernoff (exponential) bound for a sum of iid random variables. The bound of course has an exponential form - they just don’t call it a large deviation. So it’s a bit of a missed opportunity, oven that the name is in the chapter title. These bounds come up all over the place in CS, but especially lately in learning theory.
- vardhanw 1y agoThe Units seem to be independent i.e. could be followed in any order. Can someone knowledgeable confirm this? I know Set theory etc is the basis of many things usually in a formal mathematical setting, hence asking.
- overfl0w 1y agoIt's unbelievable that the average human being has access to the lectures of some of the best universities in the world for free. 31 hours of in-depth mathematics by some of the best people in their field. Although I have always been struggling with keeping up with long lecture playlists. I always try to find shorter videos which explain the concept faster (although probably lacking depth). And end up ditching it halfway as well. Perhaps the real motivation to keep up with the material comes from actually enrolling the university? Has anyone completed such type of lectures by themselves? How do you stay consistent and disciplined? I find courses in some platforms (coursera/khanacademy) a bit more motivating because they kind of push me with deadlines. I guess I am used to deadline-oriented studying. If anyone else is struggling with attention span and is looking for shorter lectures (although they may not have the same depth): https://www.youtube.com/@ProfessorDaveExplains/playlists https://www.youtube.com/@ProfessorDaveExplains/playlists
- rhubarbtree 1y ago“A world class education available for free, to the undistractable.”
- AnimalMuppet 1y agoHmm. One could think of the cost as a hack to force you to not be distracted so much.
- globalnode 1y agoIts so hard to be self disciplined like that, I find I have to enroll to force myself to engage. I know its a weakness.
- William_BB 1y agoIn my experience, coursera/khan academy courses have never been able to compete with a rigorous university course. They're great resources when you need alternative explanations, but never stood up on their own. I think long lecture playlist is a feature, not a bug. It's much harder to commit to such material when you're not full timing education.
- cubefox 1y agoA lot of these topics sound interesting, though I think the average software engineer needs approximately none of that. When I first started programming, I was surprised how little mathematics was involved in practice. Of course, these MIT lectures are aimed at computer scientists, not software engineers, which US universities consider to be quite different.
- rramadass 1y ago> the average software engineer needs approximately none of that. Not true. He/She doesn't need to know all of it nor in depth but a conceptual understanding is very much needed to write "correct" (w.r.t. a specification) code. We Humans are natural algorithmic problem solvers and hence can always muddle our way through to a ad-hoc solution for a given problem. Obviously, a lot depends on the intelligence of the individual here. What Mathematics gives you is a structure and concepts to systematize our thinking and rigorously apply it so that problem solving becomes more mechanical. Thus you learn to specify the problem rigorously using mathematical concepts and then use mathematical logic to derive a "Program" satisfying those requirements. At the very least a knowledge of Set Theory, Logic and Relational Algebra goes a long way towards understanding the mapping from Mathematics to Computer Programming. The following books are helpful here; 1) Introductory Logic and Sets for Computer Scientists by Nimal Nissanke. A very nice overview and wide coverage of needed basic mathematics. 2) Understanding Formal Methods by Jean-Francois Monin. A fire-hose overview of mathematical models and tools implementing those models.
- cubefox 1y ago> At the very least a knowledge of Set Theory, Logic and Relational Algebra goes a long way towards understanding the mapping from Mathematics to Computer Programming. I know all these from university, but I did programming and SQL before that without any issues. Learning these mathematical details seemed really not useful in practice, at least for me. Of course, coming up with something like SQL in the first place requires a lot of theoretical mathematics (set theory, relational algebra), but as someone who only uses those systems, like 99% of software engineers, understanding the mathematical theory here doesn't seem very helpful.
- dernett 1y agoI'm going to try formalizing this course in Lean--not sure how hard it is going to be. If anyone is interested in doing the same, please feel free to contribute! https://github.com/dernett/Lean61200J https://github.com/dernett/Lean61200J
- vkuncak77 1y agoThis sounds very interesting and relevant to the goals of the CSLib initiative that apparently just got started. I don't have a better public link to it now except this LinkedIn post (perhaps there's a Zulip tag): https://www.linkedin.com/posts/lean-fro_leanlang-cslib-formalmethods-activity-7346261424253390848-Gyp2?utm_source=share&utm_medium=member_desktop&rcm=ACoAACy6Y6oBgIB8xUPzmkame7vvWUWXyAjV7xQ https://www.linkedin.com/posts/lean-fro_leanlang-cslib-forma...
- monkeyelite 1y agoWhat will that accomplish?
- amw-zero 1y agoYou can write proofs along with the course, and since they are machine checked you can have confidence that they are correct. If you don't know, writing a proof in isolation can be difficult, since you may be writing on that isn't actually sound.
- monkeyelite 1y agoLearning math is more about the big ideas. Behind each proof is an insight. Formalizing in a computer is like spell checking a document. It helps you catch small mistakes but doesn’t change the content, I just think this is a distraction unless your goal is to learn lean and not math.
- amw-zero 1y agoHard disagree. Errors are found in human proofs all the time. And like everything else, going through the process of formalizing to a machine only increases the clarity and accuracy of what you’re doing.
- jvanderbot 1y agoHas anyone navigated a career change using OpenCourseware? I have a suspicion that the MOOC era mostly catered towards already-educated, self-starters and hobby learners, moreso than empowering a generation of workers, as was advertised. Not to knock it. I've been working through quantum computing between work-related fire drills and household commitments, so I should be up to speed in a few decades.
- owlbite 1y agoHaving "Mathematics for Computer Science" as a course title rubs me the wrong way, I always believed Computer Science was a specialized subfield of Mathematics.
- recipe19 1y agoIn principle. But in practice, the industry doesn't need nearly as many mathematicians as it does software engineers, and almost no one is getting into CS out of the love of math. CS coursework reflects that. Here are some important algorithms and data structures, here's how you write Python, good luck at big tech!
- FuriouslyAdrift 1y agoMy CS program (at Purdue) was from the math department. We didn't even start designing real programs until the 4th semester (and that was in Forth or C). At that time, if you wanted to do application programming, you took software engineering (OO Pascal and C++) or computer technology (Java) from either tech or engineering schools.
- ducttapecrown 1y agoYou could make an analogous course titled "Mathematics for [subfield of mathematics]" for any subfield of math. It would be a good(ish) title (I have never titled a course), and the content would be nicely focused. Such courses are generally titled "Intro to".
- hand2note 1y agoWhere can I find solutions to the problems in the course?
- isomorphic- 1y agoI wish these courses would also provide the answer sheets or tell you where to find them. How am I supposed to check my work and verify my answers otherwise?
- jvanderbot 1y agoI hate to say it but a LLM provides at least some guidance, but you can always try to ask on MathExchange
- FuriouslyAdrift 1y agoWait... what? CS is a math degree. Title is like saying mathematics for math.
- deleted 1y ago[deleted]