My Programming Journey

My Programming Journey

An interesting story to read about my tech journey from scratch to building a mini project

Introduction

I am Sathvik, a junior-year undergrad studying Artificial intelligence and Machine learning. I am more curious and interested in mathematics. This is my very first blog on the internet and I am writing about my first tech experience from the zero level.

Where it all started...

It was May 2020 when the world is covered up in lockdown due to COVID-19 and I completed my 12th class. This kept a lot of time in my hands for extra circular work and searching for a college. I was excited about college and the skills I have to know to be efficient in coming future and then I got to know about programming. Seeing all the coding scenes in movies and engineers building some cool products using code made me very curious. I researched a ton of beginner resources for programming till a YouTuber hit me with the CS50 course by Harvard University.

"This is CS50" -David J Malan

The course started with a very interesting lecture about the basic keywords in computer science and then with a website called SCRATCH (a block-based programming language ) which is used to make games, animations, etc. This helped me to create 2 mini-games using the logic in my mind in a very playful way. Then from the very next lecture, we shifted to programming in C language using the CS50 sandbox environment. The instructor Sir David J Malan made the concepts like memory, pointers, arrays, and syntax easily understandable by beginners in a very effective way. Well, this is a great memorable start for me, I then also purchased a book called 'Let us C' by Yashavant Kanetkar. Over a rigorous practice of 3-4 months, I got some understanding of how programming can help in building logic. Even university started and actually, the first course was regarding the C programming language in my first semester which made me pass the course with ease.

The Dots

As the semesters went by I got introduced to very new concepts in computer science and programming language. One lucky thing I also got introduced to, is my classmates who are already a bit early into tech, they really helped and cleared all my doubts while facing challenges in CS which made my learning journey smooth to an extent.

As my course is focused on ML&AI, my first programming language transition happened towards python, easily got habituated to it due to its dynamic typed nature. Then came data visualization where I played with datasets performing statistical techniques, drawing out inferences, generating graphs, etc. Meanwhile out of interest I also tried some scraping techniques to draw data from the web using some libraries in python like BeautifulSoup and Scrapy. For a bit of motivation, I intentionally stumbled upon a few youtube videos where people showcased their unique projects in tech, then I stumbled upon a topic that we can make a functional telegram bot using code. On the go, I also started machine learning courses taught by Andrew Ng from Coursera and a few from Udemy(mostly used for practical applications by code).

Connecting the Dots

There came a project submission requirement in which we should showcase a project at our university. After thinking for a long time, all those dots(topics I learned) got diffused into an idea to make a machine learning-based stock prediction telegram bot by using python language. I used a library named yfinance to get the historical stock data. For analysis purposes, I used the pandas library. For visually representing(another dot) the graphs of the behavior of stock prices I used matplotlib library.After carefully observing data I opted for a period of 30-day stock data for a dataset into my algorithm as generally, the stock prices are unstable. Then I applied some ML algorithms using the sci-kit-learn library for prediction purposes. So the user needs an easy interface to access the application so I opted out telegram bot idea(again a dot). This served as an intermediate helper to send the processed text and image data to the user. In this way, my past experiences helped me to turn an idea into a project.

Conclusion

I have also tried exploring a few paths in tech like web design via an internship and mobile app development and more. Yet there are many topics that I have to learn in tech, but the above-mentioned project is a special first achievement for me even though it might be a mini project. By this, I started to believe in thought like when we are exposed to multiple topics in tech by trying one at a time, at a certain point in time we might get some diffused ideas to make a project.

If you are curious about my project, you can check it out here.