I finished the cs50x course a month ago and just finished cs50w. It has literally turned me from knowing nothing about programming to the point that I want to code every single day. I just can't think you enough for recommending these amazing courses for me. Btw, the video is great. Hope your channel gain back views
hey I have question since I'm thinking to take those courses right now. cs50 course says web programming with python and JavaScript and why it says python I don't understand because python is used for back end or for something other, since when python became language for web development?
I LOVED data structures! One of my favorite classes back in 1991 was Data Structures In C. This was before they started teaching Java in the Uni, which was before they started teaching Python as they do now. Back in the day you had two choices - C and Pascal. I saw the writing on the wall and I knew C was the future, so I focused on C (after taking one requisite Pascal class). Anyway, that data structures class was the best class I ever attended, and I probably use more from that class in my every day coding than any other class I attended for programming. We learned deques, linked lists, queues, stacks, rb trees, binary trees, and probably a half a dozen more data structures that I am forgetting right now. In fact the first thing I do when I learn a new language is implement those data structures. Even though they might already be implemented as a feature of the language I will implement them anyway to get a better understanding of the language. For example, most duck typed languages have associative arrays built in as part of the language implementation, but that doesn't stop me from creating a red-black tree in that language anyway :D. I live and breath computers, always have, so for me anything that helps me understand them better is a goal for me. I'm auto-didactic and taught myself assembler on the IBM XT (back in 1986) using the DOS Debug command when I was 14, so learning about languages is something that I really enjoy.
I have experienced that same epiphany about the importance and, yes, beauty of data structures. And not just in Programming and CompSci. My background is in Physics, EE, and Computing, but I now run a company and so on the surface I spend more time thinking about sales, finance & accounting, HR issues, and so on than I do about technical matters. But that's only the surface. In a deeper and more real sense, it truly is data structures all the way down. At the risk of being too grandiose and philosophical, I now see data structures as being so important and fundamental not just because they concern the way we organize the stuff we put in our computers; data structures are so important and fundamental because they concern the structure of thought itself.
Just came across your video. This is gold. I had an idea of data structures, but having you link it to memory in the computer and why it matters.... *chef's kiss*
OMFG THIS IS ONE OF THE BEST DS&A VIDEOS ON THE INTERNET. Currently studying ds&a @ a top university and it's so frustrating how the profs never mention the WHY, they just dive into the HOW without any explanation or background.
Thank you for creating this video. I believe that many people typically have a lot of problems attempting to understand DSA. Also it's quite important as for any Software Engineer.
This is the best explanation as to not just what are Data Structures, but the most important reason as "Why" they are needed and so important. I've never heard anyone talk about them this way. You have the best way of explaining things for someone like me. Just subscribed. Thank you!
I'm so glad to hear that you found this helpful! I noticed with many things that once I figure out the 'why', the 'how/what' become a lot more easier to understand as I can have the big picture/why this thing exists in mind. And I agree that I haven't seen anyone else make this kind of explanation on DSA so I wanted to make mine.
I have completed a DSA purchased on Udemy; the best part of the course …animations were used to drive home the key point etc. getting this information from different perspective is very important as it allows for review, re-learning and retention, Basically, repetition. Thank You! ☺️🙌🏿🙏🏾
@@naazj8508 “Data Structures and Algorithms- Java” By Scott Barrett! He really drives the points home and gets you in the habit of thinking about “edge cases!” Cheers.
C, C++ is good way to learn data structures because you have to do all things manually it is good way to understand what is happening behind the scenes
I have played around with python a bit and thinking about how you wanna organize data and writing reusable functions that work with that makes a lot of stuff a lot faster to code, and you need to fix a lot fewer bugs. It's like when you have containers on ships and all harbors are set up to load and unload containers of that size from ships. It just makes everything a lot smoother and faster (if you do a good job with your structures in the first place). This isn't as low level as the stuff in this video but it's similar, just more surface level
Thank you Toumas so much for this video, it's great to know foundational topics like DS&A from someone who went through the same journey, to give me a clear vision of what one can face in later stages, please we need more videos like these, a series of an overview of what a self-taught programmer should know, also it'd be great if you could imitate problems like the ones you face at real work, to see how the things I'm learning are applied in real life.
You do a nice job of going over "what's in it for me." Love the 'no one wants to hire a developer who keeps their code like their messy room.' (Not a direct quote.)🙂
Thank you so much for this video. I am a second year data science student and I'm starting to get overwhelmed with studying the data structures, algorithms and computability module. Finding your video is helping me feel more calm about it.
Dude this video is awesome ! I am currently a third year Comp Sci undergrad taking my esteemed Data Structures & Algorithms class right now ! This is of great help ! thankyou🙏🏿
ideally you want the data to fit in the CPU cache, so you want to group data that you will carry computation together in a single data struture, student id, class year together so you can carry a simple instructions to increment their class year at the start of the academic year, you don’t need to fill the cpu cache with first name, middle name, dob, sex, address etc...
I just have few days to get into Fang and I have no idea about DSA as a whole. I was searching whole internet for a video explaining briefly about all data structures- array, lists, arraylists, linked list, stacks, queues, hash maps, trees. And when to use where just in brief, just for implementation purpose. But whole net was flooded with hours of vids for each DS. But yours man!!!! Its the one we all need, people like me. Thanks man. Can u make more of it covering all of those ds in brief pls. I use JAVa
Bro I had just completed my Java course and I decided that I'll start my DSA FROM TOMORROW and think what's you upload a video on DS this is very useful. You should have to make video on algorithms we'll like it and learn from it.
Thank you for your video. It's really inspiring and encouraging for me as a self-taught developer learner now. It's really hard for me to hold on myself alone. But everytime I watch your video it makes me reenergized to learn again. Wish you all the best and respect
Oh man this is such a good explanation and as soon as you said the word abstraction my brain had already gone out to thinking out hypothetical algorithms. I’m just getting back into coding since I’ve been busy with uni and mostly coded in the summers, but now that I’m trying to get back and conquer JavaScript this was a very eye opening video so thanks for that!!
Thanks for explaining this stuff so clearly and why it is so important to learn it. I had a mental block going in to learn this stuff cause I never use it at work to the extent that they are going to have you do at interviews, you really sold it to me with your creative analogy of someone maintaining a messy room. Thank you very much again!
I don't understand the advantage of linked lists. If they are efficient for storage in memory but inefficient for actually accessing that data, how are they any more efficient overall? At the end of the day, it's all about being able to retrieve the data we need in the fastest way possible, right?
Just watched the first ten minutes of your video. I wish I was taught this way. I am going to steal your example and teach it in my lesson tomorrow thanks dude Data Structures made clear
wonderful, tutorial ....i also have a hard time understanding these concepts....this has really given me a great overview of what data structures is all about
Hey! New to the channel and definitely enjoying the content! Wondering if you could do more in-depth break downs on just some of the data structures such as ID= , Class= console.log etc
I’m new to coding but I have edited enough videos to say no weird zoom ins or cuts are necessary. There is enough well executed cuts in the video without the zooms
My first "data structure" was years ago, when I learned some C++ and created an application using linked lists, I remember trying to work out the pointers, using post it notes ; )
Correct me, but probably the only point of data structures and algorithms is make slow code faster. You don't have to understand all math behind it, but know how to use is more important. You can see that some data structures and algorithms will take 0.3 secods, some 8 hours (extreme example) But even 8s and 30s is enormous difference between different data structures- it doesn't matter for your small pet prject, but as soon there is a lot of data (like tens of thousands transactions a second) it will eat all your memory even if it's hundreds of gigabytes of RAM, or add some incapsulation and your script went from 5 minutes to execute to 2-3 or even 8 hours just because you don't know your data structures. My advice, don't go deep into it at the beginning, read very very basic definition, then search for many easy examples why people choose particular data structure and algorithm and you get it fast. When you start using, check math and theory later. Very basic understanding is not hard, start with it.
after watching your videos i can see the progress in my learning and im taking CS50, im literally struggling alot with the logic, if i tried 50 ways the solution will be in the 51 way, and the problem is im not able to think beyond that, im thinking alot to get the logic but im not able to get that, is it really i cant get the logic or is it lack of something else, can you please help me with this, your videos gave me a good thought and im feeling a bit confident when compared to before. even though if im struggling., it will be helpful for me alot if you reply.,
there will always be problems that you'll struggle with. All the time I too end up looking up the answer, spending some time to properly understand it, and move on. I think the best balance is to try for a good amount of time, but if you're stuck, just look up the answer and make sure you understand it. Then move on to the next. THis has worked for me.
Kiitos! It's funny to hear someone say that about algorithms. For me it's the opposite - I'm trying to learn the language quickly so I can fluently start learning algorithms.
Honestly, Ive been coding for about 5 years in an organization with some very good and experienced developers. Ive looked at 50+ repos and have not found even 1 example of linked list being used in any of these apps.
DSA feels intimidate when learning, but it get more frustrated when you face a problem that require certain data structure to even understand the problem you facing. So, don't skip learning Data Structure once you familar with programming language syntax.
I have a question! I really want to do leet code problems for fun like solving a puzzle but I don't know any coding language. Do I need to know a coding language to start doing leet code problems or is it something I can pick up along the way of solving them
You inspired me a lot to start coding, so i started the CS50 program , but I am struggling with some problems . Can someone help me ? Where can I find the answers of CS50?
I'm confused and have to do more research now. This just sounds like simply knowing how to make your models in python link properly to the data it needs and when. An individual stock doesn't need to know about the users that own it but the users need to know what stocks they have. But I don't really do anything about where it stores that info, it's all stored in a database.
Hey can you please do a MAANG OR MANGA interview... And please tell us how actually tech giant companies conduct interviews and how to actually pass them!!!
There's is no Roadmap to pass an interview if you know your shit(no offence just mean programming )apply the resume attend the interview answer their questions or pass their coding test. That's all you need
I think the word "for dummies" always makes me want to go away thinking that i am not dumb. But the truth is no one is born with a golden spoon in thier mouths. So i accept the fact that i am dumb , knowing that i may be dumb today but i will be wise tomorrow if i work hard.
I definitely need help on oop and loops(lists, tuples, dictionary's, arrays) & function combos(algorithms). I would like to see real source code, so I may read it and understand the whole Source File.
data within an array is sequential within computer memory. this makes it easy for the computer to find any element within an array as all it needs to do to find where the array begins in memory and then go forward *X* amount of times to access the Xth element-it never needs to access any other element other than the array itself and the element it's trying to get to. data within a linked list is not sequential within computer memory. the only way for the computer to access element at Xth position is to access each node before it and then access the node to which it points to *X* amount of times until it can get to the desired node-the computer has to constantly access nodes which aren't desired. it doesn't make it harder per se, but it does take longer
OMG!!! Lightbulb!! Fellow Dumb @ss here... I just could not grasp the concept until now!! Thank you so much for explaining it this way. Several courses, youtube videos and even a chat with ChatGPT and your explanation finally clicked!!! Again, thank you so much!! :) :)