Learning a new skill; I vowed to become a writer, regardless of the trials and tribulations I would weather along the way. Then, however, 24 hours passed and it was time to chase the next random thought that popped up in my head: programming. This article chronicles my arduous journey of sitting in a comfy chair and clicking “Next” through online lessons on programming. Of course, before learning programming, I evaluated my computer’s components to see if they met my standards or not:
Stage 1 – Background Study
The mouse was crunchy, with no sign of turning moist, a smoothness to its texture, and tasted of the dust from the Cheetos I had earlier that day. Perfect.
The keyboard was wonderful too: an exotic and varied buffet, thanks to the range of food crumbs that had fallen in between the keys over the years. Learning programming can be fun, and delicious!
After deeming the hardware upto standards for programming, I researched programming languages and picked “Python” as the language to learn. It should not be too difficult, I figured. Assuming that it is a dialect of Parseltongue from Harry Potter, it should just be various hissing sounds and involve memorizing the number of “S” suffixes to words.
Stage 2 – Familiarize Yourself
Finally, it was time to seek expert guidance. So I visited Cleverbot for help on getting started:
My fault: the ‘i’ was lower-case instead of upper, and the question had ended with a period. Of course the programmers behind cleverbot couldn’t make heads or tails of the sentence. Not everyone shares my expertise in recognizing linguistic patterns. I tried again:
Okay, this was going to be harder than I thought. I rephrased the question a final time.
Find inner peace? Sorry, but I do not understand how getting first place in a match of Fortnite will help me learn programming.
It seems Cleverbot cannot solve all of life’s problems, which means if I ever need legal advice, I may have to hire an actual lawyer instead of asking Cleverbot. For the short-term, it also meant that I would have to learn programming from other sources.
Stage 3 – Getting Started
Enter Codecademy, a website offering various programming courses. Before starting its course on Python, I took an introductory primer on the website, where I learned to manipulate text in simple ways. For instance, it showed me the following screen:
The lesson told me to change the color of the message. It gave a list of instructions to follow to change the color from red to blue, but one of the benefits of being a freelancer is that I am my own boss. So, I ignored instructions and solved the lesson my own way:
Heartened by my success, I moved on to the full course on Python, only to be greeted by this:
Thanks to the introductory primer, I felt confident in picking option 2. I briefly considered selecting option 3, but a quick search on Google revealed that there is no popular programming language made entirely of cusswords, so my vocabulary does not automatically qualify me for option 3.
Stage 4 – Practice
Lesson one of the course started me off with a simple task: to make the program type out “Hello, World!”
I think most programmers would agree to describe my solution as “clean and elegant”:
A few skipped lessons later, Codecademy started teaching me how to add descriptions inside code in the form of “comments,” intended to summarize the purpose of complicated code into simple English.
Asked to add a descriptive comment on “city_pop,” I sat down to exercise my writing muscles by commenting in the form of a Haiku. Half an hour later with no results, I decided Haikus are dumb anyway, and mashed my fingers across the keyboard.
The course accepted the answer. I was a natural at programming.
Having mastered commenting, I moved on to a more complex lesson, only to be greeted by this text:
Stage 5 – Optimization
I made note of how the word “datetime” was used thrice which, as a writer, I recognized as redundancy. I removed all but one of the datetime entries and smiled. This is why I am the writer and not you, programmers.
I ran the program, which gave an error. No surprise. If it is dumb enough to make such obvious redundancies, of course it is too dumb to follow crystal-clear prose.
The next lesson, my heart aches to say, was flat-out offensive:
!@#$ you too, Computer. You’re a pretty big !@#$%& yourself too, you know.
Sadly, not only was the course turning uncouth, but the gap between theory and the practical, working-class began to show itself with the topic of “Functions.” Functions in programming were described as a reusable length of code to save time on typing the code each time you needed to perform a task. Basically, a ploy by The Man to reduce my number of billable hours.
Ever the optimist, I hoped the next lesson would be better, but the topic of “Conditionals” was just disturbing:
I crossed out the “NOT” table because I believe winners shouldn’t have the mindset of “not” being able to do something. I now understand what people mean when they ask for an overhaul of our educational system.
The remainder of conditionals continued with woefully misplaced ideas. I can’t say whether the programmers behind the lesson were socially awkward or sinister, but a large part of the remaining lesson revolved around making veiled threats, using “if” or “else” statements to pressure the computer into following instructions.
Stage 6 – Advanced Knowledge
Thankfully, the lesson on lists produced good results, despite starting off terribly: the course insisted on defining a list in case I did not know what it was, which is yet another reminder how programmers talking to non-programmers really needs to have its own equivalent of the term “mansplaining.”
That said, by the end of the lesson on lists, I had:
- become so proficient at it
- that I was even able to organize my writing
- like so, in list form.
Now nearing the end of the course, I opened the next topic:
I feel they should have introduced our classes at, you know, the start of the course. It wasn’t even a great introduction; there was no going around asking each student to talk a bit about themselves, and let’s face it, that’s one of the rare times I get to socialize. What a disappointment!
The next discussion was on “Syntax,” which refers to the rules of combining vocabulary into sentences, as it is used in programming. An example of syntax, as you will recall:
Turns out the pinnacle of human technology is written with the same eloquence of cartoon cavemen.
Lots and lots of words were used to explain the next topic, which I now, as an experienced programmer, knew to be a rookie mistake: if your programmers are left unoccupied for a length of time, they have a chance to leave low ratings for you on Glassdoor.
Personally, I believe Codecademy can learn from a writer here with the adage: “Show, don’t tell.”
For instance, in the topic with a lot of text, this part stood out to me:
Without even reading a word of the instructions, this part SHOW-ed me that I am supposed to complete a fill-in-the-blank puzzle. I couldn’t figure out two letters for each side, so I problem-solved by using font wide enough to cover up two blanks with single alphabets.
The trick folks with wide frames can use in Daewoo to conquer seats can also be used to solve fill-in-the-blanks!
he spelling of “minute” was incorrect but I am sympathetic to Codecademy’s oversight: their’s is not an English class, after all.
Stage 7 – Continuous Improvement
All said, however, the course knew which topic to end on a high note with:
The lesson gave me something to think about: did I really need to learn all this? Pretty sure I can coast on my inheritance for years! Codecademy’s programming course unlocked the power of my imagination, as I can’t remember the remaining lesson since I passed it daydreaming of how I shall spend my inheritance.
Well, dear Reader, does having completed the course qualify me as a professional programmer? No. But does it mean I could go pro if I wanted to? Well, if the answer was anything but a yes, then why does the website show me this button at its top?
And why does clicking it lead me to a page to GO PRO?
You think they’d let any shmuck with a credit card GO PRO? Perhaps consider if you are desperately clinging to maintain your self-image by searching for reasons to bring my accomplishments down.
Hm. That was good analysis, I think. Perhaps my true calling is Psychology, not programming. Learning a new skill is definitely easy.
You might also like
More from Lighter Side
When I was asked to write about startups as an outsider, I thought about how well the premise fit me. …