How to Get Started in Programming

I am currently pursuing my Master's and till today I have gone through a lot of tutorials on how to start programming as a beginner. Not that I haven't started my programming journey yet, but sometimes I look at those to get idea about how other people think beginners should start there coding journey.

I have been coding/programming for about 6 years and I have also followed a lot of tutorials, but most of them just confused me when I tried to find a proper path to get into a certain specialized area in programming. In this I will try to sum up on how to choose a specialized area in coding and how to get started regarding that.

First of all programming is not just about building something, it is mainly about how to recognize a problem and have clear idea about that, how to approach a problem for finding probable solutions and finally implementing the solution that solves the particular problem most efficiently.

In this blog I will try to figure out some of the common and well known specialized areas in programming and how to get started in those categories.

Now let us know what are some of the specialized area in programming - 

  1. Competitive Programming (CP)
  2. System Level / OS Level Programming
  3. Web Development
  4. Mobile Application Development (Android & iOS)
  5. Machine Learning

Now let us take a look at each of these fields one by one.

  • Competitive Programming (CP)
    • In order to get started in competitive programming, C++ is the best for couple of reasons. C++ is extremely quick in terms of computation speed and its STL library is just wonder for competitive programming.
    • Surely Java and Python can be used for CP but nothing can match the computation speed of C++.
  • System / OS Level Programming
    • If you are interested in System Level programming then you must start with C language and then move onto C++.
  • Web Development
    • Web development is a vast and versatile field. In order to get started in this field in current times, there are a lot of ways. And this vast and versatile nature of this field leaves beginners confused if a solid path is not followed. To get into this field properly, follow the steps below.
    • Start by learning the basics of Python and JavaScript. Build small console based projects in them.
    • Once you are comfortable in basics of Python and JavaScript, then move onto learning the basics of HTML and core CSS.
    • Then learn about SQL. And learn to store data, retrieve data and manipulate data to and from a database using SQL.
    • Then move on to learning a Python web development framework called Flask. This framework is just wonderful for beginners to understand the concepts of web development. Build at least two or three projects on Flask.
    • Then move onto learning JavaScript based UI framework called ReactJS.
    • Once you have followed the above steps, you will be able to apply for really good full-stack developer jobs.
  • Mobile Application Development (Android & iOS)
    • For Android app development, start by learning Java and Kotlin basics.
    • After that move onto Android Studio and follow some good articles or tutorials on how to use and work with Android Studio.
    • For developing iOS apps start by learning Swift and Swift-UI.
    • Then follow some tutorials on iOS app development.
    • But remember, to build and test iOS apps using Swift, you must use apple devices.
    • If you want to build both Android app and iOS app using single code, you have to learn and use hybrid app development frameworks like Flutter(by Google) and React-Native(by Meta).
  • Machine Learning
    • If you are interested in Machine Learning, you must learn Python or R. But I will suggest you go for Python, because Python's library support is just awesome and Python is a lot more versatile than R.
    • Start by learning calculus and statistical mathematics basic concepts. And solve a few number of basic to intermediate mathematical problems.
    • Then learn Machine Learning concepts and try to implement those concepts through some projects.
    • Then move onto Deep Learning. Learn the differences between Machine Learning and Deep Learning, types and how these try to solve the real world problems.
    • Try to build some projects from basic level to intermediate level for understanding these concepts clearly.
These are my thoughts about how a beginner should start his/her journey in the programming world. If you follow these steps, I think you will have a smoother entrance to the development world.


That's it for now everyone. See you all in the next blog. Don't forget to follow for more contents.
If you have any query, please post it in the comments.

Thank You!


- by
Shouvik Bajpayee
Pursuing Master's in Distributed and Mobile Computing
B.Tech in Computer Science and Engineering


Comments

Popular Posts