The Black Box Method: How to Learn Hard Concepts Quickly

Поділитися
Вставка
  • Опубліковано 14 чер 2024
  • 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
  • Наука та технологія

КОМЕНТАРІ • 838

  • @feynmannotesguy3351
    @feynmannotesguy3351 2 роки тому +2782

    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 Рік тому +17

      oh same haha

    • @kennethcarvalho3684
      @kennethcarvalho3684 Рік тому +12

      Absolutely true..thanks for pointing

    • @tomcotter4299
      @tomcotter4299 Рік тому +24

      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 Рік тому +1

      Sameee for me it's especially trying to optimize code

    • @martinrenthlei3303
      @martinrenthlei3303 Рік тому +1

      same

  • @PradeepPant007
    @PradeepPant007 3 роки тому +2413

    I used Black Box Method to learn Black Box Method.

    • @NeoKailthas
      @NeoKailthas 3 роки тому +107

      Congrats. You reached level 2. 500 to go and you have 1 life left.

    • @bobingstern4448
      @bobingstern4448 3 роки тому +37

      @@NeoKailthas ah shit, here we go again

    • @eriktorres6067
      @eriktorres6067 3 роки тому +31

      Harvard : you want a scholarship?

    • @chirayujoshi1189
      @chirayujoshi1189 Рік тому +14

      Then how did you learn Black Box Method?

    • @cubing7276
      @cubing7276 Рік тому +71

      To learn recursion, you must first learn recursion

  • @sujaykadam99
    @sujaykadam99 3 роки тому +816

    My man explained abstraction in detail.

    • @testcase2299
      @testcase2299 3 роки тому +10

      lol ya true

    • @AlumniQuad
      @AlumniQuad 3 роки тому +110

      It's as if he reinvented the wheel and slapped a new name on it.

    • @petrus9
      @petrus9 Рік тому +6

      Thanks for reminding me man. I knew I encountered this idea somewhere.

    • @ubayyd
      @ubayyd Рік тому

      Laugh Out Loud!!!

    • @AA-gl1dr
      @AA-gl1dr Рік тому +8

      @@AlumniQuad it’s often helpful in understanding the wheel to build it from scratch yourself.

  • @rafita_san
    @rafita_san 3 роки тому +1179

    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 11 місяців тому +14

      @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 роки тому +1698

    This will jumpstart my career with stack overflow.

    • @KulaGGin
      @KulaGGin 3 роки тому +29

      Read some books, zoomers, will ya?

    • @alberthank7388
      @alberthank7388 3 роки тому +200

      @@KulaGGin this is ridiculous

    • @brunogomes5262
      @brunogomes5262 3 роки тому +18

      @@KulaGGin they brain dont have the ability of thinking !

    • @borisnonceson
      @borisnonceson 2 роки тому +153

      @@brunogomes5262 Ironic

    • @be7256
      @be7256 Рік тому +5

      @@KulaGGin uh you know some people learn better with visuals yeah

  • @noahfletcher3019
    @noahfletcher3019 3 роки тому +923

    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 Рік тому +44

      @@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 Рік тому +10

      @@Lolnigaaaaaaaaa See bloom's Taxonomy or solo's taxonomy top to bottom

    • @Lolnigaaaaaaaaa
      @Lolnigaaaaaaaaa Рік тому +2

      @@maal124 woah i found it thank you man

    • @Lolnigaaaaaaaaa
      @Lolnigaaaaaaaaa Рік тому

      @N G thank you sm fr

    • @StellaChilinharova
      @StellaChilinharova 11 місяців тому +1

      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.

  • @IDIDNTORDERANYSOUP
    @IDIDNTORDERANYSOUP Рік тому +227

    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 Рік тому +18

      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 Рік тому +1

      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 8 місяців тому +1

      Excellent point.

    • @donnydarko7624
      @donnydarko7624 6 місяців тому +2

      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 5 місяців тому

      ​@@alexxx4434that's how we learned our native languages

  • @marusdod3685
    @marusdod3685 3 роки тому +1721

    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 роки тому +16

      same jotaro .... dont approach me

    • @yoshikagekira7600
      @yoshikagekira7600 2 роки тому

      @@aryankathawale9269killer queen had already touched reply section, you fool!

    • @joediditde
      @joediditde Рік тому +3

      and how do you blackbox the rest?

    • @rawallon
      @rawallon Рік тому +30

      @@joediditde Draw the rest of the owl

    • @joediditde
      @joediditde Рік тому +5

      @@rawallon sorry i dont get that reference

  • @satyamARAS
    @satyamARAS Рік тому +551

    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 Рік тому +1

      very helpful thankyou :Satyam

    • @lukedowneslukedownes5900
      @lukedowneslukedownes5900 Рік тому +5

      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 Рік тому +1

      bruhh..........💥💥...........can i follow you somewhere for these kind of tips

    • @Johan-yy9pk
      @Johan-yy9pk Рік тому

      amazing tips

  • @ja-qob
    @ja-qob 3 роки тому +73

    Instructions unclear: Black Boxed Computer Science and Graduated with a Ph. D.

  • @NeoKailthas
    @NeoKailthas 3 роки тому +307

    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 Рік тому +17

      Damn you really hit the nail on that one. Thanks for blackboxing the blackbox method for me 🙏🙏. Im grateful

    • @boobbbers
      @boobbbers Рік тому +50

      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 Рік тому +26

      @@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 Рік тому +12

      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 Рік тому +2

      Petzolds 'Code' is actually really good for this, best read after you have black-boxed most of the chapter list :D

  • @lamriniyounes4723
    @lamriniyounes4723 3 роки тому +622

    That's exactly what a Bachelor's in Mathematics is.

    • @obedbabington3903
      @obedbabington3903 3 роки тому +3

      Loooolll

    • @doxo9597
      @doxo9597 3 роки тому +9

      I dont get it, can you explain? ( i am also doing a bachelors im math)

    • @moritzgro2442
      @moritzgro2442 3 роки тому +96

      @@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 роки тому +15

      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 роки тому +1

      Omg. That's exactly what I was thinking

  • @GuRuGeorge03
    @GuRuGeorge03 3 роки тому +1053

    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 роки тому +146

      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 роки тому +8

      Yes that direct form of learning is normally better for more practical tasks

    • @AlessandroBottoni
      @AlessandroBottoni 3 роки тому +36

      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 роки тому +6

      Except I'm pretty sure that black-box idea is much older

    • @nmnxe
      @nmnxe 3 роки тому +5

      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!

  • @mojtabavahdati7648
    @mojtabavahdati7648 3 роки тому +193

    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 Рік тому +7

      can you explain it in simple words in context of programming problem?

    • @asaadhusein
      @asaadhusein Рік тому +1

      Yh for you mind if u explain it

  • @ohdude6643
    @ohdude6643 Рік тому +54

    It's another word for Abstraction -- the frontend, the interface is simplified for use, and the internal mechanisms are hidden away from the user.

  • @stanfordchang8978
    @stanfordchang8978 3 роки тому +248

    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 роки тому +12

      OMG this is exactly what happens with me too!

    • @ahmedmani1051
      @ahmedmani1051 3 роки тому +7

      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_ Рік тому +7

      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 Рік тому +1

      @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.

  • @williamtolliver749
    @williamtolliver749 Рік тому +47

    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 Рік тому +5

      Do you mind if you explain this concept, I watched the vid and I don't really understand it

    • @fishstraws626
      @fishstraws626 Рік тому +2

      @@asaadhusein yeah. Video doesnt make sense.

    • @trots4940
      @trots4940 Рік тому +20

      @@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

  • @JolaMozyrska
    @JolaMozyrska 3 роки тому +31

    Loved this type of "Hey, here's a trick and my experience using it" video

  • @swiftjsulli
    @swiftjsulli Рік тому +38

    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

  • @TheGitGuild
    @TheGitGuild 3 роки тому +4

    Dude, I just discovered your channel from this video and it is amazing. Keep up the great work!

  • @nilanshur
    @nilanshur 3 роки тому +8

    A simple yet an extremely good method. This method can be applied anywhere not just hackathons. Thanks for the video.

  • @cluckoothechicken5721
    @cluckoothechicken5721 6 місяців тому +5

    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.

  • @aqib829
    @aqib829 3 роки тому +53

    4:52 softest(weirdest) plugin ever!

  • @mohamedbishnie
    @mohamedbishnie Рік тому +6

    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.

  • @cricticalthinking4098
    @cricticalthinking4098 3 роки тому +13

    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.

  • @hpn1427
    @hpn1427 3 роки тому +2

    Amazing video Colin, thank you so much for it, first time viewer here, now, also a new subscriber

  • @miharin
    @miharin Рік тому +10

    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.

  • @gaurav_W
    @gaurav_W Рік тому +2

    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.

  • @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 ❤❤

  • @joaovitordemelo8209
    @joaovitordemelo8209 Рік тому +1

    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

  • @kiraa_
    @kiraa_ Рік тому +19

    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

  • @prakash_77
    @prakash_77 3 роки тому +37

    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 ✌️

  • @Popi89ferezzx
    @Popi89ferezzx Рік тому +4

    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.

  • @zaneflow
    @zaneflow Рік тому +3

    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?

  • @zoray5143
    @zoray5143 Рік тому +2

    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.

  • @batlin
    @batlin Рік тому +38

    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.

  • @harrisondong5405
    @harrisondong5405 Рік тому +1

    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 11 місяців тому

    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.

  • @Eterrath
    @Eterrath 3 роки тому +39

    UA-cam 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?

  • @sharathin
    @sharathin 3 роки тому +10

    That cube drawing though 😍

  • @AdobadoFantastico
    @AdobadoFantastico 3 роки тому +2

    Thanks, man. This was very enlightening.

  • @anunaysharma2718
    @anunaysharma2718 3 роки тому +2

    Congratulations on 10000 subscribers!

  • @Middollo
    @Middollo Рік тому +1

    Love love love this, so simple, thank you.

  • @26Dbone
    @26Dbone Рік тому

    This video applies directly to material balance ideas that form chemical engineering. Great content

  • @PatrickPease
    @PatrickPease Рік тому +1

    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

  • @sobieso
    @sobieso 3 роки тому +17

    great video sir!! i really enjoyed it 🤠

  • @rayanh1120
    @rayanh1120 9 місяців тому

    I love your videos , always to the point never wasting time like most UA-camrs do for views! Thank you and keep it up, man !!

  • @victorumoren8960
    @victorumoren8960 Рік тому +4

    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.

  • @dandymcgee
    @dandymcgee Рік тому +14

    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 Рік тому +1

      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

  • @alhawkex
    @alhawkex 6 місяців тому +2

    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

  • @talaqudah0
    @talaqudah0 2 роки тому

    so glad I found your channel ,keep it up

  • @merv893
    @merv893 Рік тому

    By the end of this vid, I’ve learn to love that black box, his been drawing outside the box

  • @kennyly23
    @kennyly23 Рік тому

    Thank you! I needed this much more than you know

  • @araragikoyomi7186
    @araragikoyomi7186 3 роки тому +1

    Thanks colin ,i will try this blackbox technique

  • @Artaxerxes.
    @Artaxerxes. 3 роки тому +36

    Damn I remember when you had 46 subs. You've come a long way Galen :D

  • @bujin5455
    @bujin5455 Рік тому +9

    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 6 місяців тому

      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 6 місяців тому +1

      @@dreams7091 I am an engineer IRL.

    • @dreams7091
      @dreams7091 6 місяців тому

      @@bujin5455 Same. Just wanted to add some points.

  • @Dhruvbala
    @Dhruvbala Рік тому +4

    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

  • @RamiChessBlog
    @RamiChessBlog 6 місяців тому

    black-box everything first, learn concepts as needed. great strategy to not getting overwhelmed by learning everything before it is needed.

  • @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

  • @HA7DN
    @HA7DN 3 роки тому +2

    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 4 місяці тому +1

    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.

  • @dingbatfpv
    @dingbatfpv 3 роки тому +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.

  • @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.

  • @heroben1079
    @heroben1079 Рік тому

    This guy is single-handedly saving all careers

  • @rossmaxx
    @rossmaxx 9 місяців тому

    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.

  • @guccibane3422
    @guccibane3422 4 місяці тому

    Love that you’re from Mo county. Wish I could’ve seen this video earlier cause this is definitely useful right now 👏🏿

  • @adelineena6429
    @adelineena6429 Рік тому

    This guy speak wisdom. Took me 4 years of professional career to get me the same conclusion.

  • @user-it6ps7fb2w
    @user-it6ps7fb2w 4 місяці тому

    Vert practical and precious share, thanks!

  • @abraruralam3534
    @abraruralam3534 4 місяці тому

    Same reason why you skim and scan for comprehension tests.
    Skimming gives you a quick idea of what the passage is about so when you scan, you pay attention to what is most important, because let's say if Jim was revealed to be the killer by the end of the story, now you're gonna focus on the clues that point toward that as you scan the text again.

  • @ARYANRAJ-cb4gf
    @ARYANRAJ-cb4gf 3 роки тому +116

    10k subscribers coming soon, Colin getting ready for face reveal

  • @Wouldyoukindly4545
    @Wouldyoukindly4545 Рік тому +11

    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.

  • @T.JacobMain
    @T.JacobMain 6 місяців тому

    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

  • @bakedbeings
    @bakedbeings 6 місяців тому

    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.

  • @Toleich
    @Toleich Рік тому +1

    We are all standing on the shoulders of giants. Accept that, and contribute something of value instead of grasping for a feeling of control by trying to understand everything.

  • @warmpianist
    @warmpianist 3 роки тому +17

    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 Рік тому +2

      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.

  • @MrX-nc8cm
    @MrX-nc8cm Рік тому +4

    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!

  • @chrismdev_
    @chrismdev_ Рік тому +1

    Thank you! I now have a word to put to the way I have been doing everything lol.

  • @causality5698
    @causality5698 Рік тому +1

    This is how I learnt programming, Operating Systems, App Development, Frontend and basically 80-90% of the stuff I do.

  • @delduked
    @delduked 3 роки тому +2

    Didn't know their was a name for this strategy. Been doing it for years

  • @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.

  • @debsicus
    @debsicus 3 роки тому +13

    Can i use the black box method to learn how to use the black box method?

    • @crazygrape
      @crazygrape 3 роки тому +2

      You put a concept into the black box method, and out of that you get the concept's process simplified to the inputs required and the outputs it returns back

    • @supersonictumbleweed
      @supersonictumbleweed 3 роки тому +4

      Just be careful not to accidentally start boxing with black dudes

  • @ultimateq8479
    @ultimateq8479 3 роки тому +1

    You talk so clear. I am listening to you on 2.5x and can clearly hear all words !

  • @sayantansarkar2310
    @sayantansarkar2310 3 роки тому +5

    Great video maan

  • @callmesun.7126
    @callmesun.7126 3 роки тому +4

    Is this equivalent to the Top-Down approach?

  • @luismiguelbaezaponte9208
    @luismiguelbaezaponte9208 3 роки тому +1

    Great Video, Thank you for your advices 💪

  • @arunb5291
    @arunb5291 9 місяців тому +1

    Blackbox technique is efficient for achieving average goals, if one wants to achieve greater success then first principle thinking is needed.

  • @Dr.PandaUndergrad
    @Dr.PandaUndergrad Рік тому +4

    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.

  • @NETDET2345
    @NETDET2345 3 роки тому +1

    i've lived for 20 years using the black box method.
    but now, i know the precise name of what i'm doing lol

  • @lounirs
    @lounirs 4 місяці тому

    Back in highschool, i has an exam that required to know the analysis of 16 texts to be able to analyze it in front of a teacher. I couldn't focus or just put myself to work, while my fellows classmates would at least learn the parts of the analysis to have a red string. I went to the exam knowing nothing, analysed it, and got an 19/20

  • @magnuswootton6181
    @magnuswootton6181 Рік тому

    a cool thing about black box, or hidden box, is you dont need to comment the black boxes cause they are comments in themselves, and u can pretty much write the i/o half in a day.

  • @nav91827
    @nav91827 3 роки тому +3

    That's how AI-based tools are also gaining popularity. We necessarily don't need to know how it did the computation but if it's suitable for our need.

  • @aaryadeshpande1621
    @aaryadeshpande1621 Рік тому +1

    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 😭🤣

  • @IntziGG
    @IntziGG Рік тому +3

    This is something good to do when you think you are finished "learning" (you never actually finish learning).
    For example I want to know what happens and how that "black box" works from the inside cause that might give me an idea of how to solve a similar problem.

    • @IntziGG
      @IntziGG Рік тому

      I don't know if I phrased that correctly but I think you get the point I tried to make .

    • @asaadhusein
      @asaadhusein Рік тому

      Do you mind if you explain this concept, I watched the vid and I don't really understand it

    • @IntziGG
      @IntziGG Рік тому

      @@asaadhusein If the video coulden't explain it to you then a comment surely won't. Blackbox generally is when you don't care about some specific "function" or "algorithm" or w/e that might be it might be an object I don't know, you put that aside for now and you tunel vision on your problem . The only thing you know about this blackbox is it's input and output and you shouldn't focus for the time how it does what it does. You might learn later much easier and even quicker than if you focused on it the time you use that "Black box" for a problem. That black box might be a function that takes as input a list of numbers and then it gives them back to you averages and sorted (that's something too easy to be even considered a black box but for the sake of discussion) the point is you should focus on your problem and leave the black box do it's job averaging and sorting those number you do what you are supposed to do and as I said in my comment after you solve the problem look inside the black box and learn how it works it might help you later on. I hope I explained correctly and didn't comfuse you in any way.

  • @johnnylancer9441
    @johnnylancer9441 Рік тому

    I’m in a very theory-oriented university in a CS major, how should I implement black-boxing for something like a test, since you really need to learn explanations and coding complex structures from scratch?

  • @ThinkingBox11
    @ThinkingBox11 6 місяців тому

    I didnt know that this kind of approach is block box. I self learned web development through online resources and the way I approach the learning materials is to study an example (Html, css , javascript). Some yt insist to focus on studying one language but for me I love exploring those 3 languages at the same time because it helps me to connect the dots

  • @GajderStudio
    @GajderStudio 10 місяців тому

    Could this method be applied to simply learning a new language? E.g. when moving from high abstraction language to a one with lower abstraction? If so how would it work? What should I blackbox?

  • @XZYSquare
    @XZYSquare Рік тому

    what if you can't see the black boxes how do you identify them?
    say you're trying to learn a hard topic but you don't understand even how to see them?

  • @Versole
    @Versole Рік тому

    this also relates to abstraction where we just know what it does without knowing how it does it.

  • @SomeRandomName999999
    @SomeRandomName999999 3 роки тому +19

    This is probably only useful for tests or some specific fields like coding, I came here expecting to learn how to understand hard concepts but in the end all that was said is " *just learn it later* "... Have been doing this during my school years and it's great, so I guess it's good for students, but does anybody know of a way to actually understand abstract and difficult concepts?

    • @TheAirr13
      @TheAirr13 3 роки тому +10

      I think the best way is to just play around with it. Try to write simple example of concept (or just copy some existing solution) you need to understand and watch how it behaves in different situations

    • @obliquusfasciculare9963
      @obliquusfasciculare9963 3 роки тому +3

      Maybe starting from thinking, of what does the thing depends on and what depends of it? Then comes the static view of the characteristics of a thing, then the dynamic, how it has evolved and how different settings influence it's dynamics.
      Just ask of what does it depend, to actually understand abstract and difficult concepts and think until you've got it. Attention is penetrative if guided long enough into one spot.

    • @supersonictumbleweed
      @supersonictumbleweed 3 роки тому +4

      My advice would be to read on the subject even if you don't understand what you're reading. Eventually you'll see common patterns pop up everywhere.

    • @cricticalthinking4098
      @cricticalthinking4098 3 роки тому +9

      It really depends on what it is. Sometimes complexity can really be the illusion of many simple moving parts. In that case, taking each detail one at a time and tearing the thing apart could help. This is basically the opposite of the black box which hides all the details. But it's what required to get a deep understanding of something.
      Other times the approach of your teacher (whether it be a person, book, video, ect) simply doesn't work for you. Try mixing up your teacher.
      Thought experiments, visualizing everything that is going on with the concept have helped some people. It could be on paper, or you could lay back and close your eyes to visualize.
      And finally, noticing when a "hard concept" is really a bunch of pretentious ramblings. Some concepts are really just a bunch of thin air that make people feel smart when they say it out loud. I remember going to an art museum where someone was trying to convince a group of tourists the deep meaning behind a painting of a... black dot. That's it. A canvas with a dot on it. Many of the tourists were nodding along as well, trying to give the impression they were understanding what was so great about the painting. So don't be fooled when a select group of people claim they have found some sort of profound meaning in a bunch of gibberish.

    • @SomeRandomName999999
      @SomeRandomName999999 3 роки тому +1

      Thanks to everyone, and good luck to my fellow Math Majors :)