How To Get Started With Programming

How To Get Started With Programming

SOME BACKGROUND

I'm a student, currently in my first year of college doing majors in Computer Science. It's been almost 5 months since I've joined Twitter and I get a fair amount of DMs asking me about "the best way to start with programming ". I think the major reason behind this can be 'lack of proper guidance'. To be honest, I was clueless as well but with time I get to know what works best for me and the amazing people on Twitter helped a naive coder like me a lot. I've replied to some of the DMs personally as well but, I want to write this article as a beginner's guide which includes my observations and some valuable tips from some awesome devs I've talked with. From a newbie to other fellow newbies. Let's get started!

OVERVIEW is IMPORTANT

Before starting with any course on any particular coding language an overview is important. What are we even getting ourselves into should be known to us! This can be done by enrolling ourselves in the very infamous "CS50 course" by Harvard University.

Special mention to Gagan Gulyani ( https://twitter.com/GaganGulyani ) for encouraging me to go for this course with full faith and now I get it why he was soo confident about the course. (ps: Gagan's an awesome Python-Dev who shares awesome resources around Python and Tech; checking out his Twitter acc will add great value for sure).

You can check out the course on https://cs50.harvard.edu/college/2021/spring/ website . The best thing about this course is it'll make you familiar with major concepts like strings, arrays, etc in a very fun/interactive manner and have 'Problems sets' as well which you can solve afterwards. Moreover, it's free of cost! so what's stopping you from giving this course a try?!

LEARNING is the Next Step

Assuming that you've already decided on what language you want to start with, there can be two kinds of learners reading this:

1) The ones who are currently in college and are having a CS/IT background

**I just want to make it clear that having a CS background doesn't matter when you have the will to learn. It just makes the learning process easier.

Make the best out of your college lectures: College lectures might not be as interactive as CS50's lectures but you should make the most out of it by reviewing the codes and concepts professors may teach you. They'll always teach you the basic things first and the lectures will provide a structure to your learning process hence there will be no need to cluelessly look for concepts and topics to study next.

REMEMBER: Handling coding with college studies can be very stressful sometimes but it will give only good results in the end. If there are college lectures on weekdays then spend time doing coding on the weekends. This was suggested by Seema Saharan, when I was stressing as hell and reached out to her. She was kind enough to listen to me and told me that doing coding on weekends along with college has also helped her a lot in the beginning. She is just incredible at everything she does and an amazing human as well.

2) The ones who don't have any CS/IT background whatsoever

My advice to you will be to opt for a crash course on that particular language you want to learn : There are many MANY free-of-cost crash courses available online. it isn't necessary to opt for a paid one when you are just a beginner. Explore the web a little, if nothing suits you then you may opt for the paid ones.

The crash course will provide a whole list of topics to cover and a systematically designed structure to get an idea of how things actually work.

NOTE: The courses can be 9 hrs long, so it isn't advised to consume everything in just 2 days or so. It's fine even if you're understanding one topic at a time. Which brings me to my next point,

UNDERSTANDING is KEY

Again, completing a course or completing the semesters of your college isn't going to do you any good if you aren't understanding the concepts properly. Don't rush onto learning things quickly! Understand how things are working and why they are working that way. Understand their applications. Watch the tutorials as many times as you want. Be your own best judge.

MAKE NOTES!

Can't stress this enough but making notes at the beginning stages of your learning can enhance the process to a whole another level.

Just attending the lectures or watching the tutorials isn't right. When you are just getting started, it's important to be familiar with the syntax a little. Make notes of every little thing you think is important, it will boost your confidence in some way or the other for sure.

HANDS-ON PRACTICE is a MUST

Doing hands-on practice is as important as making notes. It can be done right after understanding any concept if the system is available at the moment or when reviewing the notes for the first time.

Watching your code running in a compiler for the first time gives soo many chills. It's a feeling no programmer ever forgets.

PRACTICE and PRACTICE

After getting yourself familiar with different syntax, one can jump onto practicing and applying the knowledge by doing a number of questions every day or by making projects with that programming language.

In the end,

all I want to say is embrace your learning journey. There will be many bugs and errors in the path, many ups and downs but everyone faces it. Have Patience, and all of it will be worth the Time and Energy. Programming is a tool to solve real life's problems so just let your creative juices flowing and get coding! All the very best!