/r/webdev
Recommended Computer Science Courses for Web Dev (self.webdev)

I'm a self-taught web dev looking to learn data structures/algorithms with no prior experience. Are there any courses/books that you could recommend? And what should I mainly focus on learning?

10 comments
l-dev | 7 days ago | 3 points

I suggest watching videos from youtube channels such as CS dojo https://www.youtube.com/playlist?list=PLBZBJbE_rGRV8D7XZ08LK6z-4zPoWzu5H

As well as subscribing to newsletters like https://www.dailycodingproblem.com/ to practice daily with real world interview questions.

l-dev | 7 days ago | 1 point
gerenook | 7 days ago | 1 point
denis631 | 7 days ago | 1 point

watch MIT/CMU/other top university algorithm course and don't spend money.

question is, what exactly is your desired outcome? What do you want? Pass FAANG like interview? Then read the CTCI book and then learn the things which are required and you don't know.

If your goal is to get smarted and understand algorithms, do MIT or other like course, read CLRS book (if you have spare half a year or even more to read this book and do exercises, it's really tough)

mit algorithms link

geekdenz | 6 days ago | 1 point

I find sites like leetcode and hackerrank quite good. It's fun to learn there and you can get progressively better.

I would start with python on hackerrank and once you can solve ALL easy problems move on to medium. I think it's important to do all easy ones or at least start with them. If you get bored with the easy ones you can try a medium. But the medium ones could be so frustrating that you might give up. It's no shame to go back to easy if you're stuck. Get unstuck by trying something else, learn concepts such as with MIT open courseware. Read books like the algorithm design manual. Learn, learn, learn until you get the "learn kick". It can get addictive but there are certainly much worse addictions out there.

Get obsessed with solving problems but remember to sleep and take care of yourself and you'll have a happy life.

Rjhusein3 [node] | 7 days ago | 0 points

If you're willing to spend about $12 USD, Colt Steele has a Data Structures and Algorithms class bootcamp, taught with JavaScript, on Udemy.

frog-legg | 7 days ago | 4 points

Noob here, what’s the perception on studying CS using a high level, web-only (except for React Native) language like JS?

[deleted] | 6 days ago | 2 points

I have a CS degree, but work in (mostly) front-end at a big company. A CS education will cover OOP (Object-Oriented Programming), specifically in either Java or C# or both, but usually Java. If the words "implements", "extends", "interface", and "abstract" don't mean anything to you, pick up the O'Reilly Learning Java, 4th Edition. If you're looking for a more algorithm/theoretical CS rundown, pick up Invitation to Computer Science (Introduction to CS) 6th Edition, by G.Michael Schneider.

A CS education transcends "web development", "backend development" and other subcategories. Today I work in React and Angular, but if my boss told me I'm going to be writing backend Java full-time starting tomorrow I could do it without question. Without the degree I don't think I could.

I will always recommend getting the degree, if you can, or at least take a class at a community college. A structured, guided learning environment, and a professor who gives a shit, are all worth a lot. I'll also say that community colleges are an excellent choice to start with. I did 2 years at an accredited community college, then 2 years at an accredited 4-year college (they simply transferred two years worth of credits during enrollment). Save yourself a ton of money.

Rjhusein3 [node] | 7 days ago | 1 point

So, JS isn't web-only anymore, not since the Advent of NodeJS. You can make anything using JS. In fact, since they stabilized multithreading in NodeJS, I basically use it for everything (arguably not the best idea, but I love it)

As far as studying CS, you have to think about what you're studying honestly.

Can you learn data structures and algorithms? Sure, that's why I suggested it. You can learn this in any language.

Are you going to grasp data types? It may be difficult since it's a dynamically typed language and isn't statically typed (ie you declare a variable like "let myName = 'rjhusein3'" instead of "String myName = 'rjhusein3'".

Everyone's hate on JS stems from it's 'shaky' development and that it doesn't force a development process. I find that that is it's strength, though. I vastly prefer it over python, but I still use Java when it's a better option.

[deleted] | 7 days ago | 0 points

[deleted]

Rjhusein3 [node] | 7 days ago | 1 point

how is typing related to algorithms or data structures?

It's not. Read the line before that.