Taking the First Step

Taking the First Step

As we venture into the Technical World, Coding is one of the most essential topics of discussion and relevance. For many it can be a daunting task to take the initial step in learning to code. This blog will hopefully provide you with essential information and resources to begin your coding journey and give you insight on how to navigate throughout the process.

Programming Languages

2.jpeg

To start coding you need to pick a programming language. My personal suggestion would be to opt for C++ as your 1st programming language. It’s a well-structured language, with complex systems which help the programmer to associate and develop better problem-solving skills.

But for people looking for an easy language to start with, Python is your answer. Python with its simplicity and easy to use features allows us to write concise and easily readable code. This is helpful in times when the focus is more on the working application of machine learning instead of having to struggle with the readability of programming language.

As you proceed don’t just stick to one language, once you are familiar with the basic concepts and terminology of the first language, pick a new language and begin learning along side. Once you are familiar with one programming language, beginning a new one will be much more easier. For this part I would suggest you to take up JavaScript.

JavaScript is a very popular and a vast structural programming language. If you learn the foundations of programming in JavaScript you can reapply that education later in building web applications. JS is a massive programming ecosystem, there are lots of libraries available to build off of and many of them are written to be easy to use and integrate-able into other projects.

You can pick a book, a tutorial or even a course online to learn any of these languages. There is an over saturation of resources for coding in the market, therefore free and highly helpful resources are easily accessible. Some resources are provided at the end.

A common phenomenon amongst new coders is that they fall into the void of tutorials at the beginning of their learning, this brings us to the next step to advance in your coding journey.

Projects

Simply learning terminology of a programming language isn’t enough to understand the implementations and the concept application in a meaningful manner in real time projects. Therefore, take up existing projects to work on at the beginning. Something as simple as a tic-tac-toe game is enough to begin with. I have suggested here to take up existing projects so that you can refer to them in case of any conceptual halts and understand the elementary concepts in a real time application process. This doesn’t mean that you completely depend on the source to get your result. Rather try to start with visualizing your goals and processes that are required, and get to typing. Choose small projects that are useful, as well as they interest you, to begin with.

These projects are a fundamental step in advancing and tuning your coding skills. As you progress, take up more complex projects and as you go further try something completely on your own.

Referring to existing similar projects and codes isn’t wrong. To be fair, as programmers, I would say, knowing how to search for a code with the required logic is an essential skill as well. Sources such as stack overflow, GitHub, Bootstrap provides coders with varying resources to improve our code. Understanding the logic and learning from the borrowed coding snippets expands your knowledge as well. Few simple project ideas and resources are mentioned at the end for you to begin with the process;

As a part of projects, you should start navigating other concepts such as algorithms and data structures. API is also a significant topic to glaze over. You will find domains varying from machine learning to security management to web development, all along the way, try exploring as much as you can to find what suits you the best. Few Courses and other resources to learn these concepts and domains in depth and cooperate them in your complex projects in future are mentioned below as well.

Developing a Suitable Mindset and Surroundings

3.png

Programming languages are a vast sea of ever-growing knowledge and concepts. Agree with the notion that, in spite of your time and effort and all the complex projects you have acquired, you would continue to discover new things ever so often. The field of coding is a never-ending learning process, but once you get the hang of it, a lot of stuff becomes easier to grasp and understand. Therefore it is significant to embrace the learning process from the beginning of the journey.

It is also fundamental to stay curious while learning any programming languages. Curiosity pushes one to explore and tinker with the concepts, supplying better understandings of the working processes. As programming is just the foundation for problem solving, exploring outside of defined lines is necessary to flesh out the solutions.

All of us are human, giving up is a trait which we often choose when facing continuous hurdles. Therefore, to stay on track through the challenges, form a community that will hold you accountable for your learning process. check in with them on regular basis about your learning updates. And cultivate habits of consistent practicing alongside. Start practicing and making projects as soon as you get hold of the basic concepts and terminology of a language. A simple “hello world” code is enough to get you started. Remember “Long term consistency trumps short term intensity”. Enjoy Coding!

-Maryum Urooj Ahmed

Linkedin Profile

Resources

Learning Resources

Brilliant.org

Freecodingcamp

CodeAcademy

Learn Python - Full Course for Beginners

Crash Course to Python (Book)

C++: The Complete Reference(3rd Edition) by Herbert Schildt

Beginning Programming for Dummies by Wang

The Principles of Object-Oriented JavaScript by Nicholas C. Zakas

Course on Python Basic

Project Ideas and Resources

Python Poker

Tic-Tac-Toe Python JS

Python Maze Generator

JavaScript Weather App

More JS Project Ideas

Helicopter Game with C++

C++ Project Ideas and Resources

Other Concepts

Data Structures and Algorithms for Beginners

A Beginner’s Guide to Algorithmic Thinking

What Are APIs? - Simply Explained

API for beginners