ossu / computer-science

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

Linear Algebra - Foundations to Frontiers - is it worth it? #507

Closed amadeann closed 6 years ago

amadeann commented 6 years ago

https://www.edx.org/course/linear-algebra-foundations-to-frontiers

I'm currently at week 2 of this course and find it not challenging at all. Looking at the syllabus, the course is very slow paced. I've recently completed Mathematics for Machine Learning: Linear Algebra, without 'paid' parts, and it seems like the curriculum mostly overlaps. Only that I was able to be done with the Coursera course in less than a month, without much difficulties.

Matlab part in LAFF seems to be not too useful (at least for our purposes) - based on the comments from the instructors, they're using it because it's easy to set up, and they got free support from Matlab consultants (it's true, I've already got answers to a couple of questions from the consultants). But the way they write Matlab code, it trying to resemble C, and Fortran. Here's a comment from the instructor (emphasis mine):

(...) A purpose of the course is to code in Matlab, but to mimic how one would instead code if one were to use C (or, heavens forbid, Fortran). In the enrichments, you will learn about the Basic Linear Algebra Subprograms, a standard interface to operations on matrices and vectors. That interface was designed for Fortran code (since scientific code used to be primarily coded in Fortran). Our laff_xxxx functions kind of sort of mimic that. In addition, it will allow you to visualize how the code acts on matrices and vectors later in the course using the PictureFLAME tool.

and:

You really shouldn't get too caught up in the Matlab vs Python issues. Starting in 1.6 we layer our own "Domain Specific Language" on top of Matlab and Python, which means which language you use is completely irrelevant to the learning you will enjoy in this course.

We already have a few courses in the curriculum with DSL (How To Code, and Nand2Tetries are ones I'm 100% sure about). At some point computer science students should start programing in languages used in the industry, not learning one DSL afer anothter.

A huge upside of this course is that both instructors are extremely active on the discussion groups - I've never seen anything like that in any MOOC. Most of the time they seem to be answering the questions on the same day you ask them.

I know it's a bit early to judge course after 1.5 weeks, but I am not really sure if I should invest 12 weeks into this course, if the material can be covered in 3-4 weeks. Can anyone who actually completed the course give their thoughts on whether it is worth keeping it in the curriculum? Should we replace it with something shorter, more fast-paced, and using a language like Python, or R (or even Matlab, but written in a Matlab way, without mimicking C or Fortran)? Or maybe suggest LAFF as an optional course for students who need more time for math (e.g. someone that is coming to Computer Science from Humanities, and not, Finance, Economics or Engineering)?

giordi91 commented 6 years ago

I might completely wrong here, but didn't they recently move to python homework? I did not complete the course I did the first 10~ weeks and honestly, I liked it quite a bit. I don't have other courses to compare but not sure a metric of "speed" might be good for whether deciding if to keep it or not. There might be people that cannot breeze through the material. Also, you can do everything free in the course, homework as well? Just not get the certificate?

amadeann commented 6 years ago

@giordi91 In LAFF everything except for the certificate is free. At Coursera you're quite limited in what you can do in a free version (even Jupyter Notebooks with exercises are locked).

In the current version, LAFF is back to Matlab Online. They moved away from Python, since people had problems setting it up.

The metric of speed is not good, I know - some people need more basics. But if you already had some Math at the university (my case - I did Economics), going through 5 slow-paced Math courses in the curriculum is no the best use of time.

joshmhanson commented 6 years ago

Hi @amadeann, please see #418. Some actually find LAFF to be difficult, which is why we ended up adding "Essence of linear algebra" right before it. I think you are more of an outlier since you have a very strong math background. I am not surprised that you find it too easy given that you already took a linear algebra course. If you want to check if your knowledge has any gaps, check Strang's lectures. Hope this helps!

amadeann commented 6 years ago

I decided to "drop out" of LAFF course, and keep working through a book on applied linear algebra. That book is pretty "shallow" (i.e. doesn't elaborate too much on each topic), but has quite a lot of challenging (and interesting) exercises. I find it more convenient to do my own research on the topics that I don't understand (occasionally asking for help on Math Stack Exchange), rather than sitting through the video lectures.

My plan is to do all the exercises in that book, follow along with the companion on linear algebra in Julia, and then breeze through the Strang's Linear Algebra book.

ignacio-gc commented 4 years ago

Hi, really worth it! I couldn't finish it but I done it up to de first exam. The pace is slow but I think is made that way to build solid foundations. Everything is directed to build the central idea of linear transformation and it's relation to everything else, I think it has a very sound aprouch. Also I found the programming topics very interesting, especialy to practice how to traverse and work with matrices.

malsaleh2030 commented 4 years ago

ارجوكم لا ترسلون أي شيء

أنا لست من ضمن مجموعتكم وهذه الإيميلات تأتيني بالخطأ

أُرسلت من الـ iPhone

‫في 11‏/12‏/2019 الساعة 6:22 م، كتب/كتبت ‏Ignacio Caamaño ‏notifications@github.com:‬



Hi, really worth it! I couldn't finish it but I done it up to de first exam. The pace is slow but I think is made that way to build solid foundations. Everything is directed to build the central idea of linear transformation and it's relation to everything else, I think it has a very sound aprouch. Also I found the programming topics very interesting, especialy to practice how to traverse and work with matrices.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/ossu/computer-science/issues/507?email_source=notifications&email_token=ANMP2IL3DN3KLHAL25M2AL3QYEAULA5CNFSM4FVPSAAKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGTP67Y#issuecomment-564592511, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ANMP2IKPGT72MAYCIRVOKT3QYEAULANCNFSM4FVPSAAA.