Transcribe your podcast
[00:00:01]

Welcome to Introduction of programming. My name is Stephen and my name is Sean. Over the next 90 minutes, we'll be taking you through this series consisting of 21 different segments that hope to cover the basics of computer programming, which can apply to any and all programming languages you might want to learn. We'll be starting with the simplest question of what is programming. And from there we'll be working our way up as we talk about common features of computer science, such as loops and arrays.

[00:00:25]

We'll discuss how to read and write code, debug code that you've written some strategies to help you plan out your code and much, much more. The complete list of topics that are going to be covered in this lecture style video are shown on the screen now. Additionally, there will be time stamps in the description, so feel free to skip around if you are already proficient in some areas of computer science or just want to know about a specific topic we will be covering.

[00:00:47]

Hopefully by the end of the series, you'll have a basic understanding of what computer science is, along with an armory of useful skills that will help you unravel whichever programming language you decide to learn.

[00:00:57]

First, we'll only be covering the major key points that apply to all programming languages. So we'll be shying away from topics such as object oriented coding and command line navigation as those are things which are language specific. Additionally, there will be no software required for you to download in order to follow along with this detail, as we won't be writing any code in an idea to keep things simple and concentrated.

[00:01:20]

This video is meant for those who are interested in computer science and programming, but have no idea where to start and have little to no background information on coding. And so if that sounds like you, then strap in as Sean and I work our way through the wacky world of computer science, starting with the biggest question probably on your mind, which is what even is programming?

[00:01:38]

Well, the dictionary defines it as the process of preparing an instructional program for a device, but that's a really confusing definition. So in layman's terms, what exactly does that mean? Essentially, it is attempting to get a computer to complete a specific task without making mistakes.

[00:01:58]

Imagine this. For example, you want your less than intelligent friend to build a Lego set except his last instructions and can only build based on your commands. Remember, though, your friend is far from competent. And so if they are not given very specific instructions on how to build the set, there are many mistakes that they could make. If he thinks like a computer, then if there is even one piece that you have not told him specifically where to place and how to place it, the entire Lego set will be ruined and he will be left to suffer a complete mental breakdown, causing the whole goal of the project to be corrupted.

[00:02:35]

Giving instructions to your friend is very similar to how programmers code.

[00:02:40]

Instead of a less than intelligent friend.

[00:02:42]

You have a less than intelligent computer and a set of instructions on how to build a Lego set.

[00:02:47]

We are feeding information on how to complete a program like a game or a web application. An important thing to note is that computers are actually very dumb. We built them up to be the super sophisticated piece of technology when in actuality a computer's main functionality comes from how we manipulate it to serve our needs.

[00:03:05]

Now, programming isn't as simple as giving your friend instructions, since in a programmers case, the computer doesn't speak the same language as you. The computer only understands machine code, which is a numerical language known as binary that is designed so that the computer can quickly read it and carry out its instructions. Every instruction fed to the computer is converted into a string of ones and zeros and then interpreted by the computer to carry out a task.

[00:03:31]

Going back to the Lego example. This process would be like if he was not only less than intelligent, but to make matters worse, he could not understand English and only speaks in Mandarin Chinese. In order to speak with him, you have to convert the instructions that you understand in English into the language that your friend understands. This process is essentially what you must do for your computer in order to make it understand the instructions that you give it. The big difference between the two examples, however, is that it is very difficult for people to understand machine code in binary directly.

[00:04:05]

Translating what you want the computer to do into machine code is extremely difficult, in fact almost impossible and will take a very long time to do it if you could.

[00:04:15]

Each program is composed of millions upon millions of those ones and zeros.

[00:04:19]

So how exactly are we supposed to translate our instructions into machine code? This is where programming languages come into play. Programming languages are fundamentally a middleman for translating a program into machine code. These languages are much easier for humans to learn than machine code and thus are very useful for programmers. Going back to our Lego example, a programming language would sort of be like an interpreter that's able to take the instructions you give them in English and translate them into instructions.

[00:04:48]

Your non English speaking friend can understand this makes programming languages extremely useful and the backbone of any good program.

[00:04:57]

Think of programming languages as not English and not machine code, but somewhere in the middle.

[00:05:03]

There are many different programming languages out there that each have their own unique uses, languages such as Python and Java, just general-purpose languages that can perform a variety of computational tasks while robots or email or CSFs or languages designed for more specific purposes, such as moving a robot or constructing a website. Languages can also vary in how powerful they are. For instance, JavaScript is a scripting language that is designed for smaller tasks, or Java or Python can carry out much more computationally taxing processes.

[00:05:36]

We can measure a programming language is power or level by how similar it is to machine code. The series of zeros and ones we talked about earlier, low level programming languages such as Assembly or C are closer to binary than a high level programming language such as Java or Python.

[00:05:53]

The basic idea is that the lower the level of your programming language, the more your code will resemble what the machine can interpret as instructions. Aside from the different purposes that each language fulfills, choosing a language typically comes down to a matter of preference, as are usually many languages that can accomplish similar tasks, try different languages and decide which one's rules interface and level of simplification you like best. So now that we know what programming is, how do we actually write code?

[00:06:26]

It's not like we can simply type words into a text document and automatically assume that the computer can translate it into machine code, read it and carry out a task like opening up a browser. And additionally, we can't just write down rubbish in certain programming languages mentioned in the previous segment and expect the computer to understand. So how are we supposed to write code then? Well, the answer is with an idea.

[00:06:46]

An idea which stands for Integrated Development Environment, allows the facilitation of code by computer I.D., provide a graphic interface on your computer in which the programmer can easily write, run and debug code without having to worry about problems with complication or interpretation of the program. Think of an ID as any other program on your computer, such as a game, a browser or even the file explorer, except we'll be using it to write code ideas are able to turn your code into machine code and run it through the computer to produce results.

[00:07:15]

In addition to providing a place for programmers to develop their code, ideas provide some extremely useful tools for programmers to ease the job of writing code such as built in error checking. Because, as we'll talk about later, code doesn't always run correctly auto filling for frequently used words or phrases and a project hierarchy which will help you organize and manipulate the files within your project.

[00:07:35]

Back in the olden days before I.D. code used to be written on punch cards and then fed into computers, which would take hours and cause a lot of pain, I.D. nowadays act as sort of a fast track to writing code and make things a whole lot easier for programmers. An example of a specific idea can be seen on your screen. Now in the center you can see the program that is currently being written, and right below it is the console which can print out useful information for the programmer.

[00:08:00]

The specific IDs used to write Java code ideas are extremely powerful and will be using almost 100 percent of your programming projects.

[00:08:08]

So through these IDs, we are finally able to write and compile code smoothly without worrying about the computer not being able to understand it. The next problem we run into then becomes how do we write this code in the idy? Because it's not like we can just type random words from a certain programming language and expect the computer to understand this is where a programming language is.

[00:08:27]

Syntax comes into play now, just as if you were learning a real language, learning a computer language can be very similar. Some have different styles that may seem odd. Some may make you use weird or abstract concepts which may be confusing. And like all languages, programming languages have a set of rules that you must follow when writing code in that language. And at the forefront of those rules is grammar programming. Grammar is referred to as syntax and is very similar to real world grammar.

[00:08:55]

Each programming language has its own syntax or rules that you have to follow to a T if you want your program to run correctly, just as if you were speaking in real life. These can be things such as how you type out certain functions, what you put at the end of a line of code and how you set up certain functions. Each language is unique in its syntax, and while some may share similar rules, all will have some quirk which makes it stand out from the rest.

[00:09:19]

Syntax is something that catches a lot of people off guard, since many expect every programming language to follow the same set of rules.

[00:09:26]

But as we spoke about in the last segment, because each language is specialized for a specific task, each needs its own set of rules to function. Breaking or disregarding these rules will result in an error. Just how breaking or disregarding rules in real life will result in an unintended message.

[00:09:42]

As an example, if you wanted to do something simple, such as initialize a variable, which is something that we haven't covered yet, but the example is still relevant in Java, you'll notice how we have to specify what type of variable we are defining in this case an integer, and also add a semicolon after the statement in Python. We don't even.