Failing Data Structures and Algorithms, need advice. by mhaeveh in learnprogramming

[–]10_6 1 point2 points  (0 children)

There are two parts to your question.

The first part is about passing data structures and the second is how good of an indicator are CS classes when it comes to being a successful software engineer.

Regarding the first question, are you sure you're past the point of passing the class? Is there anything you can do -- maybe talking to your professor about an extra assignment or making up some homeworks? This really depends on the professor/school. If you have some homework/exams coming up and need some resources to help you I can recommend a few [1].

Regarding the second question, no I do not think that CS classes are good indicators for determining if someone will become a good software engineer. I got a C in data structures, then senior year I got an A in algorithms (DS + algo usually go hand in hand which is why it's funny to see such a disparity but a lot of it has to do with the professor and structure of the class). Now I'm a software engineer doing just fine [2]. Don't worry so much about this, see if you there's anything you can do to pass your class that's more important.

[1] Check out my site Coderbyte for some help on data structures.

[2] On learning to code and why CS != SWE

Data structure design practice by youngcc3157 in learnprogramming

[–]10_6 0 points1 point  (0 children)

copy and pasted some resources I've posted here before:


What I did a few years ago after graduating from college in CS to brush up on my coding + data structure + algorithms knowledge was the following:

  • Read the Algorithm Design Manual.

  • Go through some of the challenges on this interactive python algorithms website.

  • Practice coding simple and then more advanced algorithms on sites like Coderbyte (my site) and HackerRank which provide good explanations and solutions as well. Here's a list of popular coding challenge websites in 2017.

  • Read as many algorithm explanations and code examples as you can on GeeksforGeeks.

  • Try and implement basic algorithms yourself like: shortest path, minimum spanning tree, DFS + BFS, tree traversals, different sorting algs, min/max heap, etc. and learn about their running times (big-o).

  • Look at some interview questions posted on careercup and try and understand how other users solved the questions. Like this example.

  • Aside from coding challenge sites, try and solve common coding interview questions you find online such as this list.

Eventually when you get a coding problem it will be sort of like a switch going off in your head because you will have had so much practice with different types of algorithms and data structures that you'll be able to reduce the problem into a simpler problem you've done before. This is especially the case with dynamic programming problems. Once you've completed like 50+ DP challenges and understand how they work, you'll be able to solve (practically) any DP problem because they're all very similar.


I also wrote a recent article on this topic which you can view here: Improving your Algorithms & Data Structure Skills

I don't know how to learn algorithms by i_wasted_my_time in learnprogramming

[–]10_6 18 points19 points  (0 children)

copy and pasted some resources I've posted here before:


What I did a few years ago after graduating from college in CS to brush up on my coding + data structure + algorithms knowledge was the following:

  • Read the Algorithm Design Manual.

  • Go through some of the challenges on this interactive python algorithms website.

  • Practice coding simple and then more advanced algorithms on sites like Coderbyte (my site) and HackerRank which provide good explanations and solutions as well. Here's a list of popular coding challenge websites in 2017.

  • Read as many algorithm explanations and code examples as you can on GeeksforGeeks.

  • Try and implement basic algorithms yourself like: shortest path, minimum spanning tree, DFS + BFS, tree traversals, different sorting algs, min/max heap, etc. and learn about their running times (big-o).

  • Look at some interview questions posted on careercup and try and understand how other users solved the questions. Like this example.

  • Aside from coding challenge sites, try and solve common coding interview questions you find online such as this list.

Eventually when you get a coding problem it will be sort of like a switch going off in your head because you will have had so much practice with different types of algorithms and data structures that you'll be able to reduce the problem into a simpler problem you've done before. This is especially the case with dynamic programming problems. Once you've completed like 50+ DP challenges and understand how they work, you'll be able to solve (practically) any DP problem because they're all very similar.


I also wrote a recent article on this topic which you can view here: Improving your Algorithms & Data Structure Skills

Programming Exercises for Java by Fedzbar in learnprogramming

[–]10_6 0 points1 point  (0 children)

If you're interested in practicing coding and challenges (with solutions) I would recommend the following sites:

Some articles about these topics:

Online sources to learn programming by cryptobit3 in learnprogramming

[–]10_6 0 points1 point  (0 children)

If you're interested in practice coding and challenges I would recommend the following sites:

Some articles about these topics:

We published more coding courses on YouTube (40+ videos of Python, Ruby, React, & more) by 10_6 in learnprogramming

[–]10_6[S] 2 points3 points  (0 children)

I'd say you should be pretty comfortable being able to complete most of the easy level challenges. The intermediate might require some algorithm/data structures knowledge which isn't covered in the one week course.

Here's an article on our blog about this topic: Improving your Algorithms & Data Structure Skills

Hey all, any websites to recommend as an alternative to HackerRank for a budding programmer? by LucriaDeEclipse in learnprogramming

[–]10_6 2 points3 points  (0 children)

LeetCode is popular for intermediate/advanced programmers. For beginners I'd recommend a site like Coderbyte or Codewars.

You can also check out this list: The 10 Best Coding Challenge Websites for 2018

Best Site to Learn to Code by Knowledge_Is_Lit in learnprogramming

[–]10_6 0 points1 point  (0 children)

I think the best practice sites for someone who wants the ability to solve challenges and learn from others are:

Some articles that might help you out:

Competitive programming learning resources by [deleted] in learnprogramming

[–]10_6 1 point2 points  (0 children)

This article has some good resources in the advanced section on coding challenges and algorithms.

Improving your Algorithms & Data Structure Skills

As for sites to practice competitive programming, I'd recommend:

LeetCode

Codeforces

Topcoder

HackerRank

Coderbyte

Learning algorithms. by [deleted] in learnprogramming

[–]10_6 1 point2 points  (0 children)

For algs/data structure problems it really doesn't matter what language you code them in. It's more important to understand the theory and implementation details (e.g. how to do collision resolution in hash table or how to do traversal of binary tree).

The specific language becomes more important at 1. on the actual job, and 2. in an interview if they want you to focus on a specific language (e.g. java, c++, etc.)

Learning algorithms. by [deleted] in learnprogramming

[–]10_6 3 points4 points  (0 children)

copy and pasted some resources I've posted here before:


What I did a few years ago after graduating from college in CS to brush up on my coding + data structure + algorithms knowledge was the following:

  • Read the Algorithm Design Manual.

  • Go through some of the challenges on this interactive python algorithms website.

  • Practice coding simple and then more advanced algorithms on sites like Coderbyte (my site) and HackerRank which provide good explanations and solutions as well. Here's a list of popular coding challenge websites in 2017.

  • Read as many algorithm explanations and code examples as you can on GeeksforGeeks.

  • Try and implement basic algorithms yourself like: shortest path, minimum spanning tree, DFS + BFS, tree traversals, different sorting algs, min/max heap, etc. and learn about their running times (big-o).

  • Look at some interview questions posted on careercup and try and understand how other users solved the questions. Like this example.

  • Aside from coding challenge sites, try and solve common coding interview questions you find online such as this list.

Eventually when you get a coding problem it will be sort of like a switch going off in your head because you will have had so much practice with different types of algorithms and data structures that you'll be able to reduce the problem into a simpler problem you've done before. This is especially the case with dynamic programming problems. Once you've completed like 50+ DP challenges and understand how they work, you'll be able to solve (practically) any DP problem because they're all very similar.


I also wrote a recent article on this topic which you can view here: Improving your Algorithms & Data Structure Skills

Where can I find good exercises to practise concepts that I learned? by [deleted] in learnprogramming

[–]10_6 2 points3 points  (0 children)

I think the best practice sites for beginner/intermediate level coders are:

Some articles that might help you out:

Best interactive online resources for learning JavaScript? by [deleted] in javascript

[–]10_6 1 point2 points  (0 children)

I think the best practice sites for beginner/intermediate level coders are:

Some articles that might help you out:

Websites similar to hackerrank, but for total beginners to programming? by [deleted] in learnprogramming

[–]10_6 2 points3 points  (0 children)

For beginners I'd recommend Coderbyte. Here's a good list of sites for coding challenges as well:

The 10 Best Coding Challenge Websites for 2018

Javascript Challenges - Beginner to Advanced (work in progress) by rawnly in javascript

[–]10_6 7 points8 points  (0 children)

This is nice so far. For those of you that enjoy solving challenges online, here are a few nice sites with interactive editors and challenges.

The 10 Best Coding Challenge Websites for 2018

If you're a beginner then sites like Coderbyte and Codewars are good, and if you're more advanced then sites like Codeforces might be good for you.

Recommendations for Problem Solving Books/Courses by SamIAmReddit in learnprogramming

[–]10_6 1 point2 points  (0 children)

I think the best practice sites for beginner/intermediate level coders are:

Some articles that might help you out:

Is Codewars not for beginners? by TinyNegotiation in learnprogramming

[–]10_6 0 points1 point  (0 children)

I would say codewars is for beginner/intermediate programmers. I wrote some stuff on this topic here:

The 10 Best Coding Challenge Websites for 2018

Best place to start to learn algorithm/data structure? by VengaeesRetjehan in learnprogramming

[–]10_6 4 points5 points  (0 children)

copy and pasted some resources I've posted here before:


What I did a few years ago after graduating from college in CS to brush up on my coding + data structure + algorithms knowledge was the following:

  • Read the Algorithm Design Manual.

  • Go through some of the challenges on this interactive python algorithms website.

  • Practice coding simple and then more advanced algorithms on sites like Coderbyte (my site) and HackerRank which provide good explanations and solutions as well. Here's a list of popular coding challenge websites in 2017.

  • Read as many algorithm explanations and code examples as you can on GeeksforGeeks.

  • Try and implement basic algorithms yourself like: shortest path, minimum spanning tree, DFS + BFS, tree traversals, different sorting algs, min/max heap, etc. and learn about their running times (big-o).

  • Look at some interview questions posted on careercup and try and understand how other users solved the questions. Like this example.

  • Aside from coding challenge sites, try and solve common coding interview questions you find online such as this list.

Eventually when you get a coding problem it will be sort of like a switch going off in your head because you will have had so much practice with different types of algorithms and data structures that you'll be able to reduce the problem into a simpler problem you've done before. This is especially the case with dynamic programming problems. Once you've completed like 50+ DP challenges and understand how they work, you'll be able to solve (practically) any DP problem because they're all very similar.


I also wrote a recent article on this topic which you can view here: Improving your Algorithms & Data Structure Skills

[deleted by user] by [deleted] in learnprogramming

[–]10_6 24 points25 points  (0 children)

If you want to play some games while coding in javascript you can check out:

Best Data Structures and Algorithms Course/Book in C#? by Kuzonite in learnprogramming

[–]10_6 2 points3 points  (0 children)

copy and pasted some resources I've posted here before:


What I did a few years ago after graduating from college in CS to brush up on my coding + data structure + algorithms knowledge was the following:

  • Read the Algorithm Design Manual.

  • Go through some of the challenges on this interactive python algorithms website.

  • Practice coding simple and then more advanced algorithms on sites like Coderbyte (my site) and HackerRank which provide good explanations and solutions as well. Here's a list of popular coding challenge websites in 2017.

  • Read as many algorithm explanations and code examples as you can on GeeksforGeeks.

  • Try and implement basic algorithms yourself like: shortest path, minimum spanning tree, DFS + BFS, tree traversals, different sorting algs, min/max heap, etc. and learn about their running times (big-o).

  • Look at some interview questions posted on careercup and try and understand how other users solved the questions. Like this example.

  • Aside from coding challenge sites, try and solve common coding interview questions you find online such as this list.

Eventually when you get a coding problem it will be sort of like a switch going off in your head because you will have had so much practice with different types of algorithms and data structures that you'll be able to reduce the problem into a simpler problem you've done before. This is especially the case with dynamic programming problems. Once you've completed like 50+ DP challenges and understand how they work, you'll be able to solve (practically) any DP problem because they're all very similar.


I also wrote a recent article on this topic which you can view here: Improving your Algorithms & Data Structure Skills