The Black Box Method: How to Learn Hard Concepts Quickly

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 ส.ค. 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
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 840

  • @feynmannotesguy3351
    @feynmannotesguy3351 2 ปีที่แล้ว +2798

    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 ปีที่แล้ว +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 ปีที่แล้ว +2447

    I used Black Box Method to learn Black Box Method.

    • @NeoKailthas
      @NeoKailthas 3 ปีที่แล้ว +108

      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

  • @rafita_san
    @rafita_san 3 ปีที่แล้ว +1187

    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 ปีที่แล้ว +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.

  • @sujaykadam99
    @sujaykadam99 3 ปีที่แล้ว +830

    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 ปีที่แล้ว +9

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

  • @MajorTrollerHAK
    @MajorTrollerHAK 3 ปีที่แล้ว +1705

    This will jumpstart my career with stack overflow.

    • @KulaGGin
      @KulaGGin 3 ปีที่แล้ว +30

      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 2 ปีที่แล้ว +5

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

  • @ja-qob
    @ja-qob 3 ปีที่แล้ว +75

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

  • @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 ปีที่แล้ว +19

      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 10 หลายเดือนก่อน +1

      Excellent point.

    • @donnydarko7624
      @donnydarko7624 8 หลายเดือนก่อน +3

      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

  • @noahfletcher3019
    @noahfletcher3019 3 ปีที่แล้ว +931

    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 ปีที่แล้ว +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.

  • @marusdod3685
    @marusdod3685 3 ปีที่แล้ว +1724

    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 2 ปีที่แล้ว +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 2 ปีที่แล้ว +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 ปีที่แล้ว +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

  • @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 2 ปีที่แล้ว +17

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

    • @boobbbers
      @boobbbers 2 ปีที่แล้ว +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 2 ปีที่แล้ว +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 2 ปีที่แล้ว +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

  • @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 2 ปีที่แล้ว +53

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

  • @lamriniyounes4723
    @lamriniyounes4723 3 ปีที่แล้ว +623

    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

  • @JolaMozyrska
    @JolaMozyrska 3 ปีที่แล้ว +31

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

  • @TheGitGuild
    @TheGitGuild 3 ปีที่แล้ว +4

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

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

  • @GuRuGeorge03
    @GuRuGeorge03 3 ปีที่แล้ว +1051

    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 ปีที่แล้ว +147

      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!

  • @cluckoothechicken5721
    @cluckoothechicken5721 7 หลายเดือนก่อน +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.

  • @hpn1427
    @hpn1427 3 ปีที่แล้ว +2

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

  • @nilanshur
    @nilanshur 3 ปีที่แล้ว +8

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

  • @swiftjsulli
    @swiftjsulli ปีที่แล้ว +39

    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

  • @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_ 2 ปีที่แล้ว +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 2 ปีที่แล้ว +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.

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

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

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

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

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

  • @aqib829
    @aqib829 3 ปีที่แล้ว +53

    4:52 softest(weirdest) plugin ever!

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

  • @rayanh1120
    @rayanh1120 11 หลายเดือนก่อน

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

  • @AdobadoFantastico
    @AdobadoFantastico 3 ปีที่แล้ว +2

    Thanks, man. This was very enlightening.

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

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

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

  • @Middollo
    @Middollo 2 ปีที่แล้ว +1

    Love love love this, so simple, thank you.

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

  • @anunaysharma2718
    @anunaysharma2718 3 ปีที่แล้ว +2

    Congratulations on 10000 subscribers!

  • @talaqudah0
    @talaqudah0 2 ปีที่แล้ว

    so glad I found your channel ,keep it up

  • @26Dbone
    @26Dbone ปีที่แล้ว

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

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

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

  • @Eterrath
    @Eterrath 3 ปีที่แล้ว +39

    TH-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?

  • @sobieso
    @sobieso 3 ปีที่แล้ว +17

    great video sir!! i really enjoyed it 🤠

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

  • @araragikoyomi7186
    @araragikoyomi7186 3 ปีที่แล้ว +1

    Thanks colin ,i will try this blackbox technique

  • @kennyly23
    @kennyly23 ปีที่แล้ว

    Thank you! I needed this much more than you know

  • @sharathin
    @sharathin 3 ปีที่แล้ว +10

    That cube drawing though 😍

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

  • @user-it6ps7fb2w
    @user-it6ps7fb2w 6 หลายเดือนก่อน

    Vert practical and precious share, thanks!

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

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

  • @Artaxerxes.
    @Artaxerxes. 3 ปีที่แล้ว +36

    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?

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

  • @callmesun.7126
    @callmesun.7126 3 ปีที่แล้ว +4

    Is this equivalent to the Top-Down approach?

  • @merv893
    @merv893 ปีที่แล้ว

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

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

  • @GajderStudio
    @GajderStudio ปีที่แล้ว

    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?

  • @kamilstaszewski8063
    @kamilstaszewski8063 ปีที่แล้ว

    Probably someone wrote it down, but I might as well do the same but add in 3:34 should add 5 to 6 if we are working with indexes. Correct?

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

  • @alhawkex
    @alhawkex 7 หลายเดือนก่อน +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

  • @hpn1427
    @hpn1427 3 ปีที่แล้ว

    Can I implement this in things like making web apps? I am decent at JS but I wanted to stay on Vanilla JS for as long as it's necessary to learn most advanced concepts of it.
    My goal is to get a job as a frontend developer

  • @RamiChessBlog
    @RamiChessBlog 8 หลายเดือนก่อน

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

  • @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 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 หลายเดือนก่อน +1

      @@dreams7091 I am an engineer IRL.

    • @dreams7091
      @dreams7091 8 หลายเดือนก่อน

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

  • @im-luke
    @im-luke 6 หลายเดือนก่อน +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.

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

  • @chrismdev_
    @chrismdev_ ปีที่แล้ว +1

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

  • @sayantansarkar2310
    @sayantansarkar2310 3 ปีที่แล้ว +5

    Great video maan

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

  • @luismiguelbaezaponte9208
    @luismiguelbaezaponte9208 3 ปีที่แล้ว +1

    Great Video, Thank you for your advices 💪

  • @ultimateq8479
    @ultimateq8479 3 ปีที่แล้ว +1

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

  • @Nerdylady
    @Nerdylady ปีที่แล้ว

    For what it’s worth, that’s an awesome black cube drawing

  • @Jaybird196
    @Jaybird196 ปีที่แล้ว

    Is this useful in other areas besides coding/computing? Thanks.

  • @XZYSquare
    @XZYSquare 2 ปีที่แล้ว

    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?

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

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

  • @doreenchemweno
    @doreenchemweno 2 ปีที่แล้ว +2

    I also believe it's less discouraging cause even though you don't fully understand all the concepts, you can still use them.

  • @kerron68
    @kerron68 ปีที่แล้ว +1

    is this essentially a breadth-first approach instead of depth-first?

  • @adelineena6429
    @adelineena6429 ปีที่แล้ว

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

  • @heroben1079
    @heroben1079 ปีที่แล้ว

    This guy is single-handedly saving all careers

  • @greedyalgorithm2823
    @greedyalgorithm2823 ปีที่แล้ว

    Great video. Thank you

  • @ARYANRAJ-cb4gf
    @ARYANRAJ-cb4gf 3 ปีที่แล้ว +116

    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

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

  • @delduked
    @delduked 3 ปีที่แล้ว +2

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

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

    • @shafialanower3820
      @shafialanower3820 9 หลายเดือนก่อน

      What do you mean by blind copying

  • @abraruralam3534
    @abraruralam3534 6 หลายเดือนก่อน

    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.

  • @learnitmyway5848
    @learnitmyway5848 ปีที่แล้ว

    made so easy. thanks dude

  • @fjworkshop
    @fjworkshop 2 ปีที่แล้ว

    thank you sir,it was a nice video

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

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

  • @causality5698
    @causality5698 ปีที่แล้ว +1

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

  • @nemo_201
    @nemo_201 3 ปีที่แล้ว

    ima try this right now!

  • @m_r-ock6508
    @m_r-ock6508 2 ปีที่แล้ว

    I wonder if this is possible with general stuff other than coding

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

  • @blackfox5413
    @blackfox5413 8 หลายเดือนก่อน

    Quite liberating idea

  • @Yasuozen
    @Yasuozen 3 ปีที่แล้ว

    Just recently started with Python, so I'm pretty inexperienced, but wouldn't the Fenwick/Binary tree be add(3,5)? isn't '2' at index 3? or am I missing something here?

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

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