What's most interesting about this question is how easy it is to get the space complexity wrong TWICE in two different directions. Even popular videos on this problem make this mistake.
youtu.be/zaB1XK4YVsQ
1
598
What are the dangers of just "skipping to the solution"?
youtu.be/YclML9Dm71E
1
605
Watch and Code retweeted
What @Jonathan_Blow describes is precisely the focus of my teaching. It is also by far the hardest and most frustrating part of my work. It truly is the last frontier of programming education. Technical competence is nothing in comparison. I tried to describe the same phenomenon in my essay, "A Brief History of Watch and Code". What makes it frustrating is how few people even think it's a problem. It may be a case where only those that understand the problem can see it.
watchandcode.com/essays/a-br…
From the last section:
"The systems I had built were extremely effective at helping students develop technical competence, but there was one final piece, design. You can think of it as taste, judgment, or something else. I still don't know exactly what I should call it.
You have two programs, they are both correct. One is pleasing and simple, but the other is ugly and gives you a headache. This is what I mean by design. It turns out, good design, at least the type I'm describing, is chiefly a symptom of clear thinking. The headaches are a symptom of muddled thinking."
This problem is interesting because even though it's labeled "easy", if you don't have the right mental habits, the performant approach is completely invisible.
youtu.be/PBGbGwK01dA
Contains Duplicate (detailed intuition and analysis for every approach): youtu.be/0hF1lWsxPGU
Towards the end, there's also a design discussion (about one of those “one-liner” solutions).
The Most Detailed Two Sum Video Ever Made:
youtu.be/isGKzmwDREg
If you do better than brute force, you'd beat most professional software engineers. How do you stack up?
youtu.be/BBXqpUj8JLs
Watch @gordon_zhu cut through an easy question. Straightforward problems are great for isolating process issues because there's no excuse not to get things absolutely perfect. Try it first and then compare your approach to his.
youtu.be/WBXixmMvC-U
322
With recent layoffs and hiring freezes, frustration is boiling when it comes to interviews. A lot of it is warranted, but it can quickly veer into unproductive territory. @gordon_zhu addresses the most common frustrations in this video.
youtu.be/n-SfAzokNzg
Watch and Code retweeted
Big issue w/ full-time coding bootcamps: 3 mo is followed by a 12+ mo job search (if lucky) that creates a large gap that has to be explained.
Companies become concerned & think, "there's likely a reason this person isn't having any luck", so the problem keeps getting worse.
This thread describes some old Watch and Code history that you probably don't know about (look for gordonmzhu's replies):
reddit.com/r/codingbootcamp/…
3
504
"If you don't bring the right mindset to asking questions, it doesn't matter how neatly you format them."
youtu.be/Ej3rLZK5CdQ
New channel trailer for the YouTube youtu.be/BMB-n0owlZw
Watch and Code retweeted
I need to write in more depth about @gordon_zhu's Watch and Code curriculum at some point.
In the meantime, here's his video on Javascript's notorious 'this' keyword (and the last video you'll likely need on the subject).
He's a phenomenal educator!
youtube.com/watch?v=q0N6Dzu-…
Monthly Update: Free workshops, past workshops on databases and proofs, and changing the way we teach memory. Check out full article for all the details 👇.
linkedin.com/pulse/may-2023-…
2
602
Watch and Code retweeted
From a conversation this morning:
"To be merely competent, you have to stay with something until you understand it. To go beyond that, you have to stay far longer, until all the newness and excitement has worn off."
This is worth reading (and short). If we want to become good programmers, we must become good writers too.
deirdremccloskey.com/docs/pd…
Watch and Code retweeted
We're starting to see positive ripple effects from last Friday's proofs workshop. We are trying our hardest to fight against the unreliable-whack-a-mole "I tried a lot of inputs therefore it must be true" method🤦♂️. From a student today:
"[...] Interestingly, at this stage, writing comments felt ‘proof’ like. There was an intuitive sense, ‘no, this is REALLY right’ this time. I’m not sure if that feeling itself can be fully trusted, but when all the parts of the function are somehow expressing the problem simply and clearly, there is something tangibly different about that [...] This is the first time I’ve written out a reflection like this, increasing the juice I get from one exercise and undermining the tendency to believe that ‘completing quickly’ is always a proxy for skill or growth, or even something that should be aimed for. Quite the contrary, it is this tendency that has HELD ME BACK from developing the carefulness needed to solve problems well."
We hosted a proofs workshop today (the math kind). Amazed that we've somehow gotten students excited about mathematical thinking. Great to see nerdiness spread.
Some attendee quotes:
"Is this going to be in the curriculum? I want it as a guide, I want to save it."
"I personally found this more useful than the weekly practice problems, would love more sessions like this."
Watch and Code retweeted
People are so used to not understanding things that when they do, the reaction is often, "this is too basic, this is obvious, I could've figured it out, not impressed, not complex enough, etc".
The common outcome is that people end up valuing misunderstanding over understanding.
Watch and Code retweeted
We hosted a proofs workshop today (the math kind). Amazed that we've somehow gotten students excited about mathematical thinking. Great to see nerdiness spread.
Some attendee quotes:
"Is this going to be in the curriculum? I want it as a guide, I want to save it."
"I personally found this more useful than the weekly practice problems, would love more sessions like this."





