Live data from Hacker News

Introduction to Algorithms (2020)

ocw.mit.edu

41–50 of 61 posts

Re: Introduction to Algorithms (2020)

#41
post #2

Here is my latest life hack that I have been using. Pick a major from MIT and see their degree program to form a basic knowledge graph of the major. Find them on https://ocw.mit.edu/ and study yourself. Usually, taking 1-2 classes gives you a great insight in to any topic so that you can at least collaborate better with the experts of those topics in a team environment.

I'm having the weirdest deja-vu right now. Turns out I did see a thread almost like this, with a top comment almost like this a week ago: https://news.ycombinator.com/item?id=32793139 Felt like I was going insane.

Nice job finding it! Bot or not?

Re: Introduction to Algorithms (2020)

#42
post #35
post #9

I've spent a lot of time learning algorithms, and learning that certain ones exist, without learning their precise details (for future use). They have never got used. Maybe I used a bloom filter once. It's had some value in knowing when a certain algorithm is inappropriate, but otherwise it's been a massive waste. Surely things can be better than this? Jobs bleat for "creative, intelligent people with a knowledge of…

You can do light study without having to do MIT-level exam questions (but you should still do some easy problems) and that can get you familiar enough to recognize the patterns and give you the vocabulary to google things For people uninterested in studying CS itself, this has just become a job signal to work towards.

I don't study things for the love of it (well, I suppose I do) but to apply it, for what value is a skill if not applied?

I learnt these things because they should be useful. But employers would rather throw big data software stacks and a ton of expensive hardware at things rather than use brain.

CS and business programming should NOT be two disjoint subjects[1].

[1] IMO

Re: Introduction to Algorithms (2020)

#43

I'm studying algorithms too right now. As someone who sucks at maths and puzzle solving in general, Steve Skiena's book is proving to be quite approachable for me. Although I have to jump back and forth between the book and Khan Academy to look up some of the Maths. He also has video lectures for the book: https://www3.cs.stonybrook.edu/~skiena/373/videos/ Another thing that helped me was brushing up on C programming…

I also want to recommend Steve Skiena's book. His math section in particular was my own 'ah hah!' moment where I connected math back to the code I wrote. It really unlocks the rest of the book.

Re: Introduction to Algorithms (2020)

#44
post #2

Here is my latest life hack that I have been using. Pick a major from MIT and see their degree program to form a basic knowledge graph of the major. Find them on https://ocw.mit.edu/ and study yourself. Usually, taking 1-2 classes gives you a great insight in to any topic so that you can at least collaborate better with the experts of those topics in a team environment.

I did a couple of MIT projects in some of their graduate classes (OS, distributed systems) which was a lot of work. At least one week full time for each of them. And that's just the lab, I barely looked at the lectures (which were based on key research articles on the field). But looking at the first classes of each topic to have a broad view seems like a good idea too. I wish I could go back to school. CS is changin…

> I wish I could go back to school. CS is changing so fast,

Is it, really? I got an undergrad degree 25 years ago, and looking at the requirements for the same at a few different universities, they appear largely the same, other than a few extra courses on ML. You still have pretty much the same math courses, theory courses, algorithm/OS/network/database courses, etc. The languages and tools have changed, but the fundamentals have not.

Re: Introduction to Algorithms (2020)

#45
post #2

Here is my latest life hack that I have been using. Pick a major from MIT and see their degree program to form a basic knowledge graph of the major. Find them on https://ocw.mit.edu/ and study yourself. Usually, taking 1-2 classes gives you a great insight in to any topic so that you can at least collaborate better with the experts of those topics in a team environment.

I'm having the weirdest deja-vu right now. Turns out I did see a thread almost like this, with a top comment almost like this a week ago: https://news.ycombinator.com/item?id=32793139 Felt like I was going insane.

Yup, recognized it as soon as I saw it here because I distinctly remember thinking, when I read the first one, "hmm, I'm not sure I'd call this a 'hack'"

Re: Introduction to Algorithms (2020)

#47
post #3

Earlier quoted context omitted.

> Pick a major from MIT and see their degree program to form a basic knowledge graph of the major This was exactly how I taught myself, but I used CMU as my guide, lol. It is not hard to find good quality material, many universities have them open, but this curriculum is hard to 'graph' when you don't know where to start and what is an actual logical way to organize it. So yeah, do this if you are a self-learner.

What courses did you use from CMU and which major?

Here's a comment I left on a different thread a few months ago, which you may find useful if you're looking for CS contents:

---

There are a lot of book recommendations, but I would not focus on books if I wanted to get the equivalent of a solid CS education. Instead I would work through university lecture slides, assignments, and exams -- basically fast forward through a CS undergrad leveraging what you already know. I'm partial to CMU's CS syllabus for obvious reasons, but I find that it's also one of the most open and available resources on the web; i.e. not locked in on an intranet, etc.

With pre-existing background in software development the basic syllabus is more than doable in a 3-4 months. There are two sequences below: programming and theoretical fundamentals; you can do them in parallel.

Programming:

15-211: Introduction to Data Structures. Used to be in C++; now looks like it's in Java. https://www.cs.cmu.edu/~mjs/121/lectures.html

15-212: Principles of Programming. Still in ML. https://www.cs.cmu.edu/~me/212/schedule.html | https://www.cs.cmu.edu/~fp/courses/96-212/ (unlocked assignment pages)

15-213: Intro to Computer Systems. I hesitate to recommend this; 90% of the value in this course is in the labs and assignments, so it's difficult to do on one's own, but I would at least go through the slides and try to work through exams. https://www.cs.cmu.edu/~213/schedule.html

Theoretical:

15-251: Great Ideas in Theoretical Computer Science. Used to be Discrete Math with a heavy CS lean; it may have evolved. https://www.cs.cmu.edu/~15251/schedule.html

15-451: Algorithms. Here's a decade worth of lectures, exams and assignments - take your pick: https://www.cs.cmu.edu/~15451/ The 2013 course looks pretty complete: https://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/15451-f...

Next steps:

Since you are interested in VR, etc, you should probably look into the Computer Graphics courses. Note that the undergrad and grad courses are combined; the only difference is the expectations:

15-462: Computer Graphics http://15462.courses.cs.cmu.edu/fall2020/ Exam problems and solutions are gold: http://15462.courses.cs.cmu.edu/fall2020content/exams/finals...

15-463: Computational Photography http://graphics.cs.cmu.edu/courses/15-463/

15-464: Technical Animation http://graphics.cs.cmu.edu/nsp/course/15464-s21/www/syllabus... http://graphics.cs.cmu.edu/nsp/course/15464-s21/www/assignme...

Hope this helps. Good luck!

Re: Introduction to Algorithms (2020)

#48
post #2

Here is my latest life hack that I have been using. Pick a major from MIT and see their degree program to form a basic knowledge graph of the major. Find them on https://ocw.mit.edu/ and study yourself. Usually, taking 1-2 classes gives you a great insight in to any topic so that you can at least collaborate better with the experts of those topics in a team environment.

I'm having the weirdest deja-vu right now. Turns out I did see a thread almost like this, with a top comment almost like this a week ago: https://news.ycombinator.com/item?id=32793139 Felt like I was going insane.

Yup, decided to repost it, since someone replied with a link that even helped me further last time, so I was hoping to start another convo :) which seems like I have successfully achieved since this even sparked a longer thread this time, which I enjoyed reading.

Re: Introduction to Algorithms (2020)

#49

What does "proficiency in algorithms"? mean? that's general question

To me, it means understanding the basics of data structures and algorithms, and knowing when and how to apply them to solve problems.

A couple of examples:

Seeing a sorted list of items and knowing how to find an item in that list most efficiently (binary search) [0].

Looking at a map of cities and the roads connecting them (including distances between cities) and knowing that you can use a graph to represent the cities and use Dijkstra's algorithm [1] to find the shortest path between any two cities.

Essentially, being able to look at a problem and see how that problem can be mapped to (and solved by) a specific type of algorithm, then being able to implement that algorithm to solve the problem.

[0] https://en.wikipedia.org/wiki/Binary_search_algorithm

[1] https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm

Re: Introduction to Algorithms (2020)

#50

I'm studying algorithms too right now. As someone who sucks at maths and puzzle solving in general, Steve Skiena's book is proving to be quite approachable for me. Although I have to jump back and forth between the book and Khan Academy to look up some of the Maths. He also has video lectures for the book: https://www3.cs.stonybrook.edu/~skiena/373/videos/ Another thing that helped me was brushing up on C programming…

I love the idea of Skiena's book. I don't love his editor. The second edition has an error almost every other page. The third edition isn't much better. 2nd Ed. Errata: https://www3.cs.stonybrook.edu/~skiena/algorist/book/errata 3rd Ed. Errata: https://www3.cs.stonybrook.edu/~skiena/algorist/book/errata-...

Thanks for the heads up. I'll be sure to check the errata while going through the book.
Post reply on HN