1. Introduction


When we refer to coding (or programming), we are talking about the act of writing text in a file that forms something that makes sense to a computer. The text in the file is most commonly known as source code.

The most common nouns used to describe a person writing code are Developer, Programmer, Engineer, and sometimes Coder.

The source code instructs the computer to execute commands. Some examples of these commands are performing calculations on pieces of data, controlling the devices connected to a computer such as reading and writing files from a hard drive, or sending information to other computers on the internet.

All the many commands in one or many source code files make up what we call a program, or application. We usually associate the term application with software products that run on a computer with a user interface, such as your web browser, or notepad.

Programs without a user interface might do useful things like an anti-virus software product. The anti-virus software is running on your computer watching out for viruses, but you don’t see it.

Code is sometimes converted to something even more simple for the computer to understand and isn't as friendly to a human reading it. The process of taking code and changing it to a more computer understood language, is known as compiling.

For example, code can be compiled and the resulting file can directly be run by your operating system such as Windows. You may know these types of files as "EXE", short for executable. This file at some point was compiled from a human created set of source code.

There are also a lot of languages in the programming world that do not get compiled. Sometimes programmers write source code that is loaded into other programs. A simple example of this is how web sites contain source code that is loaded by a web browser like Google Chrome. This allows the web-site to appear very functional and interesting.


There are many languages in the world of programming that were created by programmers, and yes, you can use a language to make other languages.

The reason for many different languages is usually for very good reasons. It's like forms of travel in the real world; we have bikes, cars, and trains for example.

Cars have their uses such as getting around small towns and villages. Other types of cars are used for long commutes, and other types for racing.

The same concept applies to programming languages. Some languages are used for powering rockets that we send into space, and other languages are better suited for writing business software. There are also languages that are specific for mobile devices and web-sites.

One of the biggest concerns with someone learning to code, is which language do you start with? You will have probably done some research and asked friends for their suggestions. Now you find yourself in a world of confusion with differing opinions.

I have good news for you. Every language in the world shares a common set of concepts. Whichever language you pick up as your first language, you are already on your way to understanding and being able to easily jump to programming with another language in the future.

The language that we will be choosing to learn here is called Python. The reason we've chosen this is because it has a good range of concepts and features that set you up well for other languages in the future. It's also very easy to read and write and is one of the most popular languages in the world.

If you’re wondering how good Python is, spend some minutes googling what companies use Python. You’ll find big tech companies like Google, Facebook, Netflix, and even NASA.

You don't have to stay long with Python after the basics of programming are understood if you don't want to. I say this because, once you have grasped the basics, you may wish to aim for a specific career path in web site development for example. For this, the JavaScript language would be good to pick up. But really, do not stress about this at this time, you are already on the right path here.

Other languages for other career paths, I'll explain and demonstrate later. We must first learn to walk, before we run.

Learning The Basics

There are a number of things you need to learn about your first language before getting into big projects that you might have in mind. This web-site course will take a tour through the fundamentals and then we are quickly going to start building actual software, moving our learning towards the other areas of software development, such as web-sites and backend (more about these later).

Try your best to focus and have the patience on getting the starting basics nailed down. This core knowledge will stay with you for life and in a short time, allow you to express yourself in producing amazing and useful software. I promise the process will be very satisfying and fun.

If you spend just one hour per day going through the topics in this course in order, you will soon be able to write your own Python programs with ease. Try to set aside this one hour of uninterrupted time with the goal of completing something in this course by the end of it. Small goals like this will help keep you motivated.

If at any point you feel stuck, confused, or just want to ask questions, then feel free to contact me via Twitter or shoot me an email (links at the bottom of the left side menu). I am always happy to help new developers on their journey.