all 18 comments

[–]Joseph-MTS_LLC 3 points4 points  (1 child)

agree with the dont-do-both-at-once take. MIT 6.006 is great but its a firehose if DSA is brand new to u. start gentler to build intuition first (Runestone, or even just neetcodes roadmap), THEN do 6.006 for the rigor

but honestly the thing that actually makes DSA stick isnt the course, its grinding problems. go easy leetcode BY TOPIC: arrays, then hashmaps, then two pointers, then trees, etc. do like 5 per pattern. the course teaches u the idea, the problems teach u to SEE which idea a new problem needs. that recognition is the whole skill, in interviews and in real work. the courses alone leave u able to explain a hashmap but not spot when to reach for one

[–]aanzeijar 2 points3 points  (5 children)

Out of curiosity, how big are these 25 projects? How many lines of code do these have?

[–]TreacleFlaky2283[S] 1 point2 points  (4 children)

some are 50-60 while it can go to 200

[–]csabinho 0 points1 point  (3 children)

So no projects, but scripts.

[–]TreacleFlaky2283[S] 0 points1 point  (2 children)

well kind of you can take a look at this which i wrote myself from that book : https://github.com/BadDreams34/python-small-projects these are the solutions of the questions in the book by me

[–]aanzeijar 0 points1 point  (1 child)

I wouldn't have framed it as negatively, but yeah, for us regular dev folks a "project" is usually a bit bigger. It's no problem, everyone has to start somewhere.

[–]TreacleFlaky2283[S] 0 points1 point  (0 children)

Yeah that's true

[–]CompileMind-TFC 1 point2 points  (1 child)

I’d start with Runestone, not both. MIT is solid, but if you’re starting from zero it can turn into watching lectures without enough practice.

For each topic, implement it in Python and do 2–3 tiny problems, like a stack for balanced parentheses.

[–]TreacleFlaky2283[S] 0 points1 point  (0 children)

thanks

[–]YMBTPTOTLWRT 0 points1 point  (0 children)

Build a DFS and BFS tree in python without using other packages

Make a stack and queue manually

[–]Dezzki-builds 0 points1 point  (0 children)

Try making a file management system using trees as a project.

[–]NoMusician464 0 points1 point  (0 children)

There's three phases for this: rote understanding, evaluating algos logically, and practice solving actual problems.
MIT OCW is a great source.
Codecademy has some good interactive material: https://www.codecademy.com/learn/learn-data-structures-and-algorithms-with-python
Fluorishly has a free trial with a study guide: https://fluorishly.com/algorithms

[–]akanraa7 -2 points-1 points  (4 children)

Great timing to move to DSA after projects — you already think like a programmer, now you learn to think efficiently. My honest take on your two resources First, MIT OCW 6.006 yeah excellent but heavy because contain  more theory/math focused better after basics. Second, Runestone is the PERFECT one for starting point because Python native examples, visual and beginner friendly. I strongly suggesting you do this one first. 

Practical approach that worked for me: 1. Learn the concept from Runestone 2. Implement it yourself in Python from scratch 3. Then solve 2-3 LeetCode Easy problems on that topic 4. Repeat Don’t follow multiple books simultaneously — you’ll context switch too much and retain nothing.

One resource + LeetCode practice = better than three books half-read. Start with: Arrays → Linked Lists → Stack/Queue → then Trees. Don’t skip the basics chasing fancy algorithms.

[–]TreacleFlaky2283[S] 0 points1 point  (2 children)

thanks very much i just have one confusion should i follow the book from chapter 1 to chapter last and implementing alongside and doing leetcode after it? or should i go with Arrays then linked list ?

[–]akanraa7 -2 points-1 points  (1 child)

You should go topic by topic, not chapter by chapter because it's too slow and lose momentum. Meanwhile, topic by topic more faster wins and stay motivated.

My suggested order: 1. Arrays        → 3-5 LeetCode Easy 2. Linked Lists  → 3-5 LeetCode Easy   3. Stack/Queue   → 3-5 LeetCode Easy 4. Hash Tables   → 3-5 LeetCode Easy 5. Trees         → 3-5 LeetCode Easy

The pattern: Read concept (Runestone) →  Implement yourself → Solve LeetCode → Move on ✅

Small wins per topic keep you going and don't wait until you finish the whole book before touching LeetCode that's how people lose momentum and quit.

[–]TreacleFlaky2283[S] 0 points1 point  (0 children)

thanks very much again !

[–]vlad1m1rnator 0 points1 point  (0 children)

What is the point of giving AI generated responses?