An Introduction to Programming

Where self-taught is just as good

Sneha
Sneha
Jan 25 · 4 min read

Basic coding knowledge is almost expected of everyone these days. Although it isn’t necessarily hard to get started with, trying to learn by combing through the documentation will be a beginner’s nightmare *yikes*. This article (not to be mistaken for a tutorial) will help with just that, guiding you on your journey to self learn programming by sharing resources and programming tips.

What is Programming?

Wikipedia describes computer programming as ‘the process of designing and building an executable computer program to accomplish a specific computing result or perform a specific task.’

Simply put, programming or coding is just instructing a computer to do certain things, in a language it can understand. These instructions are called programs, and these programs are written in programming languages that have their own rules and syntaxes.

Choosing a language

Identifying what you want to achieve plays a major role in choosing a language. Be it creating a full-stack website, building practical apps, developing useful applications, or just solving problems using code, programming languages can help you with all this and more.

With the number of languages out there, it can get quite confusing choosing a language to start with. Some factors you might want to consider when choosing a language are ease of learning, relevance future prospects, and usage (i.e, projects it can be used for)

Source

Here are some of our recommendations:

  • Javascript: It is a high-level scripting language that's relatively easy to learn and is also growing fast. It is primarily used for web development and is relevant in both frontend and backend.
  • C++: It is a general-purpose programming language and is quite popular in game development and in GUI based desktop applications.
  • Python: It is also a general-purpose language that is used in domains like Machine Learning, Artificial Intelligence, and Data Science.

If you’re just starting out and want to get the hang of things before delving into a domain, a good place to start is Javascript due to the reasons mentioned above.

Getting Started

While most programs can be executed in the notepad app, having a dedicated IDE (Integrated development environment; source code editor) hugely improves the coding experience. It allows faster setup, includes suggestions, formats the code, highlights errors, and much more.

Code suggestion in VSCode

Here are some of our recommendations; VSCode, Sublime Text, Atom

Based on the language you choose, there may be extra steps involved in the setup. For getting a rough idea about programming, learning Javascript is the simplest way to go since it requires close to zero setups. A quick googling session will fill you in on the requirements for each language. But a standard source code editor is a pretty common thing to have.

After deciding on the language, you can find so many tutorials on YouTube, especially for beginners. Here are some recommendations from our side: Traversy Media(a good channel for web dev), C++ Tutorial for Beginners, Python Tutorial for Beginners

Further domains to explore

You’ve written your first program. Learned your first language. What next?

Software development is a broad field, but here are some popular domains that you can start looking into next.

  • Web Development: Developing a website for the internet. It can range from developing a simple single static page of plain text to complex Web-based Internet applications, electronic businesses, and social network services. Basic web development can be done using a combination of HTML, CSS, and Javascript.
  • App Development: Developing mobile apps for devices such as personal digital assistants, enterprise digital assistants or mobile phones. Java is the default development language to write Android apps
  • Machine Learning/Artificial Intelligence: Creating software applications that are accurate at predicting outcomes without being explicitly programmed to do so. Machine learning algorithms use historical data as input to predict new output values.
  • Algorithms and Data Structures(Competitive Programming): Competitive programming will help you write better code and solve programming problems.
  • Open Source and Hackathons

Some words of advice

On a personal note, it is often helpful when you code with a specific purpose/outcome in mind, rather than coding just for the sake of it. For example, learning to build an app that tracks your exercise will help you stay motivated since you have something you get out of it once you complete it.

Remember that there more often than not, you will encounter a new topic that does not make any sense to you. But persevering through that is what makes you better. That feeling of triumph when it all finally clicks is oh so worth it. Every single time.

Delta Force

The Programming Club of NIT Trichy.