Programming 101: Guide for Beginners

If you decided to self-study programming and discovered there are numerous branches to explore, this guide for beginners is perfect for you.

Bachelor’s Degree vs. Learning by Project Basis

Many coders take up a complete degree in programming to learn the basics. Others learn on the go, tackling each section of their coding niche one project at a time. You can do both routes, but this decision usually boils down to your budget and time commitment. 

A Bachelor’s degree requires a significant amount of money and time. Learning programming on a project basis still takes up time, but there’s Google, coding forums, and other FREE online resources to help you. 

For more structured learning, there are valuable free courses like Harvard’s CS50x Introduction to Computer Science (which is available free via edX).

Identify Your Goals and Choose a Focus

Do you want to make a program that’s better than Adobe Photoshop? If so, you’ll need a comprehensive course in C++, data structure, and algorithms, among others. 

Are you interested in developing video games? Unity, or C# is often used for video game development. 

Do you have an idea for the next best social media platform like Facebook?

Are you interested in making viral smartphone games like Flappy Bird? Mobile app makers use Swift or C to make iOS apps, and Java or Kotlin for Android apps.

There are many routes to take in programming, so if you identify your goals, it would be easier to pinpoint which kind of programming is perfect for you. 

This also determines the programming language (JavaScript, PHP, SQL, Java, Python, etc.) you would have to focus on first. Note that many coders know two or more programming languages, but the first one often dictates the job you’d likely land on.

Bookmark or Obtain a list of resources for your learning

Assuming you’ve decided on a self-study path and you already found your “calling,” hunt for the best resources for the programming language or niche you’ll work on.

  • Websites: W3resource, Udemy, The Odin Project, and so on
  • Books/ebooks: There are a TON of books available for programming 101, but if you’re coming from a place where you have zero coding knowledge, check out the ‘Dummies’ series – for example, SQL for Dummies, JavaScript for Dummies. 
  • YouTube Channels: If you’re a visual learner, YouTube is heaven-sent. CS Dojo and TheNetNinja are just two examples of content-rich YouTube channels for learning programming. There are hundreds more that I’m sure you’ll be able to find. 

Practice Thinking Like a Programmer

While you’re following an online course, a YouTube tutorial, that edX Harvard course I told you about, or any other curriculum, it’s also a good idea to learn problem-solving using principles computers “understand” such as loops, algorithms, abstractions, data structures, pattern recognition, and others. 

Invest in a smart home device such as Google Home, Amazon Echo, Apple HomePod, Nest, and other similar devices, and play with their commands. You can make custom programming tasks specific to your home. 

“Play” Coding Games

Kids learning how to code would love Scratch or Minecraft Education Edition (it’s free for Microsoft Office 365 Education accounts). Even grownups would love the ‘gaming’ approach but still slowly learning the concepts of programming.

There are other more serious games like Hour of Code

If you want to play with like-minded individuals, join online communities like Reddit, GitHub, Stack Overflow. These new contacts could also help you out when you’re facing a roadblock with your programming projects.

Create Projects Continuously and Obtain Certification

Make projects that use the skills you’ve just learned. This doesn’t necessarily have to be something BIG, but practice definitely confirms that the lessons you’ve learned can now be applied to something you’re interested in. 

Another way to get proper confirmation that you’re ready to move on to bigger or more complicated courses is by obtaining certification. You can do this online, too! There is some fee involved for certifications, but the tests or projects that will be assigned to you (and hopefully you’ll successfully complete) determines that you have passed that particular subject. 

There is always something new to learn in the world of programming, so obtaining certifications give you a bit of a break and time to celebrate your own victory. After all, self-learning in itself is already hard. But self-learning CODING seems twice as hard. 

Prepare Your Mindset and Gear

Of course, before you begin, don’t forget to arm yourself with the right hardware (monitor with high resolution, CPU with advanced RAM and processor, etc.) and software (the programs necessary to begin your education).

Also, if you’re 100% sure about beginning your journey in programming, you have to be ready mentally. This isn’t a course you could easily fly by (unless you’re a genius or you have been exposed to plenty of grownup coders). 

Additional resources: 

Nathaniel Villa
Nathaniel Villa