An Introduction to Programming for Complete Beginners!
So you found a GitHub link of a project that interests you and you want to contribute or understand how it works but you don't know how to write one line of code? You have ideas for applications? You want to automate simple things in your everyday life? You just want to mess around and see what happens? If you answered yes to any or all of the previous questions then you are in the right place :)
I first began programming about 4 years ago. Prior to that I had no knowledge about anything related to programming language. Literally zero. I knew less about programming than the chair you're sitting on. I started learning the basics and I liked it a lot. I liked what I was doing (albeit barely anything at the time) and I thought I could possibly make a career out of this.
How Do I Start?
To first get your foot in the door you have learn the very basics of programming. To do this you first have to choose a language. I would highly recommend you start with Python for the sole reason that Python is probably the easiest language out there. You don't need to memorize weird syntax phrases or anything. Great for noobies.
I'm going to save you some install time and just let you try out Python online here. You just write your code and hit run. Saves you the hassle of installing Python and other programs. You will definitely need to install it later if you're planning on furthering your studies.
The following are the building blocks of programming. Without them you will go nowhere. You need to master them and know exactly how they work (preferably in this order).
1- Variables and data types.
2- Basic math operations with variables.
3- If/else statements.
Without going into the other advanced topics, the above topics should give you a nice basis as to how everything works. Once you feel comfortable with them you can move on to learning about things like data structures and maybe recursion if you're up for a little mind bending ;)
Where/how Can I Learn?
There are many answers to this question. It depends on what kind of person you are. Some people like to read while others like to watch videos of people explaining to them. You will find many Intro. to programming books as well as several Python books. You will also find thousands of videos on YouTube for both. Personally, I like a combination of both. I like doing things myself while someone is explaining to me. This is why I highly recommend CodeAcademy. They have many free courses for various languages and each course consists of interactive sections. They explain something to you and then let you do it on your own. The perfect way to learn something, in my opinion.
However if this isn't your preferred learning style, you're obviously free to learn as you wish.
I'm Trying To Do Something But I Need Help!
99.99% of programmers say this on a daily basis. No worries. StackOverflow is the biggest developer community online where people ask questions and others help them. If you ask a question you will likely get a response within a few minutes. Very friendly and useful bunch over there.
Alternatively you could ask also me! I love teaching programming to other people so if you need help with anything (doesn't have to be introductory level or even Python) just leave a comment and I'll try to help you as much as I can.