Week 8 (Week 26) To memorize or to know?

Do I really know what I am doing or am I just memorizing code? I've been reading some William Gates and Donald Knuth quotes, and I could not agree more with their logic. It's hard for me to move on from something, especially in computer science, and assume that I know this particular subject very well, at least well enough to move on to the next subject, which is more complex. I remember taking a really well instructed course online called 'Learning how to Learn: Powerful mental tools to help you understand complex subjects'... something of that nature. I've learned that there is a thing called 'Overlearning' and another way of learning where a person thinks they know a particular subject and they move on, but really, they just knew it that one time, they don't really UNDERSTAND arrays or hash structures. Similar, to as if you just studied the night before and pass a test the next day, but do you really know that stuff, can you teach it to the oblivious? I feel like my answer to both questions are no and no. I can teach a little, but not even half of the things needed to solve these problems. I got this confirmation by doing an array assessment on Formation earlier this morning. I passed the arrays assessment, a few weeks ago, however, coming back to these problems, my mind was completely lost and the way of thinking I had was no longer as strong as it was, when I took my assessment. I've been trying to grasp the hash structure data structure, and I really love hashing thing. I am spending a good amount of time on this data structure to learn its behavior. Visualizing these data structures and algorithms really helps me understand better. I've been using LeetCode to really help teach me how to write these algorithms, they do a great job of visualizing and explaining the concepts for each data structure or algorithm. I friend of mines in Formation gave me this valuable resource. Formation does not teach you these things, they give you structure to practice, but you have to do the work yourself. I now have balance, because I can use LeetCode for instruction. I am not really remembering the code all too well, but more so, what I am thinking, I want to be able to explain what's happening, the code part will come. I wanted to do Python, but now, I am doing JavaScript, I was practicing with Python, before Formation, and now I am back to JavaScript as I have changed my mind, that will be a post for another day. I feel that some of my peers at Formation are moving REALLY fast, and I question do they really get it? Can they go back and pass these assessments? I'd imagine most can, they are smart folks, but I've also seen some struggle, on basic array problems, that we all have passed before, but can't remember how to get through the very basic problems, and that's the thing, we have to close that gap. I do not overwork or overlearn, I make my process fun, and I follow a strict schedule, so I am not burned out. It's tough on your brain trying to solve these problems, it gets easier with time. I am glad that I have found a way to go about learning DSA now completely, I just have to keep on the path!
I enjoy Donald Knuth's way of thinking!

Comments