Open romanbird opened 2 years ago
I am not in the support of this proposal as to say. MIT Math for CS is an important course and a part of curriculum, although I was planning to introduce an elementary discrete math course before MIT Math for CS.
MIT Math for CS is an advanced treatment for Discrete mathematics and should not be first course in discrete mathematics.
This course and textbook is also recommended by teach yourself cs
For a more advanced treatment, we suggest Mathematics for Computer Science, the book-length lecture notes for the MIT course of the same name. That course’s video lectures are also freely available, and are our recommended video lectures for discrete math.
Just a few clarifications (I think most of your issues is due to the un-intuitive GUI of the OCW website):
psets with answers (2010, 2019 only)
2005 also has Psets with solutions:
lecture videos (2010 only - partially)
2015/2019 also has lecture videos:
exercises with worked solutions (2010 only);
I believe you are referring to the "in-class problems" yes? 2005 also has solutions to those:
a complete textbook (2019 only)
2010 also used an earlier version of the same book as textbook, but it's chopped up into separate PDF pieces as "Readings":
On top of this, you're dumped with all these readings and assignments, but no logical order to go through them
You have to use the "Calendar" and match the corresponding resources to it. For example, this is the 2005 version:
In addition, the "dump" issue is mostly with the https://ocw.mit.edu website. The default version we are offering is at https://openlearninglibrary.mit.edu/ which is a different, non-dump site that uses edX-style open source MOOC software.
Moreover the 2019 version has a very clear, linear pathway: just click "Next":
With those out of the way...
2010 is clearly the best pick
Personally I don't see it, 2019 seems to be the best pick. It's only missing solutions to the in-class problems (keep reading below).
Maybe we should clarify this by getting rid of all references to alternatives/different versions and force everyone to use the 2019 version?
This "oh no I gotta mix and match" issue comes up a lot with learners, because they are terrified of math, so when they see something, anything at all without full solutions, they immediately start running away.
Copies are available on archive.org to guarantee that learners can access legal, free, resources without having to resort to piracy.
I don't think this is true... those can't be legal. So, as much as I love Epp's book and consider it superior, I have to disagree with the proposal.
My proposal: I WILL HAVE TO ROLL UP MY SLEEVES ONCE AGAIN, AND WRITE SOLUTIONS TO THOSE IN-CLASS PROBLEMS. Should take me a few months. Then I'll make a PR that removes all references except to the 2019 version.
Will that satisfy you, @romanbird ? Would 2019 be acceptable then?
With solutions, MIT 2019 will be a great option. Right now it’s unsuitable though, so people should be aware of that till it’s fixed.
I still think it should be listed as an alternative. Why have to dig deep for the superior book? Let people know it’s at least available
Right now it’s unsuitable though, so people should be aware of that till it’s fixed.
I think it's suitable... not everything in a course needs to have full solutions. (In fact some pedagogues argue there shouldn't be solutions for everything.) But let's not argue on that.
I still think it should be listed as an alternative. Why have to dig deep for the superior book? Let people know it’s at least available
It's debatable whether it's superior. I think it is, but I could be wrong, and others may feel differently. Plus, there must be hundreds of other Discrete Math books/courses out there.
One common problem is people recommending that we change resources, without going through the new recommended resource themselves. Honestly I haven't fully completed Epp's book (but I have completed Math for CS). So I refrained from opening an issue about it.
I am in favor of removing all alternatives (unless they are needed due to availability reasons). It creates so many more problems, confusions and questions. What we need is clarity.
It also creates a lot of work for maintainers. We had some issues opened in the past, where the default option for a course kept ping-ponging back and forth between 2-3 alternatives, without all that much impact on the learners. It leads to splitting hairs on small unimportant differences.
"What are the differences? Which is better? What will I miss out if I use one instead of the other? How much longer/shorter is this one? Should this one be the default instead?" etc. There were some learners simply paralyzed by all the Math for CS alternatives. They ended up spending way more time trying to make a decision, rather than actually doing the course.
The basis of learning Maths is consolidation exercises where you can even do something as simple as check you actually understand something. The exercises here are locked away — no undergraduate course of this level would ever do this, not even at MIT. How can we seriously ask people to do an MIT course except harder?
First in-class problems solution is already done! (34 more to go...) MIT6_042JS15_cp1_solutions.pdf Not really that hard. I hope I can inspire others to pitch in to the effort.
I am not in support of this proposal. I completed the first third of the Math for CS book so far and solved every single problem in it just fine. It's not hard, you just need to spend time understanding the concepts. If I didn't get something, I just googled or youtubed the information. If I couldn't get a question, I would just use google lens and get hints and solutions on math stackexchange.
This is one of the highest quality courses in the curriculum and it would be a real damn shame to get rid of it.
Math for CS has major flaws. I don't consider it completable in its current state
Can you give a deeper elaboration? I solved the textbook at https://courses.csail.mit.edu/6.042/spring18/mcs.pdf
I didn't even use the lectures, I didn't find them necessary at all. The textbook by itself is self-sufficient.
I am noticing that the 2010 in-class problems have a lot in common with the 2015/2019 in-class questions, but not all of them are the same. Some of them are 100% identical, while others vary... about 50%? This should at least speed up my work, as I can copy/paste from the 2010 in-class problem solutions.
I completed the first third of the Math for CS book so far and solved every single problem in it just fine. It's not hard, you just need to spend time understanding the concepts. If I didn't get something, I just googled or youtubed the information.
So I would argue that having to frequently resort to this would make a course not so high quality but I digress. Maybe it's working out for you, but the fact is it's just not a text that is written to be used in isolation. MIT, while making a nice gesture to make this book available for free, knows this already: it's why they have an abundance of supplemental materials to this textbook that we don't see.
A book like this needs a framework around it. Going through Epp right now, it's much more of an all-in-one resource, and much more suitable for developing skills that you actually retain: examples, practice and repetition are must-haves. MIT students are bright but they do not go from dense textbook straight to challenge problem sets either.
The Maths part of this curriculum is one of its most defining features. Discrete Maths is literally the core of the subject, and this is the capstone course for what will some people be 4 prior courses in Maths. It is not a course we can afford to have people struggle through and then continue on with a questionable understanding.
Unfortunately many people struggle real hard even with Epp's book... (my 2.5 years of experience working through proofs with learners on Discord)
Concrete Mathematics by Donald Knuth, Oren Patashnik, and Ronald Graham is an excellent account of discrete mathematics with a large number of high quality exercises with solutions and written by legendary computer scientist donald knuth
as much as Concrete Mathematics might be an excellent book, from what I have read, it is NOT a recommended book for a beginner student to get into Discrete mathematics. IMO its doing the antithesis of what this issue is trying to fix.
20/35 of the In-class problem solutions done so far! Stay tuned for more.
All 35 in-class problems now have solutions.
With this, all psets, in-class, and exams have solutions. The only missing part is solutions to all problems in the textbook, but I'm pretty sure that would take me years to write.
@romanbird Is it satisfactory for you?
@spamegg1 Thank you very much ❤️ Appreciate the time and effort that you put into creating it!
I don't think we should switch them, rather add Epp's book as an alternative. I think it's a good course, I just didn't like the lecturers teaching style + I covered discrete math already, so I got Epp's book to fill in gaps.
What about replacing MIT's Math for CS with the following course specialization: https://www.coursera.org/specializations/discrete-mathematics#courses
The book from this specialisation is also really good. I believe this would be a more approachable coverage of discrete math for most self-teaching students. The time needed to complete the specialisation would be comparable to the MIT course.
This definitely requires a revision. It doesn't quite fit the CS Math contents compared to educational knowledge available for students at a university, e.g. https://link.springer.com/search?new-search=true&query=computer+science+mathematics&content-type=Book&dateFrom=&dateTo=&sortBy=relevance
This RFC should be closed, since the problem which was proposed has been solved. Additionally, the book that was recommended as the alternative in this RFC does not pass the OSSU requirements anyway, since it is not available for free.
@svenschnydrig @robertgro If you want the Math for CS course to be replaced, please open a separate RFC, explaining why it should be replaced, and why the proposed course is a better alternative.
@pulkitkrishna00
Thank you for your clarification. Although I'm no more deep into it enough (and don't have the time anymore) to sufficiently evaluate the changes required, I guess you mean something like https://github.com/ossu/computer-science/issues/1211
Which is already a separate ticket regarding the topic indeed.
Problem:
Duration: 1 months
Background: Math for CS has major flaws. I don't consider it completable in its current state. Options exists from 2005, 2010, and 2019 (a refactoring of a 2015 course), but neither has a complete set of what I'd consider must-haves: psets with answers (2010, 2019 only); lecture videos (2010 only - partially); exercises with worked solutions (2010 only); a complete textbook (2019 only). 2010 is clearly the best pick, but on closer inspection there's too much missing to actually implement the resources you're given. On top of this, you're dumped with all these readings and assignments, but no logical order to go through them (I spent about an hour trying before realising there must be a noticeable amount of content missing).
Discrete Mathematics with Applications by Susanna Epp (4th edition) has worked solutions within the textbook and an optional study guide to go alongside it. It seems extremely high quality and tailored specifically to a CS curriculum. Copies are available on archive.org to guarantee that learners can access legal, free, resources without having to resort to piracy. In addition, the textbook is assigned enough across university curricula that support from it can be found online with some ease.
I'll paste selections from the introduction to show its suitability for OSSU/CS2013.
Issues Obviously this is not an online course: there are no lectures for example. My case is that there isn't a viable alternative.
Proposal: