Leading up to Thanksgiving, I felt as if I had hit a wall. By plowing through lessons with haste, I was failing to actually learn the material which set me up to struggle with each subsequent lesson. In focusing more on velocity, I was shooting myself in the foot. After taking some time off to focus on family, I have returned refreshed and revitalized.
Miraculously, I am nearing the end of the Object Oriented section where I have discovered Avi’s OO review video. In his closing comments, he touches on my prior, flawed mindset of completing lessons without the true goal of learning to program. He then compares a students knowledge (with the wrong mindset) to Swiss Cheese. In moving fast, we are leaving gaps in our knowledge that set up future road blocks when we encounter more advanced material.
Avi then explains why programming students need to blog. When we don’t understand something, we ought to go through the process of researching, reading, and asking questions until we grasp the knowledge. When we blog and reflect on the process, we develop a deeper understanding.
With that being said, the OO final project is a Music Library CLI and I can admit that I cannot recall exactly how CLI function. Here, the Swiss cheese effect is forcing me to brush up on fundamentals.
With a quick internet search, one can find that CLI is short for Command Line Interface. CLI applications are programs that users input or interact with entirely through the terminal. Throughout the entire Ruby gamut, I have been using a CLI application, interacting with countless labs and lessons without having the understanding to call them CLI applications.
In programming the Music Library CLI, we’re being asked to write code that would allow users to browse a library of MP3s by song, artist, and genre. All of the interconnection between songs, artists, and genres, aside, this program rides on the users specifications. One can already imagine that the user would have to ask for a list of songs, artists, or genres in order to make a selection. I have not written this code yet, so unfortunately I’m unable to go into specifics yet but I am itching to begin the final lab here.