The Black Box Method: How to Learn Hard Concepts Quickly

  Рет қаралды 1,130,623

Colin Galen

Colin Galen

Күн бұрын

A method for preliminarily learning difficulty concepts/data structures/algorithms and being able to put them to use very quickly... within minutes!
In short: blindly copy-pasting code is okay, most of the time.
Stuff I said would be in the description:
AtCoder Library: codeforces.com/blog/entry/82400
cp-algorithms: cp-algorithms.com/
kactl: github.com/kth-competitive-pr...
Benq's library: github.com/bqi343/USACO
My library: github.com/galencolin/cp-temp...
A cool online judge to test library code: judge.yosupo.jp/
Some timestamps:
Intro/overview 00:00
Black box description/examples 01:00
How to use it 04:17
Advantages 07:06
My personal examples 09:00
Practicality/useful libraries 11:27
Final remarks 13:07

Пікірлер: 842
@feynmannotesguy3351
@feynmannotesguy3351 2 жыл бұрын
I guess another reason why this is so effective is it forces you to understand the overall goal instead of getting lost in the small intricate steps. I often find myself thinking to much on complex scenario and forgetting what my initial goal was haha.
@hiphyro
@hiphyro 2 жыл бұрын
oh same haha
@kennethcarvalho3684
@kennethcarvalho3684 Жыл бұрын
Absolutely true..thanks for pointing
@tomcotter4299
@tomcotter4299 Жыл бұрын
That’s so true. I had a lot of trouble learning math in school because I never understood what the goal was when given a problem. But I always excelled at word problems because the goal is explicitly stated.
@xClairy
@xClairy Жыл бұрын
Sameee for me it's especially trying to optimize code
@martinrenthlei3303
@martinrenthlei3303 Жыл бұрын
same
@sujaykadam99
@sujaykadam99 3 жыл бұрын
My man explained abstraction in detail.
@testcase2299
@testcase2299 3 жыл бұрын
lol ya true
@AlumniQuad
@AlumniQuad 3 жыл бұрын
It's as if he reinvented the wheel and slapped a new name on it.
@petrus9
@petrus9 Жыл бұрын
Thanks for reminding me man. I knew I encountered this idea somewhere.
@ubayyd
@ubayyd Жыл бұрын
Laugh Out Loud!!!
@AA-gl1dr
@AA-gl1dr Жыл бұрын
@@AlumniQuad it’s often helpful in understanding the wheel to build it from scratch yourself.
@rafita_san
@rafita_san 3 жыл бұрын
That's like the levels of a abstractions of a field. A technician does no need to know physics to know how an engine works, but knowing the physics is always useful.
@sophon238
@sophon238 Жыл бұрын
@Prodigious147 anybody can learn how to fix an car part by shadowing a mechanic, not everyone can design and create new car parts and optimise them for better performance. Understanding physics, math, chemistry etc at higher levels helps in creating novel solutions.
@MajorTrollerHAK
@MajorTrollerHAK 3 жыл бұрын
This will jumpstart my career with stack overflow.
@KulaGGin
@KulaGGin 3 жыл бұрын
Read some books, zoomers, will ya?
@alberthank7388
@alberthank7388 3 жыл бұрын
@@KulaGGin this is ridiculous
@brunogomes5262
@brunogomes5262 3 жыл бұрын
@@KulaGGin they brain dont have the ability of thinking !
@borisnonceson
@borisnonceson 2 жыл бұрын
@@brunogomes5262 Ironic
@be7256
@be7256 2 жыл бұрын
@@KulaGGin uh you know some people learn better with visuals yeah
@PradeepPant007
@PradeepPant007 3 жыл бұрын
I used Black Box Method to learn Black Box Method.
@NeoKailthas
@NeoKailthas 3 жыл бұрын
Congrats. You reached level 2. 500 to go and you have 1 life left.
@bobingstern4448
@bobingstern4448 3 жыл бұрын
@@NeoKailthas ah shit, here we go again
@eriktorres6067
@eriktorres6067 3 жыл бұрын
Harvard : you want a scholarship?
@chirayujoshi1189
@chirayujoshi1189 Жыл бұрын
Then how did you learn Black Box Method?
@cubing7276
@cubing7276 Жыл бұрын
To learn recursion, you must first learn recursion
@IDIDNTORDERANYSOUP
@IDIDNTORDERANYSOUP Жыл бұрын
If you're not as STEM-inclined, another great way to understand this is music. It's far easier to learn an instrument through setting out to learn a song rather than learning the chords and building songs out of them.
@alexxx4434
@alexxx4434 Жыл бұрын
Yeah, I feel that our mind are more suited for comprehending the breaking of a whole into its cosisting parts, its internal interactions, and learning that way, i.e. going from a bigger picture into details. Rather than the other way around, starting from the very basic abstract details and going up. In that sense the classical education got it wrong. Well, at least in paiting education they got it right, they teach to start with bigger simple shapes first and only add detail later.
@piyushdanej3930
@piyushdanej3930 Жыл бұрын
Claus Levin is a guitar teacher on yt and he teaches exactly this. Rather he just asks to practice 1 chord shape and just focus on that one. Slowly but surely you'll get the hang of it. Now with that one chord shape down I can play many many songs.... Then add another shape... His methodology is just pure genius.
@ckatheman
@ckatheman 10 ай бұрын
Excellent point.
@donnydarko7624
@donnydarko7624 8 ай бұрын
Also you dont need to understand anything about music theory or even how to read music to learn how to play an instrument, but learning how to play songs and learn those chords will give you an instinctual understanding of music theory knowledge.
@adarsh915
@adarsh915 7 ай бұрын
​@@alexxx4434that's how we learned our native languages
@marusdod3685
@marusdod3685 3 жыл бұрын
I've found learning about compilers to be way easier using this method, just focus on each step and blackbox the rest, eventually you'll learn the entire thing
@aryankathawale9269
@aryankathawale9269 3 жыл бұрын
same jotaro .... dont approach me
@yoshikagekira7600
@yoshikagekira7600 2 жыл бұрын
@@aryankathawale9269killer queen had already touched reply section, you fool!
@joediditde
@joediditde 2 жыл бұрын
and how do you blackbox the rest?
@rawallon
@rawallon 2 жыл бұрын
@@joediditde Draw the rest of the owl
@joediditde
@joediditde 2 жыл бұрын
@@rawallon sorry i dont get that reference
@noahfletcher3019
@noahfletcher3019 3 жыл бұрын
Topdown learning is the best way. I started learning things quicker when I stopped worrying about every detail. I eventually came to understand the details without even trying.
@AA-gl1dr
@AA-gl1dr Жыл бұрын
@@Lolnigaaaaaaaaa my assumption is that he’s talking about conceptual/interaction based learning. I guess a way that it could work is that by learning “top-down” you’re building a larger framework of understanding for the intricacies to fall into place within. Kind of like building a map of a region. You don’t necessarily need to know the side roads and alleys of one part of a town when you don’t even know where all of the towns are. Map the cities, then towns, connections between them, etc, and then the intricate details will naturally fit within that framework. Idk if that makes any sense but that’s how my first attempt at explanation is.
@maal124
@maal124 Жыл бұрын
@@Lolnigaaaaaaaaa See bloom's Taxonomy or solo's taxonomy top to bottom
@Lolnigaaaaaaaaa
@Lolnigaaaaaaaaa Жыл бұрын
@@maal124 woah i found it thank you man
@Lolnigaaaaaaaaa
@Lolnigaaaaaaaaa Жыл бұрын
@N G thank you sm fr
@StellaChilinharova
@StellaChilinharova Жыл бұрын
Exactly, when I undergo training in a company what they talk starts to annoy me, because I know it’s a waste of time to go in detail about the detail.
@ja-qob
@ja-qob 3 жыл бұрын
Instructions unclear: Black Boxed Computer Science and Graduated with a Ph. D.
@satyamARAS
@satyamARAS 2 жыл бұрын
add these things to this : 1. focus on basic concepts and dont rush. 2. find objective of learning 3. then find intermediate concepts used generally ( maybe you miss some which are not used regular but if required you can just google it ) 4. revision revision , so what ever you learn just revise within 30-40 hours again then lite revision again after a week , this will create new nuro paths , later when you recall even if you forget if you get hint you recall all and then do practice to hard concepts , hope it helps and do have goood sleep and while y learn avoid social media and extra stuff and stupid relationships ( you can talk with your person or give specific time or make them busy too , my my objective is not relationship advice but to protect your brain spaces more and yes we are social being you should hand out but under limit , priorities matters.
@MrBluntNose
@MrBluntNose 2 жыл бұрын
Well said 👍
@hailemika5050
@hailemika5050 2 жыл бұрын
very helpful thankyou :Satyam
@lukedowneslukedownes5900
@lukedowneslukedownes5900 Жыл бұрын
You are actually very knowledgeable relative to everyone else. I agree with what you’re doing basically having a poly spectrum of knowledge instead of a single concentrated mindset or thought. Thank you for the Nuro thinking tip. I will definitely start looking into that. I recommend looking into metaphysics and epistemology with your developed conscious in philosophy for the widest range of knowledge.
@AmandeepSingh-cv5qz
@AmandeepSingh-cv5qz Жыл бұрын
bruhh..........💥💥...........can i follow you somewhere for these kind of tips
@Johan-yy9pk
@Johan-yy9pk Жыл бұрын
amazing tips
@NeoKailthas
@NeoKailthas 3 жыл бұрын
Legend has it people who are not using this method are currently working on assembly code that adds two numbers. Next step is adding binaries then creating hardware circuits. Then of course how electricity works and atoms and thw universe. But that is just the beginning
@VidhathShetty
@VidhathShetty 2 жыл бұрын
Damn you really hit the nail on that one. Thanks for blackboxing the blackbox method for me 🙏🙏. Im grateful
@boobbbers
@boobbbers 2 жыл бұрын
At one point they were soldering transistors to make an arithmetic logic unit but realized they didn’t know how transistors worked so they’re currently mining silicon.
@mouthearnose
@mouthearnose 2 жыл бұрын
@@boobbbers And then they realized they don't really understand the optimum methods for silicon mining so now they are off to studying metallurgy.
@AbandonedVoid
@AbandonedVoid 2 жыл бұрын
I was.. actually legitimately trying to figure out how to build my own compilers into machine code and write my own firmware, lol. I probably will still do that, anyway, because I think it's cooler than today's programming-made-easy languages.
@potowogreedo
@potowogreedo Жыл бұрын
Petzolds 'Code' is actually really good for this, best read after you have black-boxed most of the chapter list :D
@TheGitGuild
@TheGitGuild 3 жыл бұрын
Dude, I just discovered your channel from this video and it is amazing. Keep up the great work!
@mojtabavahdati7648
@mojtabavahdati7648 3 жыл бұрын
I passed a whole uni course using this technique and I actually learned it better than other courses, but don't know why I never kept doing it, this video reminds me I should try it more :) Cool video, Thanks.
@dheerajsharma1787
@dheerajsharma1787 Жыл бұрын
can you explain it in simple words in context of programming problem?
@asaadhusein
@asaadhusein Жыл бұрын
Yh for you mind if u explain it
@lamriniyounes4723
@lamriniyounes4723 3 жыл бұрын
That's exactly what a Bachelor's in Mathematics is.
@obedbabington3903
@obedbabington3903 3 жыл бұрын
Loooolll
@doxo9597
@doxo9597 3 жыл бұрын
I dont get it, can you explain? ( i am also doing a bachelors im math)
@moritzgro2442
@moritzgro2442 3 жыл бұрын
@@doxo9597 Well the most common blackboxes in math are theorems you don't know the proof for. Example: Every base of a finite-dimensional vectorspace has the same size. Feels right, but on the spot I'd have difficulty coming up with the proof. Another one: I often use the geometric series, but forgot its proof.
@andeslam7370
@andeslam7370 3 жыл бұрын
i agree with you. but i will go as far as to nitpicking applied mathematics as a black box in the world of mathematics.
@isaackay5887
@isaackay5887 3 жыл бұрын
Omg. That's exactly what I was thinking
@hpn1427
@hpn1427 3 жыл бұрын
Amazing video Colin, thank you so much for it, first time viewer here, now, also a new subscriber
@JolaMozyrska
@JolaMozyrska 3 жыл бұрын
Loved this type of "Hey, here's a trick and my experience using it" video
@williamtolliver749
@williamtolliver749 Жыл бұрын
Ive started doing this in the last 2 years. I just called it a new version of learning with the 5Ws. We as engineers and tinkerers tend to go STRAIGHT for the "how" too soon. Mastering the Why, then the What, of the total system will make the HOW 321783907218389 times easier to understand.
@asaadhusein
@asaadhusein Жыл бұрын
Do you mind if you explain this concept, I watched the vid and I don't really understand it
@fishstraws626
@fishstraws626 Жыл бұрын
@@asaadhusein yeah. Video doesnt make sense.
@trots4940
@trots4940 Жыл бұрын
@@asaadhusein If you focus too much on How something works when you're learning that for the first time, you'll lose too much time to fully comprehend What that thing does and Why you're using that. First you have to know what the goal of that concept is, after that you have to know why you're using that instead of another concept. This way you're already able to apply that concept in many situations. And just after sometime you study How that concept works. (Learning the goal (What) and Why you're using that make it easier to learn the How
@nilanshur
@nilanshur 3 жыл бұрын
A simple yet an extremely good method. This method can be applied anywhere not just hackathons. Thanks for the video.
@ohdude6643
@ohdude6643 2 жыл бұрын
It's another word for Abstraction -- the frontend, the interface is simplified for use, and the internal mechanisms are hidden away from the user.
@cluckoothechicken5721
@cluckoothechicken5721 7 ай бұрын
I think this applies to any form of learning. Thank you for the video, it really made me reflect on how I learn. I definitely need to use more black boxing before getting obsessed with the details.
@stanfordchang8978
@stanfordchang8978 3 жыл бұрын
tbh i dont know why this video appeared on my feed but i watched the whole thing because learning hard concepts has always been a struggle for me. I'm a firm believer that I can't move to step 2 if I dont start and finish step 1... sometimes i'll read a whole chapter in a book on something I already know just because of the integrity of starting the text book/this particular author's lesson plan from page 1. But I've never actually finished any thing I started studying. I always fall asleep and feel too overwhelmed to pick it up again the next week. This concept really helped and i hope to apply it effectively in the future. Also, I laughed because we're from the same area (10:57)
@trial6672
@trial6672 3 жыл бұрын
OMG this is exactly what happens with me too!
@ahmedmani1051
@ahmedmani1051 3 жыл бұрын
difference between you and people who know is that they pick up the book again thats literaly it
@broccoli322
@broccoli322 3 жыл бұрын
Same for me. This non-blackbox way of learning works ok in undergraduate school, but it completely destroyed me in graduate school where I have to read tons of papers and test out different things.
@Kaje_
@Kaje_ 2 жыл бұрын
Yeah, this is pretty much me. I've been teaching myself mathematics but literally started from the ground, elementary school stuff. I'm way too perfectionistic in that regard, so I wanted to each and every step of math like I experienced it in school again. I can't say that it didn't help, but it certainly costs a lot more time.
@soulk111s
@soulk111s 2 жыл бұрын
@Kaje honestly i know exactly what you mean, however, i don’t necessarily think this approach gives keen understanding quicker. I think it just gives you the ability to use the topic with a very elementary understanding, w/o going thru all the rigor. youre still going to need to put the time and effort regardless, in order to develop a true in-depth understanding of w/e topic you’re studying. im still gonna try this out tho.
@GuRuGeorge03
@GuRuGeorge03 3 жыл бұрын
This is basically just the top down approach rephrased into different language. in a top down approach u split up a problem into an application layer and a foundation layer and then you play around with the application layer first and dive into the foundation later (or not at all). I have been learning like this since I am a kid and even theuniversity I go to teaches like this. I agree that for most people this is much more effective and efficient. The old school approach especially from elitist universities that teach u the very basic foundations of everything first and then work their way up, is extremely outdated and in most cases a complete waste of time.
@DTB1752
@DTB1752 3 жыл бұрын
Even if you want to go deep into something it's better to start from the top. You can study for hours how the foundations work and can't make sense of it but once you start seeing the application it starts click and you understand everything. Just start to do something and then try to see how it works.
@aced5045
@aced5045 3 жыл бұрын
Yes that direct form of learning is normally better for more practical tasks
@AlessandroBottoni
@AlessandroBottoni 3 жыл бұрын
This same approach works like a charm for many non-programming topics, as well, in particular in mathematics. If you do not know *where* you wanna go, you will never be able to get there.
@Cypekeh
@Cypekeh 3 жыл бұрын
Except I'm pretty sure that black-box idea is much older
@nmnxe
@nmnxe 3 жыл бұрын
Totally true, there are so many theoretical concepts that won’t be useful for any of your application till the end of life at which we waste our time by learning them. Top down approach FTW!
@swiftjsulli
@swiftjsulli Жыл бұрын
It’s basically like drawing a rough sketch first before painting in detail: it keeps you focused on the entire picture and stops you from gettting bogged down in minute details
@BigWavesKays
@BigWavesKays Күн бұрын
beautiful explaination
@mohamedbishnie
@mohamedbishnie Жыл бұрын
It's like studying the summary first and important formulas that you will be using to solve problems or answer questions in the exam. by doing this you will get ready way more faster and you can acctually take your time learning details and more complexity in the topic afterwards. I did that a lot when I didn't have time to study the whole thing. and it's good to know that this is a good tactic and to see other top tier learners use it as well. This video taught me that it's really a better way to approach concepts and it saves up much time and relieves stress too.
@gaurav_W
@gaurav_W Жыл бұрын
thanks for the view point. i mostly learn new things by like doing them twice (for example once i see it and do then i blindly do it with any % of errors then i fix the errors and mostly thats enough just fixing the errors makes you memorize the code and its key concepts). but now i feel like i can be even more efficent i am going to try this method for the game i wanted to make.
@kiraa_
@kiraa_ Жыл бұрын
this concept is really helpful for my current work. i have noticed that learning complicated + related topics gets a lot easier when i don't try to "drill down deep" into the topic, rather taking a look at multiple related things and then "starting to tie it together". also the comment about u "beeing proud of your black cube drawing so ure gonna keep it around" was really cute and charming haha
@asaadhusein
@asaadhusein Жыл бұрын
Do you mind if you explain this concept, I watched the vid and I don't really understand it
@jibbiw999
@jibbiw999 Жыл бұрын
Ty so much. I knew it’s good approach but didn’t know if it gets this much huge advantage like this. Ty again ❤❤
@anunaysharma2718
@anunaysharma2718 3 жыл бұрын
Congratulations on 10000 subscribers!
@rayanh1120
@rayanh1120 11 ай бұрын
I love your videos , always to the point never wasting time like most KZfaqrs do for views! Thank you and keep it up, man !!
@Eterrath
@Eterrath 3 жыл бұрын
KZfaq is weird, it's only been 2 weeks since I started learning Python, as a complete outsider to the coding world and zero prior experience. Even so, I still understood segments of the video. Liked and subscribed, will come back to it again to test myself on the concepts used. Thank you.
@alphabee8171
@alphabee8171 Жыл бұрын
Did you finish it? learning python? where it led you?
@AdobadoFantastico
@AdobadoFantastico 3 жыл бұрын
Thanks, man. This was very enlightening.
@Middollo
@Middollo 2 жыл бұрын
Love love love this, so simple, thank you.
@sobieso
@sobieso 3 жыл бұрын
great video sir!! i really enjoyed it 🤠
@nirajandata
@nirajandata 3 жыл бұрын
philosophie
@Artaxerxes.
@Artaxerxes. 3 жыл бұрын
Damn I remember when you had 46 subs. You've come a long way Galen :D
@boundless-sher
@boundless-sher 3 жыл бұрын
orz
@yugen3968
@yugen3968 3 жыл бұрын
When did you see him having 46 subs?
@cricticalthinking4098
@cricticalthinking4098 3 жыл бұрын
Black boxing is useful in another way as well. It can make you aware of your tools. I can't stress enough how useful it is to know something exists, even if you don't know all its details.
@prakash_77
@prakash_77 3 жыл бұрын
Thanks Colin. This is one of the big reasons I perform poorly in the contests because I don't know a lot of algorithms and data structures. If I use this and solve some more of 'em in contests, it can boost my confidence enough to not get bogged down to learn these difficult concepts eventually. Imma try this method out ✌️
@victorumoren8960
@victorumoren8960 Жыл бұрын
I've been using this concept for years without even realizing it. Works all the time! All you need to know about any field or software or whatever, really, is the basics. And then like Colin said, the details will come later. Saves a lot of time on learning irrelevant jargons too! Thank you for this awesome video, Collin.
@miharin
@miharin Жыл бұрын
I faced this when trying to learn html and css, the more I dived into details, the more lost I felt. Eventually I got fed up and copy pasted some template code, tweaked it and now I feel like I gained more idea about web page design than I did with those detailed tutorials.
@talaqudah0
@talaqudah0 2 жыл бұрын
so glad I found your channel ,keep it up
@joaovitordemelo8209
@joaovitordemelo8209 Жыл бұрын
That's been actually my method for any project in general (not just learning). I'm currently working on an App project, for example, and since it is my first app, there's a lot of unknowns. So I just define each major step on the process of making the app (like, each feature), and specify each one little by little, and it's like an iterative function. Each step has substeps that can also be splitted by itself (for example, in step Auth Feature there's the substep Do Login usecase, and in Do Login usecase there's the substeps Backend and Frontend). And instead of learning all I don't know how to do beforehand, when I start each step I do a research, so when it's time to implement Auth Feature I search about how to deal with authentication in the languages I'm using, when it's time to implement a Schedule feature, same thing, I search for schedule components that people are already using in my programming language, etc. In fact, I even have a whole life project planned this way lol
@zaneflow
@zaneflow Жыл бұрын
I actually used this method when learning JavaScript, and didn't even know that it was a method for learning concepts! Really helpful to learn the fundamentals and blackbox some of the more advanced stuff, so you actually learn the language itself, and then you deepen your knowledge of the workings of some of the pre-existing functions.
@the_god_killah
@the_god_killah Жыл бұрын
im learning python. can u explain in simple terms how should i learn.
@user-dh8oi2mk4f
@user-dh8oi2mk4f Жыл бұрын
@@the_god_killah How would he know how you should learn python if he's learning javascript?
@26Dbone
@26Dbone Жыл бұрын
This video applies directly to material balance ideas that form chemical engineering. Great content
@batlin
@batlin Жыл бұрын
This is helpful for professional life too, since it can be easy to fall down the rabbit hole and spend ages trying to fully understand something, which can be valuable but also can cause friction with management types who want to see visible progress. Blackboxing can help defer research that would take a long time right now but might become obvious later.
@araragikoyomi7186
@araragikoyomi7186 3 жыл бұрын
Thanks colin ,i will try this blackbox technique
@kennyly23
@kennyly23 Жыл бұрын
Thank you! I needed this much more than you know
@harrisondong5405
@harrisondong5405 Жыл бұрын
amazing useful. currently I fall into a situation which struggle to understand the more details of complex DS, and I know that's not very important instead of understand how to use them.
@kennethbeal
@kennethbeal Жыл бұрын
Thank you! I have visualized (through Gateway Experience meditation) that a "box" in any dimension only requires two walls per dimension. In 1D, just two points define it; nothing can manipulate or view anything inside/between those two points. In 2D, those points are stretched into lines, and then two more lines are added to make a square. In 3D, like your cube, the square is stretched upwards, and then a top and bottom are added; two more for a total of six sides. Thus, I can capture/protect/hide items in any dimension I may find myself, using only two walls per dimension. I enjoy reducing a problem to what can be achieved with the least effort/resources, somewhat like taking machinery apart and seeing if it can still function with missing parts. Like in college, a friend replaced his mufflers with "glass packs" for performance which basically just go straight through; so, I learned the muffler is not required for making the car move/function, it's just added legal stuff.
@sharathin
@sharathin 3 жыл бұрын
That cube drawing though 😍
@pixelations188
@pixelations188 3 жыл бұрын
*that -cube- drawing🤣
@user-it6ps7fb2w
@user-it6ps7fb2w 6 ай бұрын
Vert practical and precious share, thanks!
@Popi89ferezzx
@Popi89ferezzx 2 жыл бұрын
Essentially this is "What is the minimum amount I need to know to make this work" which when I look at everything I need to learn is super helpful.
@aqib829
@aqib829 3 жыл бұрын
4:52 softest(weirdest) plugin ever!
@guccibane3422
@guccibane3422 6 ай бұрын
Love that you’re from Mo county. Wish I could’ve seen this video earlier cause this is definitely useful right now 👏🏿
@dingbatfpv
@dingbatfpv 3 жыл бұрын
This puts words to how I think about things, I don't need details I just need the gist and how to use it. I will be OK, if I have real interest I will figure out the particulars later or never.
@dm_grant
@dm_grant 3 жыл бұрын
We used to call ourselves impatients. Those were the good ole days.
@zoray5143
@zoray5143 Жыл бұрын
This basically top-down learning. It's very useful to understand things on an abstract level before getting specific and meticulous. You learn the specifics with experience, study, and relation.
@rossmaxx
@rossmaxx 10 ай бұрын
I have been using the blackbox method in some places but thought it was my homegrown method. didn't know that it had a name. Anyways good video. Now i can improve my homegrown blackbox using the inputs from your video.
@luismiguelbaezaponte9208
@luismiguelbaezaponte9208 3 жыл бұрын
Great Video, Thank you for your advices 💪
@luismiguelbaezaponte9208
@luismiguelbaezaponte9208 3 жыл бұрын
12:50 I have been working on the cp library
@luismiguelbaezaponte9208
@luismiguelbaezaponte9208 3 жыл бұрын
LuisMBaezCo > cpp-algorithm-snippets
@luismiguelbaezaponte9208
@luismiguelbaezaponte9208 3 жыл бұрын
On Github
@sayantansarkar2310
@sayantansarkar2310 3 жыл бұрын
Great video maan
@Dhruvbala
@Dhruvbala Жыл бұрын
Very good technique, very hard for my mind to allow me to think this way. I tend to grasp concepts atomically - I either get it all or I’m thoroughly confused
@PatrickPease
@PatrickPease Жыл бұрын
This is my main learning approach: i gather as much general info as i can (especially the name of a concept) and when I need details that's what google is for
@aaryadeshpande1621
@aaryadeshpande1621 Жыл бұрын
12:49 "but it's not, uh... how do I put this... it's not too friendly for anyone who isn't not me" lmao 😭🤣
@merv893
@merv893 Жыл бұрын
By the end of this vid, I’ve learn to love that black box, his been drawing outside the box
@greedyalgorithm2823
@greedyalgorithm2823 Жыл бұрын
Great video. Thank you
@bujin5455
@bujin5455 Жыл бұрын
An interesting take on black box abstraction. Which is part of systems engineering. Where a system is decomposed into functions, and those functions are independently developed, and then implemented and integrated within the system as black boxes. This lowers the complexity of system as most of the implementation complexity is hidden. Ultimately this is how human beings build extremely complex things. Of course, Colin is taking a different angle on this.
@dreams7091
@dreams7091 8 ай бұрын
Yes, but keep in mind that IRL complex engineering problems there are multiple teams working on all levels of the problem simultaneously. The scale of the black boxes are different depending on which type of task you are working on. In your example, the individual function implementers will have their own black boxes (not necessary smaller or simpler), and their work will then become the black box of the systems engineers.
@bujin5455
@bujin5455 8 ай бұрын
@@dreams7091 I am an engineer IRL.
@dreams7091
@dreams7091 8 ай бұрын
@@bujin5455 Same. Just wanted to add some points.
@alhawkex
@alhawkex 7 ай бұрын
I know this is an old video but I wanted to share something similar, I took a black jack class, and on a 20% pay out there’s a method that requires no math at all, just knowing what’s bets are on the table, you are able to quickly pay it out with insane accuracy with out knowing what you just paid, you just know it’s right. Going back, I understand it, but when I learned it, I had no idea
@chrismdev_
@chrismdev_ Жыл бұрын
Thank you! I now have a word to put to the way I have been doing everything lol.
@dandymcgee
@dandymcgee Жыл бұрын
I'm way too ADHD / OCD-ish to learn this way. I always deep dive on a topic and learn everything I can about it before moving on to the next topic. While this isn't the most effective way to solve any one problem the fastest, it has helped me surpass many of my colleagues who use the black box method for every single problem over the 15+ years I've been programming. There's definitely trade-offs between breadth-first and depth-first learning, and it's important to know when to choose which method for each problem you encounter. I encourage everyone not to forget to go deeper occasionally when you find something you're genuinely interested in, especially if you might use it again later (which people are awful at predicting, because most things are applicable later if you truly understand them).
@angurishudesu
@angurishudesu Жыл бұрын
If you wouldn't mind, could you explain what breadth-first and depth-first learning is for me?
@hhandle
@hhandle Жыл бұрын
@@angurishudesu why is the breadth first how is the depth first
@fjworkshop
@fjworkshop 2 жыл бұрын
thank you sir,it was a nice video
@learnitmyway5848
@learnitmyway5848 Жыл бұрын
made so easy. thanks dude
@nemo_201
@nemo_201 3 жыл бұрын
ima try this right now!
@HA7DN
@HA7DN 3 жыл бұрын
I've participated in a CP competition before, but that did not allow any sort of outside info (no internet connection, you could not even use a book you brought), so this would not help much - but outside that competition, it's an useful technique everywhere, not just in CP...
@im-luke
@im-luke 6 ай бұрын
We live in the era of information overload thus it's essential to filter and simplify information we consume and search to be able to function (and keep our sanity) in this world. I've created this technique kinda subconsciously and been using it almost intuitively and for all topics even outside of the field of programming. Especially in programming it's necessary to look at things at "high-level scope" and use abstraction. The goal is to have the largest concept map in your mind, know the tools, their usecases and how to apply them (etc.). The one of the main benefits is this gives you more motivation and get rid of frustration because you see more results as you know more things and can use them to create better projects and solve harder problems, instead of digging deep into a rabbit hole learning one concept fully.
@doreenchemweno
@doreenchemweno 2 жыл бұрын
I also believe it's less discouraging cause even though you don't fully understand all the concepts, you can still use them.
@Nerdylady
@Nerdylady Жыл бұрын
For what it’s worth, that’s an awesome black cube drawing
@pradeexsu
@pradeexsu 3 жыл бұрын
awsome video, it's helpfull
@ARYANRAJ-cb4gf
@ARYANRAJ-cb4gf 3 жыл бұрын
10k subscribers coming soon, Colin getting ready for face reveal
@therocketmanprince682
@therocketmanprince682 3 жыл бұрын
That would be cool
@keratiin
@keratiin 3 жыл бұрын
It's 11k now within 1week he did more than 1k
@ultimateq8479
@ultimateq8479 3 жыл бұрын
You talk so clear. I am listening to you on 2.5x and can clearly hear all words !
@blackfox5413
@blackfox5413 8 ай бұрын
Quite liberating idea
@MiketheCoder
@MiketheCoder 3 жыл бұрын
You went to Moco Blair high school? No wonder you’re so good!! That’s where all the smart kids go!!
@aiist6743
@aiist6743 3 жыл бұрын
mashallah
@heroben1079
@heroben1079 Жыл бұрын
This guy is single-handedly saving all careers
@RamiChessBlog
@RamiChessBlog 8 ай бұрын
black-box everything first, learn concepts as needed. great strategy to not getting overwhelmed by learning everything before it is needed.
@delduked
@delduked 3 жыл бұрын
Didn't know their was a name for this strategy. Been doing it for years
@jilogarcia5979
@jilogarcia5979 2 жыл бұрын
Very nice video subbed
@MrX-nc8cm
@MrX-nc8cm Жыл бұрын
All my life I’ve been unconsciously using this technique without knowing it’s name 😅 I’m a self taught person and my friends say I learn stuff fast, but the reality is I’m the embodiment of a Jack of all trades master of none lol (well actually I do get deep in some concepts the I really need). But yea I usually create a big abstract picture of how things work before even learning the details, then it’s easier to learn the details. Thanks god for my internal black box!
@warmpianist
@warmpianist 3 жыл бұрын
When I was learning the 7 OSI layers in university, they somehow thought it was a good idea to learn from bottom up and top down at the same time, separated by 4 3-credit mandatory courses, with 4 different professors using 4 different textbooks. 1st course: physical layer to data link layer with math 2nd course: physical layer to transport layer without math 3rd course: transport layer layer to data link layer with algo 4th course: application layer to transport layer but this course's professor is frankly hard to understand It is entirely possible to learn both bottom up or from top down approach, but it should be executed very well. Conflicts can happen because of miscommunication between teachers.
@Baconator1368
@Baconator1368 Жыл бұрын
Unfortunately a lot of university networking courses teach it this way which is incredibly weird and ineffective. If you want a great book on computer networking that teaches it the RIGHT way, I recommend "Computer Networking: A Top-Down Approach". As you can probably guess from the title it starts at the application layer and works its way down to the physical layer.
@warmpianist
@warmpianist Жыл бұрын
@@Baconator1368 yeah this is my 4th course's textbook. But unfortunately my professor taught with different order of chapters they were intended.
@T.JacobMain
@T.JacobMain 8 ай бұрын
Oh man. Explains why i learn so quickly when i just immediately hop into complex stuff, especially in math and programming. I stopped using this method because of guilt and thinking that im not "learning effectively" by starting from top to bottom. Learning from the bottom from simple things has been so wasteful of my time because i focused too much on little things as to understand EVERYTHING, which hindered at my academic progress. Thank you
@NavKhanate
@NavKhanate 3 жыл бұрын
That's a nice looking cube
@littlenose4085
@littlenose4085 Жыл бұрын
This is basically the same thing as priming, but with the added twist of applying and using the unknown "black-box" as soon as you have a brief understanding of its: characteristics, location in relation to other components and surroundings, as well as what it does. To understand what makes this thing in the "Black-Box" tic isn't actually required to start using it. But if you know what black boxes you have and how they relate, you will notice that the more complex knowledge will suddenly magically light up in the right boxes. And especially if you are actively using the boxes in various new situations.
@shermanmcdermott4211
@shermanmcdermott4211 Жыл бұрын
just like in complex equations, blackboxing one or even a few variables is fine, but doing this with too many at one time can lead to compounding complexity where outcomes become simi random. this is how most people code, but i would recommend treating each as a standalone piece understanding the input to outputs, then add it to a larger puzzle.
@johnjohnson3681
@johnjohnson3681 Жыл бұрын
Impressive stuff! I stopped watching 10 seconds in but the black box looks great! Drawing boxes is a hard concept as you said in the title but I hope everyone learnt something new here today :)
@causality5698
@causality5698 Жыл бұрын
This is how I learnt programming, Operating Systems, App Development, Frontend and basically 80-90% of the stuff I do.
@NETDET2345
@NETDET2345 3 жыл бұрын
i've lived for 20 years using the black box method. but now, i know the precise name of what i'm doing lol
@Andrew90046zero
@Andrew90046zero 3 жыл бұрын
Very good video, only caveat is that if the Black Box method doesn't work when the Black Box doesn't work :P In a perfect world, all code is without bugs, but we do not live in a perfect world. So sometimes the black box won't work.
@therocketmanprince682
@therocketmanprince682 3 жыл бұрын
I subbed ... Nice video
@Dr.PandaCamper
@Dr.PandaCamper Жыл бұрын
Thank you! Sooo basically it's understanding a concept/idea/mechanism you don't understand well enough I watched about half the video since I got lost in the sauce. I'm no computer programmer but as an artist, this broadened my perspective on things.
@Wouldyoukindly4545
@Wouldyoukindly4545 Жыл бұрын
Agreed. Black boxing (and copying code blindly) are usually the easiest ways of getting stuff done while you're learning what you need to move forward. That's why you see blind copying a lot in junior devs.
@shafialanower3820
@shafialanower3820 9 ай бұрын
What do you mean by blind copying
@callmesun.7126
@callmesun.7126 3 жыл бұрын
Is this equivalent to the Top-Down approach?
@micosstar
@micosstar Жыл бұрын
yt recommended, nice and informative video! - by mico
@bakedbeings
@bakedbeings 8 ай бұрын
One possible example might be the teaching if electric circuits at the level of "lump" theory. While there's also simplification going on (ignoring parasitic capacitance, treating wires as perfect conductors), the model focus in what goes in and out of components, and the expected transformation.
@adelineena6429
@adelineena6429 Жыл бұрын
This guy speak wisdom. Took me 4 years of professional career to get me the same conclusion.
@gekkkoincroe
@gekkkoincroe Жыл бұрын
That's a beautiful cube
How I would learn Leetcode if I could start over
18:03
NeetCodeIO
Рет қаралды 406 М.
How principled coders outperform the competition
11:11
Coderized
Рет қаралды 1,6 МЛН
Box jumping challenge, who stepped on the trap? #FunnyFamily #PartyGames
00:31
Family Games Media
Рет қаралды 20 МЛН
Идеально повторил? Хотите вторую часть?
00:13
⚡️КАН АНДРЕЙ⚡️
Рет қаралды 11 МЛН
Smart Sigma Kid #funny #sigma #memes
00:26
CRAZY GREAPA
Рет қаралды 8 МЛН
Alex hid in the closet #shorts
00:14
Mihdens
Рет қаралды 19 МЛН
10 weird algorithms
9:06
Fireship
Рет қаралды 1,2 МЛН
How to Awaken & Enhance Your Analytical Problem-Solving Mind
22:45
Colin Galen
Рет қаралды 150 М.
WHY did this C++ code FAIL?
38:10
The Cherno
Рет қаралды 242 М.
A Science based System for Learning ANYTHING quickly
10:40
Python Programmer
Рет қаралды 963 М.
Mindset of Successful Programmers
4:56
bigboxSWE
Рет қаралды 1 МЛН
10 Math Concepts for Programmers
9:32
Fireship
Рет қаралды 1,8 МЛН
How to Learn: Pretty Much Anything
11:14
Mattias Pilhede
Рет қаралды 6 МЛН
I Tried To Speedrun LeetCode
1:06:17
Colin Galen
Рет қаралды 55 М.
Coding Interviews Be Like
5:31
Nicholas T.
Рет қаралды 6 МЛН
Это - iPhone 16!
16:29
Rozetked
Рет қаралды 445 М.
My iPhone 15 pro max 😱🫣😂
0:21
Nadir Show
Рет қаралды 1,9 МЛН