Sep 13 2017

Why Computer Science?

Published by at 1:15 pm under student

(This post was authored by Mr. John Simmons.)

My past summer was spent in deep thought of things to come. It did not feel like vacation time due to the worries I had for the future. I was college-bound, set to leave from home for a brand new frontier at Tennessee Tech. Before the fall, however, I was unsure as to how I wanted to mentally grow myself – whether that was through college or some other means entirely. I did know that I wanted to step into the software development scene though and that a college degree could help me do that. No other study quite compared with the possibilities and excitement comprising today’s information technologies.

I was first introduced to programming mid-way through high school. I undertook two courses on object oriented programming with Java. My initial impression, while utterly frustrated at the start, was pleasantly fulfilling after coding my first algorithm. The rest of the year went by in a blur of sweat, blood, and tears. I did break away from coding for a year to explore other career fields. I wanted to give physics, mathematics, and english a fair go before I made my final career choice. Personally, nothing quite compared to the thrill I experienced upon project completion in programming class, so I decided to commit to coding as a career at the onset of my high school graduation.

I was entertaining the idea of teaching myself how to code professionally for a while. I finally began doing so by the end of high school, and I still keep up with it albeit not at full capacity anymore. I do have to prioritize my studies after all, but I digress. I admit the thought of teaching myself was complete hubris given I did not even know where to start. I spent my entire life up until now in a school setting with the teachers spoon-feeding me bits of knowledge day after day. Their guidance kept me on track. There was no way I could just up and say “Hey, I am going to teach myself for a change,” and expect that to go anywhere. I did not have the necessary experience to say that I knew what I was doing at home to teach myself, which usually meant googling stuff madly to figure what I was missing for the next step.

I soon realized I was sorely dependent on those around me, teachers especially, when it came to my education. While I was in no way prepared to teach myself, I at least knew that something had to change. I had to learn how to independently learn over the summer. And when I say ‘independently learn’, that means I had to define my own curriculum and set a reasonable pace for working through said curriculum.

In order to tackle these challenges, I needed the soft skills to set goals, schedule my time, focus, be confident, and self-motivate myself. Of the bunch, I felt scheduling and goal-setting were the most crucial. I was decent at scheduling, but I never set that many goals for myself considering my teachers did most of that for me. They were the ones who set the guidelines on how to get things done and the corresponding deadlines for finishing those things in a timely manner. I was helpless in this regard, but I was not without options.

FreeCodeCamp

Thankfully at the beginning of the summer, I discovered www.freecodecamp.com. This website, as its name implies, teaches people how to code for free. Granted, it is not easy nor as simple as it sounds. They do not provide traditional teaching for the subject-matter taught. Campers (the name given to a FreeCodeCamp user) must scour the web and live forums to fill in the knowledge mandatory for the challenging projects offered on the website. I have had weeks of failure before breaking through on a few of these challenges. Failing is pretty normal at the start of every project; the frustration I felt each and every time serves the FreeCodeCamp methodology of being taught the bare minimum so as to struggle through the rest. I was on my own for the most part with a sliver of aide here and there from the website’s community. The goal FreeCodeCamp was not to be taught, but to teach oneself on sheer self-initiative.

What FreeCodeCamp lacks in raw teaching it makes up for in goal-setting; this is what I was lacking in the first place, the capacity to set goals towards a concrete objective. FreeCodeCamp was extremely useful in this regard. The website has a “map” of projects to do, 10 for each of its initially available certifications that all eventually build up into the coveted Full Stack certification.

FreeCodeCamp constantly harps on the read-search-ask process so whenever I got stuck, which happened often, there was still hope for a real answer. I did not mind, though. The goals are what I came and stayed for. I had to teach myself almost everything so I could complete the projects available. Thank goodness for the information era! Although there were moments where unlimited knowledge was not translating into pragmatic understanding.

It was then that I would seek whoever would humor me in the online help chat rooms. Stackoverflow and all the various other coding blogs had great advice for what I needed, but oftentimes the answers were cryptically presented. I knew with each cryptic struggle I had a long way to go in learning how to learn. Past teaching myself, I also had to remind myself how to finish a project rather than giving up halfway due to the stress and uncertainty of it all. It was time to buckle down for a change!

And so, the summer went along excruciatingly as I continued to code during much of my free time. I managed to earn one of the website’s certifications and scratch the surface with the other two certifications that are earnable from the start (completing all three are the prerequisites for earning the Full Stack certification).

I was making leeway, but it was not very expedient. I started to realize that, even as I doing decently well with getting myself to sit down and code for extended periods of time, I was not getting the results I wanted. I then realized that my haphazardly gained knowledge had many holes. There were no real teachers to steer me in the right direction beyond the goals that FreeCodeCamp set for me, so it was hardly surprising that my progress was stunted.

Even so, I knew I needed to fill in these educational holes and understand how to code cleanly, efficiently, and creatively. Looking back at some of my projects, the source code for some of them is horrendous. I had the knowledge, but I did not understand the thinking that went into it. Basically, I was treating programming as a hit-or-miss, get er’ done to-do list instead of a professional work of art.

That is why I am finally here at Tennessee Tech: to adopt the mindset necessary for the Full Stack job I want to land by the time I graduate with my Bachelors in Computer Science. I am still pursuing FreeCodeCamp on the side, but I hope to apply the computer science department mindset to the way I should be coding and thinking about my FreeCodeCamp projects.Capture

As to why I may have chosen somewhere else besides Tennessee Tech to achieve these ends, I cannot give an awe-inspiring answer. Simply put, it was close to home, had a fair reputation, and the price tag for what it has to offer is fair. The size of the campus is perfect as well; I do not have to run around everywhere given how compact everything is. The people here are great too. I hope to build lasting relationships here on campus and in the town of Cookeville.

With so many people around, there are infinitely many ways to network with others! Making friends, attending events, joining a fraternity or sorority, participating in club activities, and competing with peers day-to-day all define the competitive, nurturing atmosphere at Tech. I did not attend Tennessee Tech for these reasons of networking, but they are rapidly becoming part of the best decision I made in choosing to enroll at Tennessee Tech.

All that said, going to college ultimately depends on the person. College is expensive and timely, but foundational and enlightening. Coding bootcamps are quick and pragmatic, but arduous and makeshift. Self-teaching is rewarding and possible, but full of holes and directionless. I personally decided to attend college at Tennessee Technological University. Tech has a proven track record and a multitude of opportunities for contributing to and learning from others. Earning my Bachelor’s from Tennessee Tech may just prove to be one of the best educational decisions I have ever made right behind my commitments to computer programming.

 

Comments Off on Why Computer Science?




Comments are closed at this time.