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.
Introduction to Algorithms (2020)
41–50 of 61 posts
Re: Introduction to Algorithms (2020)
#42I'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 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)
#43I'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…
Re: Introduction to Algorithms (2020)
#44Here 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…
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)
#45Here 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.
Re: Introduction to Algorithms (2020)
#46Re: Introduction to Algorithms (2020)
#47Earlier 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?
---
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)
#48Here 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.
Re: Introduction to Algorithms (2020)
#49What does "proficiency in algorithms"? mean? that's general question
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.
Re: Introduction to Algorithms (2020)
#50I'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-...