ossu / computer-science

🎓 Path to a free self-taught education in Computer Science!
MIT License
170.07k stars 21.47k forks source link

Discrete mathematics and calculus from Core math section. #437

Closed a1h05 closed 6 years ago

a1h05 commented 6 years ago

Hi! I have few suggestions regarding Core math section:

1) Calculus by “The Ohio State University” looks like half-baked course (in comparison to other courses which I had chance to take). The main problem is that it was left by course staff and they do not fix errors and improve content. From alternatives which I have seen there was only calculus by “University of Pennsylvania”. There are no reviews, but probably someone from ossu students have tried it and could compare to calculus course which is in the current curriculum. https://www.coursera.org/learn/single-variable-calculus https://www.coursera.org/learn/differentiation-calculus https://www.coursera.org/learn/integration-calculus https://www.coursera.org/learn/applications-calculus https://www.coursera.org/learn/discrete-calculus

2) “Mathematics for Computer Science” – as far as I understood it was added to curriculum because no mooc alternative was available (see https://github.com/ossu/computer-science/issues/104 ) . But as I see now coursera offers https://www.coursera.org/specializations/discrete-mathematics . So probably it should be considered to be put in curriculum along with MIT course, which still could have material which is missed in coursera specialization.

TYRONEMICHAEL commented 6 years ago

@a1h05 the coursera course looks promising. I am just not sure where it fits in. Would it be either or as the coursera course is an actual specialisation which takes about 6-8 months to complete. Are there any overlaps between the existing math courses and the one provided by coursera?

I am personally finishing off the Linear Algebra course, which I am then thinking of taking the coursera course. Any reason why I would need to take the other math classes?

arcanemutterings commented 6 years ago

Exciting finds, @a1h05!

I just watched the introduction of the first Calculus course and my qualm is that it presupposes some familiarity with Calculus. It explicitly states that it is not suitable for someone taking Calculus for the first time.

The Discrete Math course looks like a good contender for the MIT course, though.

a1h05 commented 6 years ago

@TYRONEMICHAEL

where it fits in

Right into Core Math section instead of "Calculus" and "Mathematics for Computer Science"

which takes about 6-8 months to complete

Effort of "Mathematics for Computer Science" from current curriculum estimated as 13 5 hours, effort of specialization estimation is about 24 5 hours (one course missed information, but I have assumed it’s the same 5 hours per week). So, its 6-8 month for those who plan to spend about 5 hours per week on this course.

@Nixerrr good catch. I don't know why such information is hidden behind enrollment.

Each course builds on the previous. For the first course, students are expected to have had prior exposure to Calculus at the high-school (e.g., AP Calculus AB) level. It will be assumed that students: are familiar with transcendental functions (exp, ln, sin, cos, tan, etc.); are able to compute very simple limits, derivatives, and integrals; and have seen slope and area interpretations of derivatives and integrals, respectively. This material will be reviewed; however, it is important to begin the course with some prior calculus background.

joshmhanson commented 6 years ago

Regarding calculus

I agree that Ohio State Calculus is not ideal for a number of reasons. It is extremely well-reviewed, yet most of those reviews are several years old. The quizzes are riddled with errors; the course moves at a dizzying pace giving piecemeal opportunities for practice; and the videos often gave me the feeling that I've "missed" something, as if the course is meant for review rather than for teaching the material fresh.

U Penn Calculus looks really attractive. Not only does it break up the material into nice bite-sized chunks, it offers an exam at the very beginning to help the student figure out if it will be too hard for them. And it has more recent reviews. On the other hand, the description of part 1 is worrying (emphasis mine):

"In this first part--part one of five--you will extend your understanding of Taylor series, review limits, learn the why behind l'Hopital's rule, and, most importantly, learn a new language for describing growth and decay of functions: the BIG O."

This makes it sound like you were already supposed to take some calculus beforehand...? And that would seem to line up with @Nixerrr's comment about what he saw in the first video.

So I think more investigation is needed on this course. A possible solution would be to replace Ohio State Calculus with a combination of Pre-College Calculus (or something like it) and then U Penn Calculus, but again, someone needs to dig into these courses to confirm that everything is of sufficiently high quality, and particular that there is no huge knowledge gap between them (i.e., that Pre-College Calculus isn't too advanced for students who have completed up to pre-calculus, and that it sufficiently prepares students for U Penn Calculus).

Let's not forget, another option is MIT Calculus:

If we're dead serious about putting the best possible calculus courses in the curriculum, it's hard to imagine doing any better than MIT. The reason I haven't put them in the curriculum is because they are super long — 13 weeks (one semester) each, so 39 weeks total. Since discrete math is more important to computer science (technically, it is computer science), I didn't want to over-emphasize continuous math. My choice is consistent with what I have seen with university CS curriculums, which typically only require 1-2 semesters of continuous math, but many more discrete math / CS courses.

Since replacing Ohio State Calculus isn't the highest priority right now, I don't have time to dig into these courses myself yet. But if someone else wants to do it and report on their findings, I would be happy to listen and make changes to the curriculum if it makes sense to do so.

joshmhanson commented 6 years ago

Regarding discrete mathematics

I'm very open to suggestions regarding the curriculum's coverage of discrete mathematics, probably the most fundamental part of the curriculum. MIT Math for CS is exceptionally well-regarded, but it is lacking solutions to the problem sets and exams, which is really problematic from a pedagogical standpoint.

The Coursera specialization does look promising. I like that the course is filled with puzzles to reinforce understanding and that there is apparently some Python programming involved.

I am however concerned that this is another one of Coursera's "kind of free but not really" courses where access is somewhat limited to those who don't pay; with these, you get a certain number of videos per week, and you can't necessarily do all the assignments. Someone would need to audit the course to see just how limited you are as a free user.

If it is too limited, then the course will effectively be the same as MIT Math for CS: just a mostly-static course with a tiny bit of interactivity. If that were the case, replacing MIT Math for CS with this one would actually be a downgrade.

a1h05 commented 6 years ago

@hanjiexi Unfortunately, it looks like this specialization is actually "kind of free but not really". If you use "audit" option assignments will have "Upgrade to submit" instead of "Submit" button and are marked with a lock. Probably this specialization could have be placed like Haskell book after courses table with "paid" label as alternative or should not be at curriculum at all.

joshmhanson commented 6 years ago

@a1h05 Thank you for your help in confirming that. It can't be mandatory then, but next time we do a curriculum update I'll consider adding it as an optional paid alternative.

arcanemutterings commented 6 years ago

Btw, I'm doing the MIT Calculus course, and I can wholeheartedly recommend it if anyone is looking for an alternative to the Ohio State Uni course. It's a little light on exercises to my liking, so I often find myself doing extra practice on Khan Academy, but otherwise I'm very happy with it.

ghost commented 6 years ago

An important part of the Ohio State course is the exercises at https://mooculus.osu.edu/. You need to have a Google account to log in. I got more than enough practice there.

xindekai commented 6 years ago

the MIT courses look great but they switch to "archived" after a certain time. Right now as I post, 1A is archived, 1B is "in session" and 1C starts in the future. It would seem to imply that one would have to finish the MIT program over an academic year, like Oct-Jun? Meaning not exactly at your own pace...?

Abhi18022 commented 6 years ago

hey is there any issue with khanacademy.org ? i found there matarilas fair enough !

netship02 commented 6 years ago

https://www.coursera.org/specializations/discrete-mathematics Puzzles are accessible from http://dm.compsciclub.ru/app/ Many puzzle are still not accessible.

joshmhanson commented 6 years ago

OSU Calculus has been replaced by MIT Calculus, and I added a note about the paid Coursera Discrete Math course, so I'm closing this issue. Thanks everyone!