Sketch: Looking for Prior Knowledge

Sketch: Looking for Prior Knowledge

!UPDATE: i'm now publishing here

Fine you want something to work. Here. I’ll copy paste. I’ll pattern match all the way down. I’ll…Here’s something that works. But I don’t know why it works. How about now? You want it to look nice? Here’s some NLP generated CSS.

There’s a common practice to just throw stuff at students and let them figure it out. But what does that mean? How can one figure it out? That “how” should be taught explicitly: duckduckgo, blogs, stackoverflow, pair programming, code review, NLPs, etc. But these latter ones need, again, explicit instruction. I realize there’s so much to learn and teach that at the college level it’s a fatalistic series of trade-offs. Still, the teacher has to be careful about cognitive overload and to whom they’re teaching. What foundational skills, what prior knowledge, are you assuming? What about the students who don’t have them? Are they going to get punished? Or seen and recognized for their earnest work and progress?

When I write this I’m thinking about CS61B at Berkeley. I chose to go through it myself after my bootcamp to learn Java and data structures/algorithms. It was overload. I don’t see how students can get through this successfully without an abundant amount of knowledge and practice already.

💡
Is this what it means to attend an elite university? Go in somewhat formed with loads of prior knowledge? Would the joke be that you need a Master's degree to attend a Bachelor's program?

That aside, what I really appreciated about the course is: it explicitly taught testing and debugging. Yes, I loved the conceptual narratives about data structures—and the struggle to make my own implementations. I really do. I just need to repeat the course—as my knowledge base, my prior knowledge, expands—to actually grasp more of it.

It’s that background desire to have a broad conceptual understanding of computer science and programming concepts that distract me.

I find myself perusing further and further out because I end up reading more and more about a question. That web of connection is deep especially since I’m mostly browsing the inter-webs.

To supplement that and as a way to keep my work more focused, I’m reading technical books (ones at my level) and none technical books (ie. Stranger in a Strange Land, Life in Code, Number Sense) because I’ll filling in the gaps—because these texts influenced how the pioneers worked and thought.

It’s why I’m listening to podcasts like Corecursive, watching Mike Conley's the Joy of Coding, and appropriately using Software Carpentry lessons. They are explicit. Paced. A wealth of prior knowledge that I’ve been searching for.

Footnote: cover image Dalle generated.

Did you find this article valuable?

Support Jia-Jia Zhu by becoming a sponsor. Any amount is appreciated!