Observations about the beauty of computer science and some other things
I always thought it to be too unrealistic when there was a moment in movies where we, as the viewers, could see the protagonist or some other character fall in love with doing something. The concentrated gaze which transforms into a satisfied, curious one as the character clicks a button and something that they’ve wanted to do for their whole life is done, it happens (like them opening this one book and are immediately hooked, and their whole life after that is centered around books). It’s not always this dramatically presented, I know, but the main message is similar to the feeling conveyed by this situation. I always believed these to be too unrealistic. Even while discovering my passion for literature, for writing and reading, or for social impact/social service, it wasn’t something that immediately lighted up like a lightbulb in my head. Rather, it settled itself into my essence as time went on, as I read and fell in love with more and more novels and stories, as I saw more and more activists doing good things and changing the world for the better.
So, you can imagine the irony in me falling in love with computer science, and more specifically programming, right away. I first took a course related to programming in winter 2020 (amidst the pandemic) through a 5hr/week course (only the lectures). The assignments took me 12+hr/week, and I loved it. I loved being able to produce something on my own, being able to think about an algorithm that picked a random number and made you play a guessing game by saying “hotter” and “colder” upon you inputting numbers, or being able to create a code that calculated the roots of an equation etc. I loved it. Another one of my friends was also taking the same course but from a different lecturer, decided she didn’t like programming from day 2, and so let me complete her assignments as well! (I know this sounds like a scene from a classic high school movie where the nerd does the popular girl’s homework and the girl is happy about it, but I asked to complete them and I had to convince my friend that it was my pleasure.)
Lucky for me, our lecturer was also incredibly kind and he even kept sending the class group chat coding problems even after the course had ended!! (Thinking back on it, I was probably the only one who did them and I should probably thank him for putting out coding exercises mooontths after the 2 week course had ended without ever being sure anyone was doing them. [question: is it too late to thank him???]). The first coding language I learned was Python, a fun coding language that I can now see was ideal for beginners (I learnt it through this course I described above)! Though there are many different aspects of programming (such as web development, writing algorithms and back-end development, for which HTML/CSS/JavaScript, Python/Ajax/Java, and SQL/MongoDB/Flask would be ideal [out of the languages I know], respectively) I believe Python or HTML would be an ideal way for someone to get started. So if you started reading this post with hopes of getting some advice as a beginner programmer (from someone who’s been coding for almost 3 years but still feels like a beginner), depending on what you prefer, I would say Python or HTML is ideal for you!! If you have a specific interest in creating websites, HTML is best. If you generally want to get introduced to computer science, I would say Python is the better option.
Also, I know that it may seem overwhelming at first. Programming has SO many different branches, languages and aspects you can learn about, but one good thing about it is that it’s INCREDIBLY logical. So the primary differences between the programming languages in the same categories (such as Java and Python, both under the “writing algorithms” category) is their expressions! For example, whereas you would say,
print("Hello, world!")
in Python to output “Hello, world!” (without the quotation marks), you would say
System.out.println("Hello, world!");
to do the same thing with Java! There are just different means of expression. Once you learn one language, it will be SO easy to grasp the logic of another, it might simply take you a couple of weeks to learn the shortcuts, the commands etc. (Unless the language is from a different “category” such as web development. I want to emphasize that CSS, for instance, and Java are NOT the same. As someone who enrolled into a college-credit computer science course which was supposed to take around 10-12 hrs of my week [including 6 hrs lectures in total] because I was familiar with other programming languages, but who then spent over 20 hrs on assignments and lectures per week, I want to truly EMPHASIZE this! (: )
I always thought the end results that came within movies to be too unrealistic (just like the “falling in love with something” moment). Sure, getting something that you worked so hard on finally done is an incredibly satisfying feeling, but not one that settles in at that singular moment, at least not for me, as there always exists some room for improvement that I believe we are aware of. So I couldn’t relate to those moments where the character is finally able to get that one last thing done, like putting the last tape on the packaging of the present they’ve been working for the whole movie, or when they click one button and the robot they’ve been working on for months finally works etc. I would be happy that I finished the present, but I wold simply be thinking about the card I’m going to write alongside it, if I were that character. So I simply couldn’t relate. I was, once again, comedically proven wrong when I unintentionally squealed upon having my code work one day.
I didn’t expect to find beauty (and didn’t even believe there to be any, really) in computer science and programming, but I did. And I even want to pursue it as a minor now! Being able to add this to my list of passions, right next to literature and social responsibility is such a satisfying feeling, and makes me proud of myself that I chose to enroll in that short course with the amazing lecturer simply to get out of my comfort zone.
Moral(s) of the story, feel free to internalise/embrace whichever apply to you:
1. Don't be scared to explore areas you find interesting yet intimidating. That's where the hidden gems lie!
2. Movies aren't always unrealistic! Believe in the conceptual magical spark they sometimes present!
3. Things/tasks/areas that seem overwhelming may be more manageable than you think!
4. The programming languages in the different "categories" of programming are NOT the same!!!!! Though it is relatively easy to learn the programming langauges within the same "category"! :)
5. Good teachers make a HUGE difference!
Leave a comment