Programming Basics: Fundamentals for Data Analysis | Emmanuel Segui | Skillshare

Playback Speed


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Programming Basics: Fundamentals for Data Analysis

teacher avatar Emmanuel Segui, Data Analysis Made Easy!

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Watch this class and thousands more

Get unlimited access to every class
Taught by industry leaders & working professionals
Topics include illustration, design, photography, and more

Lessons in This Class

    • 1.

      Introduction

      0:51

    • 2.

      Computer basics

      3:27

    • 3.

      What is programming?

      1:26

    • 4.

      What is data?

      1:10

    • 5.

      What is code?

      2:21

    • 6.

      What is structured programming?

      2:17

    • 7.

      Programming Concepts Part 1

      0:46

    • 8.

      What are variables?

      2:56

    • 9.

      What are data types?

      2:58

    • 10.

      What are arrays?

      5:48

    • 11.

      Programming Concepts Part 2

      0:29

    • 12.

      What are algorithms?

      2:38

    • 13.

      What are if-then statements?

      3:45

    • 14.

      What are loops?

      4:42

    • 15.

      What are flowcharts?

      1:40

    • 16.

      What are functions?

      3:35

    • 17.

      What is data storage?

      5:11

    • 18.

      What are text files?

      3:58

    • 19.

      What are excel files?

      2:59

    • 20.

      What are file formats?

      2:13

    • 21.

      What are databases?

      6:38

    • 22.

      What are operating systems? (Part 1)

      4:10

    • 23.

      What are operating systems? (Part 2)

      5:53

    • 24.

      What is a mobileOS?

      1:08

    • 25.

      What is command line interface or CLI?

      3:00

    • 26.

      What is the World Wide Web?

      2:20

    • 27.

      What are websites?

      2:33

    • 28.

      What is the cloud?

      3:13

    • 29.

      What are programming languages?

      3:23

    • 30.

      What are some examples of languages?

      3:01

    • 31.

      Closing Remarks and Next Steps

      1:30

  • --
  • Beginner level
  • Intermediate level
  • Advanced level
  • All levels

Community Generated

The level is determined by a majority opinion of students who have reviewed this class. The teacher's recommendation is shown until at least 5 student responses are collected.

177

Students

--

Projects

About This Class

This foundational course on the basics of computing and programming is aimed at helping you understand the world of computers and computer programming. This course will enable participants to acquire new skills or enhance their current skills to perform better and increase productivity in the workforce. By the end of the course, you will know the basics of computers, computer programming, the world wide web and an understanding of the different programming languages used today.

After the completion of the course, you will be able to

  • Understand the basics of computing
  • Describe basic programming concepts related to data
  • Define basic programming concepts related to algorithms
  • Explain data storageUnderstand operating systems
  • Grasp the basics of the WorldWide Web
  • Learn what programming languages are.

Meet Your Teacher

Teacher Profile Image

Emmanuel Segui

Data Analysis Made Easy!

Teacher

Do you like French accents? Eh ben Voilà! 

I am really excited to help the data analyst community on Skillshare. Whether you're a seasoned data analyst or aspiring to be, I hope you get what your heart desire, maybe a better lifestyle, or salary, or even learn new skills for fun! I hope to be one of your instructor in your journey.

As a data scientist and biostatistics instructor I have been involved in research studies and projects such as: 1) dashboard creation and publishing (using RStudio, Tableau, PowerBI). 2) statistical analyses and reports  (regressions, anovas, chi-square, factor analyses), 3) data warehouse and pipelines development with R and SQL Server. I also build Excel VBA applications to automate reports and save time from tedious reporting... See full profile

Level: Beginner

Class Ratings

Expectations Met?
    Exceeded!
  • 0%
  • Yes
  • 0%
  • Somewhat
  • 0%
  • Not really
  • 0%

Why Join Skillshare?

Take award-winning Skillshare Original Classes

Each class has short lessons, hands-on projects

Your membership supports Skillshare teachers

Learn From Anywhere

Take classes on the go with the Skillshare app. Stream or download to watch on the plane, the subway, or wherever you learn best.

Transcripts

1. Introduction: Welcome to this course, Programming Basics. At the end of this course, you will know about computers and the history of computers. You will be able to understand the basics of computer programming, the fundamentals of the programming concepts, such as if then statements and loops and functions. And you will be able to understand and describe what is data storage and what our operating systems. This course will be organized in seven modules. Computer basics, programming concepts one, and programming concepts to a section about data storage and files and other section about operating systems, world of web. And finally, section about programming languages. They're gonna be a lot of assignments and quizzes throughout the course. And at the end of the course. 2. Computer basics: So module one of this course, computing basics. First, What are computers? Computers are everywhere nowadays. A calculator, a laptop, a smartwatch, an iPad. You have computers in your car, in a plan transportation in general, robots, there's computer everywhere. So what our computers? A computer is an electronic device for storing and processing data, typically in binary form. So binary form is 0.1. That's how a computer understands commands by 0.1 according to instructions given to it in a variable program, in a programming, a computer program, and we're going to talk about computer programs later. An electronic device manipulates information or manipulates data. So now let's talk a little bit about the evolution of computers. This goes where before 1946, but I will say that's the beginning of modern computing. In 1940, 60, any computing system was built at the School of Electrical Engineering of the University of Pennsylvania. It was believed that he had done more calculations over the ten years. It wasn't operation then all of humanity had until that time. Now you have to understand that the eniac computing system was that a system, this big system of computers took entire rooms. We're not talking about a smartphone here or little iPad. We're talking about at this time, computers taking rooms, taking space. And then fast-forward 1960 to the link that we call it at time, was an early and important example of a personal computer. A computer design that is for only one person. It was designed by the MIT Lincoln Laboratory in junior Wesley Clark in 1973. The first handheld calculator was created by the company HP. About ten years later, the PC from IBM revolutionized business computing by becoming the first PC to gain widespread adoption by people, by the industry. Then the most modern computing in 2000 and Japan introduced the first camera phone. It was a camera that was integrated in a digital phone. In 2009, Apple introduced the first ultra notebook, light, thin laptop with high-capacity memory. And now we know, of course, the computing industry is going very, very fast with smaller iPads, smarter laptops, and smart watches, et cetera, et cetera. So what our computer is made of, We're computers are made of two things. Hardware and software. Hardware is any physical part of the computer, like a keyboard or a mouse. And software is a program inside the computer that processes some information, such as Microsoft Word, Chrome, e.g. now, computer programming, That's what you're learning right now, is used to create these pieces of software. And we're going to talk about computer programming in the next section. Now here are some more examples of software like Microsoft Office, Facebook, and YouTube that you know well are examples of software, antivirus program, photoshop, an operating system or we're going to talk about operating systems in one of those sections later. And also e.g. Google Maps to give us direction when we drive. 3. What is programming?: So what is computer programming? Computer programming is the process of building a computer program, developing a computer program that is designed to perform a specific task. E.g. here I have a screenshot of my Excel program that's on my computer. And Excel is a computer program designed or created by computer programmers, or we call them also software engineers. Now you can see here a little bit of Excel. And if you're familiar with Excel, you have different tabs, different buttons, et cetera. Here I show you three buttons, merge and center on the right, the bold, the button to bold a word and a button to underline a word in a certain color. While these are examples of functions that are created by computer programmers so that when you click on the button, then the word is bolded, e.g. Excel, microsoft Excel as a whole. And all these little buttons are created to perform specific tasks and to process information, usually numbers and dates, etc, etc. Now when you know computer programming, you can program a lot of things. You can program robots, you can program games. You can program special effects in movies, medical equipment, and also all kinds of transportations, like buses and cars and trains and planes. They all have some sort of computers inside. And these computers are programmed by software engineers, e.g. 4. What is data?: So now, what is data? Data is information stored in a computer in different types, like e.g. numbers and characters or strings that can be visualized on a computer through a computer program, e.g. you have a photo in your documents in your computer and you need a software like Photoshop or paint to be able to visualize the picture. So there's a lot of different kinds of data. We have here an example of types of data, geographical data, statistical data, financial data, scientific data, cultural data, et cetera, et cetera. In this data, you can visualize it like I said before, through a software. So e.g. here we have an Excel spreadsheet, and in this Excel spreadsheet, I have numbers that we used to call them elev or for elevation. And then on the right you have names of airports. Well, through functions created by the software engineers in Excel, you can call functions that insert a graph based on this data. So we can visualize data stored on a computer with a computer program like Photoshop, like I said, or with Excel here to understand data better. 5. What is code?: Now, what is code? Well, code is a set of instructions that a computer programmer or a software engineer writes for the computer to process and execute. So usually code that a computer can understand is all in zeros and one, but don't worry, nobody ever writes like that, right? So you won't have to write in zeros and ones. Instead, you're going to learn some coding. And that's the purpose of this course, to learn the basics of coding. So you can create some simple programs. So here's an example of what code is and what does the instructions at the top or what you ask the computer to do? You ask to calculate and print the final price in this example. At the bottom, it's what the computer executes. From there, you write more code that the computer can use to do more complex calculations. So e.g. you assign the number 30 to a variable and we're going to talk about variables later called backpack. You're assigned a value five to another variable called Calculator, same for textbook. And you can assign all these. You can perform operations like addition and create another variable called total, and you print the total. So these are sequential instructions that the computer goes through. And at the end, the computer prints the total price is 40. So from there, let's say you have total. Now you can write more code that can be more complex. And you can say, if the total is less than a certain value, then we're going to do this. If the total is more than a certain value, then we're going to do something else, et cetera, et cetera. So you can build on this and build more and more complex code. Now here is an example of code. Again, you can see a screenshot of my Excel spreadsheet here. And basically what happens when you click on be too bold a word? What happens? Well, let's say there's a word, the cell A1. Well, when you click on B or bold, that's what you wanna do. You want to bold that text? What's important to understand is that if you click on B, there's some code running behind, behind Excel that's going to bold that text. Same thing if you click on Merge and Center. Well, there's some code running behind that to merge some cells and center the text. 6. What is structured programming?: So now the structure of a program, well structured programming improves the clarity, the quality, and the development time of a computer program. And good software engineer makes extensive use, selection and repetition structures. And we're gonna go over the selection and repetition structures, these loops and if then statements in another module. Now there's different kinds of programs structures you can have. Like you see at the bottom left, a statement after another. Or like at the top, you can have a statement after some conditions. So e.g. if the total is 50, e.g. then you do something. If the total is 60, then you do something else. That's a statements that we execute or the computer execute after some conditions are met. And at the bottom right, you have some statements that continues to run until some conditions are met. So e.g. you start with a number, number one, and then you add one. So one plus one equals two, and then you add one again, three, and then you add one again for, you add one again, five. And the program runs, the code runs, it's always adding until there's a condition. E.g. the condition is ten. When he hits ten, then the program stops. So that's called a loop. And we're going to go through loops and repetition statements later in a subsequent module. So again, here you have a program structure that is a statement after another statement, after another statement until it prints, right? And we can have conditions to print differently. This is a business or a program requirements. Okay. So e.g. you have your manager who says, Hey, what you're gonna do is you're going to print the total. And if the total is 40, then you do this. And if the total is not 40, then you do that. Then you're going to write the code that execute basically what your manager wants you to create, to develop. So that's it for this computer basics. We saw what computers are, the evolutions of computer programs structures. And we talked about code and data and what that all is. So that is the very basic of computing. Now in the next two modules, we're going to learn about the basic programming concepts. 7. Programming Concepts Part 1: Welcome to Module two, programming concepts, part one. These most important basic elements of programming is programming concepts will be covered in two modules, programming concepts, part one and part two. In these two modules, we're gonna go through variables, datatypes, if else conditions, loops, numbers, characters, and arrays. And we're going to talk about functions. In this particular module, module number two, we're gonna learn about some of the most basic elements of programming, like variables. We need to understand what variables are and why they are so important. We're going to describe the four main data types. Then we're going to learn about the basics of data structures. Why we have data structures? We're going to talk about arrays. 8. What are variables?: So what are variables? A variable is just a container or a block in the memory of the computer for a particular type of data, such as a number or a text. And the variable name, the variable has a name. It's usually the way to reference the value that is contained in the variable. So here's a little graph for you here. So what are the characteristics of a variable? Here on the right, you have three variables. You can see that these three variables, they're containers, they contain something, right? And each of them, they have a name. The first name of the first variable is name. The name of the second variable is age, and the name of the third variable is winner. And a value that is stored in the container that is a block in memory, right, of your computer? Well, the first is a character or a string and John, right? The second one is 35, and the third one is true. And we're going to talk about these different types of data. Why do we say true, true, false. Maybe you have heard of that. A variable has a name and a variable holds a value. A variable is declared or initialized in a program. So at the beginning of our program, we say, Hey, this particular variable has a name called age. And we're going to initialize it, meaning that we're going to assign a value to this variable age. And what can assign any value we want, such as 35, e.g. the variable can be used and manipulated in the program by referencing it, by its name. We're gonna go through examples here. So here I have four variables. The first variable is called backpack. So again, think about a variable as a block in memory or a container. And in this container we assign a value. Here we assign the value 34 calculator. The name of the variable is calculator, and we assign the value five. Same for textbook. Textbook is a variable with a name textbook and we assign the value five. Then what we can do with these variables, we can add them, we can subtract them. We can do basic operations. And then we can have the results be stored in another variable. Just like that, we add price or backpack plus the calculator plus the textbook, and we assign the sun the resulting value in another variable called total. And what we do here at the end is just print the total. So we print the final price is comma total. That's the total refers to the sum of these three variables. Backpack calculator in textbook. So you can assign values to variables and perform operations with these variables. Now we see that these three variables or four variables have just numbers assigned to them. We can also assign different things like a character or a sequence of character. And these are different data types that we can assign two variables. So we're going to talk about datatypes next. 9. What are data types?: So what are data types in programming? Data type is an important concept and we need to understand what that means. Now there's four very important basic data types in computer programming. There are booleans, integers, floats, and strings. And we're gonna go through them so you can understand what they are. First of all, the numerical data types, there's two numerical data types, integer and a float. An integer is a positive or negative number without a floating point. So e.g. three, if you see here on the right, we have an integer to that is assigned to a variable called x. In the same way, we have a float 314 with floating-point precision of two assigned to the variable y. So float is a positive or a negative number with a floating-point precision. Next, let's talk about character string, data type, character strings, or the most used data types strings in computer programming or just a sequences of characters. They can hold any sequence of letters, digits, punctuations, and other valid characters, like the dollar sign, e.g. difficult character strings or names, descriptions of things or mailing addresses, or emails, e.g. on the right, you have a sequence of character. I am learning computer programming. It's a character string that is attached or that is assigned to a variable called x. And to refer to that sentence, I am learning computer programming. All we have to do is call their name x, and that would refer to this whole sentence. Now, the fourth data type, Boolean data type, Boolean data type, it is a little bit different. A variable of type Boolean can take only two values, either false or true. So let's take an example. The expression two greater than one. Is it true or is it false? Is two greater than one? Well, yes, two is greater than one. So it's true, right? So what happens is that when you hit Enter, the computer, looks at the expression, evaluates the expression and says, hey, two is greater than one. So the result is true. In the same way, the expression one greater than two will return false. Since one is not greater than two. Now, we can assign a Boolean value, true or false to a variable. So e.g. here on the right, we are assigning true to a variable called x. We can assign false also. So then x is called here a Boolean variable. Now, booleans, integers, floats, and strings are the most important basic data types in computer programming. But often you'll need to structure data items rather than just create them. So you structure them and we don't call them data types anymore. We call them data structure. And we're going to talk about the first very important data structure, the array. 10. What are arrays?: The basic data structure, the array. What is an array? Well, on era is just a collection of data items of the same datatype. That's very important, the same datatype. Here you have examples here of three arrays. The first array at the top is a sequence or a collection of integers. So the data type is integer. We have an array or collection of five data points. And the first element is 1, s element is two, the third element is three, and so forth. The second array in the middle is a sequence or a collection of single characters. So the first element of this particular area is a, the second element of this era is B, the third element is C, etc. The third array at the bottom is a sequence of strings and saying it's a collection of five string. The first element is F H G. The second element is I, j k l. The third element, M N 0, P, Q, et cetera. So again, these areas are collection of data items. Here. Five, we can have ten, we can have 100 of the same data types. And that's very important. Now let's look at arrays in detail. An era is comprised of a stored value, e.g. 1020304050 and a position of this value. So ten e.g. is the first element of the error by the position of the value is called an index. Value, as I said before, can be an integer, a float, a Boolean, or a character value in each values and element of the array. It can be accessed by code. The first element, the second element is 20. So let's see how we can access an element or a particular element of an array by code, each element of this array can be accessed with brackets. Let's say that this array is a variable and it's called ARR and you can call it whatever you want. Let's say it's the name of the array. Then ARR brackets zero is the first element of that Eric. For a lot of programming languages like Python, e.g. we start at zero. So that's why the first index is zero. Okay? So ARR brackets, zero is the first element of this era and the value is ten. Arr of one is 20, ARR of two is three, and so forth. So it's easy to get confused sometimes because you say, Hey, I want the second element of this array. You need to remember that we start at zero. So actually the second element is index number one because we start at zero. So it's something to be mindful of when you want to access a particular element of an array. So why areas? Areas help to maintain large data under a single variable name, this avoids the confusion of using multiple variables. Let's say you have a, an array of 50 data points, right, of 50 numbers? Well, instead of having 50 different variables, well, you have just one variable collected together and forming an array. Arrays can be used for sorting data elements. So it's very easy to sort different data elements in an array. And arrays can be used for better performance in memory and cache and CPU. Actually, you use areas all the time in programming. Whenever you have to create or keep track of a list of items such as e-mail addresses or mailing addresses names, you will use an array. Now, there's two types of errors. We talked about. One-dimensional array. One-dimensional array has one row and two columns. So e.g. on the right at the top here, we have a one-dimensional array with a store values as the first element 10, s 23rd element 30, okay, That's a one-dimensional array. You have two-dimensional areas with at least two rows and two columns. So now the question is, well, how do you access a particular element in a two dimensional array? So remember, let's say you want to access the first element of the one-dimensional array. You do ARR zero, they are brackets, zero, remember, and you get ten. Well, in a two-dimensional array, the first element is ARR. Brackets zero to represent the first row, and then another brackets zero to represent the first column. So the first number in the bracket, in the first bracket is about the rows, and the number in the second bracket is about the columns, right? So let's say I want to access the number five. If I want to access a number five, I'm gonna do ARR. It's row one, right? So ARR bracket one, then the second bracket is also one because it's the second column. The second column has an index of one. So ARR 11 is going to return five in a two-dimensional array. So that's it for module two, we talked about some important basic elements of programming. We talked about variables, what they are, why they are important. And then we describe the four main data types. Remember, numerical data types you have to, you have integer int float, and then you have the Boolean data type with false and true. And then you have the string data type or text data type. Then we talked about data structure, that it is a collection of data items of the same datatype. And we talked about arrays are a very basic but very important way to structure data. In the next module, we're gonna talk about more important concepts about programming. We're going to talk about the if then statements, and we're going to talk about loops. And we'll also going to talk about functions. 11. Programming Concepts Part 2: Welcome to Module number three, programming concepts part two. In module number three, we're going to learn about more important basic elements of programming. We're going to learn about algorithms, what they are, and what they are important. Then we're going to learn about conditionals with if, then statements. And we're going to talk about loops. Then we're going to learn about the basics of functional programming by understanding what functions are and why they are so important in programming. 12. What are algorithms?: So what our algorithms, programming algorithm is like a recipe that describes the exact steps needed for a computer to solve a particular problem. What is a good algorithm? Well, an algorithm has defined inputs and outputs. You can see on the right here you have the black box, I would say algorithm. Then coming from the left, you have the input. And then the different steps take the different inputs that can be one or several, and does some addition, some calculations, and then return an output. For an algorithm. Clarity is key, and each instruction should be simple, logical, and clearly define. An algorithm shouldn't include computer code. We code after we have created an algorithm. A good algorithm should run efficiently with as few steps as possible. A good algorithm also is understandable by other programmers, let's say programming your team, or when a programmer later on takes over your work. Like I said, an algorithm is a step-by-step recipe to solve a problem. It has inputs that a program needs to run the algorithm and gives an output. It's either a printout, usually return value, and also the algorithm needs to take into account if there's errors. So what happens if no results can be computed to an error in the input? So the algorithm needs to account for that. So here's an example of an algorithm that ads and display the sum of two numbers. Step one, we start the algorithm. Step two, we declare three variables, num one, num two, and sum. And then we read the values num1 and num2. Num1 and num2 are variables. We read the values inside those variables. Then step four, we perform calculations on the M1 and M2. We add them and we assign the result to another variable called sum. Then in step five, we display some and then we stop. So that is an example of an algorithm. Of course, algorithms can be more complicated and we're going to see how when we add loops and when we add conditionals, it can create a more complex algorithm. Now, when we create algorithm, there's two important concepts that I just mentioned. Loops. First, which gives us the ability to iterate or repeat a certain amount of instructions. And also if then statements, who gives us the ability to decide what to do when a particular condition is met. 13. What are if-then statements?: So conditionals, if then statements. So here we have the example of the backpack calculator and textbook variables and the total variables which performs calculations on those variables. And we can take any variable and create conditions to get different outputs. Here at the final output is a printout of what the total prices. But we can change that with if then statement. So e.g. here, we calculate the total backpacking calculator in textbook. And we say, hey, if the total is greater than 35, then you print, it's too expensive. So we can change the output by adding conditions. If you see here a total of greater than 35. Is it true or is it false? Well, the total is 40. 40 is greater than 35. So if it's greater than 35, then we print it's too expensive. So that line will print it's too expensive. Here's the format of the simplest conditional. If the condition like Total greater than 35, That's the condition. Then we have a statement list. It could be just one statement, just like print the total. It can be a list of 510 statements, e.g. then there's a basic format that give a more complete overview of the if then statement is the else statement. If the condition is met, then we do statement list one. But if it's not, we do statement list two. So here on the right in the flowchart, we can see the condition at the top. And then if the answer to the condition is true or yes, we do one statement. And if it's no or false, you another statement. Here is an example again with our total value of the backpack, calculator and textbook. If the total is greater than 35, then you print, it's too expensive. Else, if it's not greater than 35, we print, we can buy it. So here, let's just say that we have the total is 25. So if total greater than 35 is 25, greater than 35, know 25 greater than 35? The answer is not true, the answer is false. If it's false, we don't print. So expensive. We go to the else and we print. We can buy it. So we can replace the else by if not, if it's not, if it's not greater than 35, if the total is greater than 35, then you print it too expensive. But if it's not, right, you can replace the else, but if it's not, we print, we can buy it. Now here you have an example of a more complex format where you can see that the if else statements can be nested. So it means that we can have if then else statements within an if then else statement. So this particular algorithm finds the largest number among three numbers. We declare three variables, a, B, C. We read the variables. When we say read the variables and we read the stored value within the variable. And then we have the first if-then statement. The condition for the first one, step four is a greater than b. If a is greater than b, then we go on and we'll say, hey, another if then statement. If a is greater than c. If a is greater than c, we display a as the largest numbering. If not, we display C has the largest number, et cetera, et cetera, et cetera. So we can see in that example that we can nest if then else statement within other if then else statements to create more complex algorithms. So if then statements are very important concepts for algorithms. And next we're going to see what loops are. 14. What are loops?: So loops for and while loops are loops. While loop is a set of instructions that is repeated until a certain condition is met. E.g. the left, we print, it's too expensive ten times. Well, this is not efficient. So instead, what we're doing is that we're going to use a loop that is more efficient. You're going to see in two or three lines, we can print, it's too expensive ten times. In a loop, this statement needs to be written only once, and the loop will be executed in that particular example ten times. Now there's two kinds of loops. There's the for loop and there's the while loop. A for-loop is that repetition control structure that is executed only a specific number of times. Whereas a while loop is used when we do not know the exact number of iteration or repetition. The loop execution is terminated when a certain condition is met or is reached. Here's an example of the for loop. You can see here on the left, the non efficient code. Instead we use a for-loop, and it's more efficient in three lines, we can do the exact same thing. So here's how it goes. We declare first a variable. Here I call the variable I, and we declare it. We assign the value one to that variable, and then we print, it's too expensive. Then we add or we increment i of one. So we add one to i. So now i equals two and I equals two is less than ten, then we print is too expensive. Then we add one again too. So i now is equals to three, it's less than ten. So we print is too expensive, etc, etc, etc. We add one, we add one, we add one and we'll print it's too expensive until it reaches ten. Then we put it into expensive. Then we add one. It's 11.11 is greater than ten. So we stop the end of the algorithm. So you can see that it is a lot more efficient. We can read the code more easily when we understand for-loops. And like I said, the components of a for loop, the variable I is an initialization expression. So we initialize this loop variable to some value. It can be anything you want, and the variable name can be anything we want. The second component of a for-loop is a test expression. So what we do is after we initialized the variable we test the condition is I less than ten? If the condition evaluates to true, then we execute the body of the loop. So we printed too expensive. Then we go to what we call the update expression, which is the I equals I plus one. We increment, or we can decrement the loop variable by some value. Here it's one, it can be a different value. So we have the initialization expression, the test expression, and the update expression. Now the wire loop here on the left, as usually we have the printout of it's too expensive ten times, it's not efficient. So we're going to use, for that example, a while loop. So while loop is a little bit different. Usually you use a while loop when you don't know the exact number of times you want to repeat the instruction. But here for an example, we're going to take the same printout. It's too expensive. So first you initialize the variable I. And again you can call it whatever you want. We initialize it to one, that's the initialization expression. Then we say while I is less than 11. So that's the test condition. While we do the printout of it's too expensive. And then we go to the update expression I equals I plus one. Now it's two. So two is less than 11, so we print again. And then when we arrived to 1010 is less than 11, so we print again. And then we add one is 11, 11 is not greater than 11. So we end the algorithm here. You can see here a little bit better, the initialization expression. Here I called it n, n equals one. You have the test expression and less than one. And then you have the update expression, which is the incrementation of the loop variable by any value you want. Here. It's one. When to use what I talked to a little bit about it. But you use a for-loop when you know the number of times the loop body needs to be executed. And you use the while loop when the exact number of times is not known, but the loop exit condition is known. Because that's the big difference here. When you know the number of times the loop needs to be executed. It's a for loop or a while loop. Now to help you with all these loops and if statements and a more complex algorithms, you can use flowcharts and we can talk about flowcharts now. 15. What are flowcharts?: So what are flowcharts? Well, a flowchart is a graphical representation of an algorithm. Flowcharts use symbols that are connected to indicate the flow of information. So you create an algorithm and you use flowcharts to help you create and understand where the flow of information is. Then once you do that and you are sure that your algorithm is clear enough, then you can code. So here you can see on the right the different conventions of a flowchart. You have an oval symbol that indicates the stop and the start of a program. We call it terminal. We have a parallelogram which indicates the input and output of the algorithm. We have a box that represents arithmetic instructions. So calculations like additions, et cetera. Then we have the diamond symbol which will present a decision point. Then we have a round symbol that is used when algorithms are complex and a flowchart spreads over more than one page, so we use a round symbol for that. Then to connect all of it, you have lines that indicate the sequence of execution. Here is an example of a flowchart. At the start of the algorithm, we initialize num one, num two. Then we create a condition with a diamond num one greater than num two. Then with a line we connect it to. If it's true, we display one. If it's false, we display too, and then we end the algorithm. Now, like I said, when you are clear about this algorithm, when you have used your flowchart and it's clear to you, then you can start coding and you can start implementing the flowchart and create a function. So that's our next section here. 16. What are functions?: So functions, what are functions? Just like algorithms? Functions are a set of instructions that a computer programmer writes to achieve a specific outcome. A function is simply an implementation of an algorithm. Like I said, you do the algorithm first, use your flowchart to create the algorithm. And once you clear about what you want, the different steps that you can start coding and write a function. So why use a function first? Organization. A function is like a mini program, like a mini recipe that we can write separately from the main program. And we can reuse the same function as many times as we want in the main program. It's called reusability. Now, it's useful to create functions because they're easy to test. We have less code to test. It's much easier to find bugs or even create bugs. Then when you want to use a function, you only need to know its name, the input, and the output. You don't need to know how it works. So let's say you're cutting a program. And in that program, you want to create a PowerPoint presentation out of a Word document or vice versa, e.g. you don't need to write all the different steps. Probably someone has written a function for you that you can use in your program. And the function can be called PowerPoint to word. That's the name of the function. You don't need to know what's inside. You can just use the function. And that's it. It's called abstraction. How functions work? Well, like on the right here, you have a phone and let's say your phone is your function. Well, the function has a name, so we can call the function later in the program. Just like a variable has a name, well, a function has a name. And then we have inputs that we call arguments that we pass to the function to perform actions on those variables, Let's say calculations. And then function usually returns a value once all the calculations are done on those variables. So we have a name, we have some inputs, and we have some output. So here's an example of a function here. Again, I took a screenshot of my Excel spreadsheet and I highlighted the be too bold a cell or a range of cell. Here I wrote functions are cool in the A1, B1, C1 cell. And I selected those three cells. When I click on be behind the scenes, there is a function that is called, and that particular function is called convert selected cells to bold. And as you see inside there's some code, some variables that are set. And there's the for loop. You can see for each cell in the range, in here I have a range of three cells. So for each cell, we're going to say bold equals true. And then when it's done, we're going to end the function. So that's just an example of a function here. And of course you don't need to know how to write this, but I just wanted you to know that every time you use a button on Excel or Word or any software behind the scenes, you have a function that is called, that performs a specific task. That's the end of module three. What we have covered is algorithms, what they are, and how to create them. And then the two most important concepts when you create an algorithm, loops and if statements. We talked about the different kinds of loops for loops and while loops and when to use them. And then we talked about flowcharts and how they can help you organize your thoughts before you write the algorithm. Then once you write the algorithm with a flowchart and it's clear, then you can create a function. And we talked about functions and why they're important and how they work. So in the next module, module number four, we will talk about data storage and files. 17. What is data storage?: Welcome to Module for data storage and file. At the end of module four, you'll be able to understand computer data storage. You'll be able to understand also file formats, what file formats, text file formats, the different kinds of texts file formats, XML formats. Also you'll be able to describe the basics of databases and other file formats. So now let's talk about data storage. What is data storage? Data storage means that different files and documents in your computer then recorded and saved in a storage system to be used in a later date. So a computer storage system refers to a magnetic, optical, or mechanical device that preserves or store digital information, which is data. We're gonna go through some examples. So here are some examples of data storage. You know, the floppy disk or a USB device, or a CD ROM, a DVD ROM or hard disks. They're all examples of that are storage devices for computers. So why computer storage? Well, I wanted here to describe the differences between a brain and a computer. And if you know the brain, there's two different kinds of memory. That's short-term memory and long-term memory. Well, for the computer, we have two different kinds of systems that are similar to short-term and long-term memory. We have a system called RAM, That's short-term memory. And we have a system like a hard disk that you can find in your laptop or in your, your desktop, right? And in this hard disk, you have all kinds of files that are recorded. So they can be pulled up later to be manipulated. So why is computer storage is important? Well, first, there's more and more data that is generated every single year. The computers are more and more advanced. And as they are more advanced and new devices are created like the iWatch, e.g. or the iPads. They are more and more and more data that is to be collected, to be analyzed. And artificial intelligence needs lots of data to find insights to solve problems. We have right now these big industry, I would say, as far as computers and data call artificial intelligence. And like self-driving cars, e.g. and for self-driving cars to be able to work properly, the elites needs lots and lots of data to find insights to solve problems. So again, think about all the data from smartwatches, digital watches, smartphones, virtual assistants. They compute lots of data all the time. And there's gonna be more and more data every year as we have more and more devices. So there are storage systems need to evolve to store more data and also to be more secure. So if you have a small sample of data, like a file document or a five or ten or 30 different documents. You can put it on a USB drive. If you have lots of different documents and videos, well, you would may need a hard disk right in the middle, or if you need if you have tons of videos and audios and 0 file documents From, let's say you have a company and you house all the different videos and audios and files from all these different companies. While you need lots of computer, you need lots of data storage, like the one on the right, like the picture on the right. So you need bigger and bigger storage devices to store all the data that is generated by all the computer devices in the world. So how does data storage work? Well, digital information or data is written to target storage device through software program. So e.g. when you hit Save the Save button on the Microsoft Word and Microsoft Excel, well, what happens is that it's a software command, right? That writes the document, a Word document that you just wrote, writes it on a hard disk. Now, the smallest unit of measure in a computer memory is a bit, an eight bit, make up, one byte. You've probably heard the terms megabytes, gigabytes, terabytes, even petabytes, right? There are very large units indicating large storage capabilities. And a program, when it's well-written, can access or fetch the data in the storage device, like it can fetch the data in a hard disk or in a computer on the Cloud to do some computation. So practically, you have different kinds of information. E.g. you have text files, you have audio files, video files, you have digital music. Well, they are all different types of files. And because they have different types of files that are stored in a different kind of format. And we're going to talk about format later, the basic format to know right now our text files, Excel files and CSV files. So we've talked about data storage. Why is it important? And right now, in the next section, we're going to talk about text files and CSV files. 18. What are text files?: So let's talk now about text files. What our text file. A text file, sometimes called a flat file, is a computer file that is structured as a sequence of lines in an electronic document. So here's the structure of a text file. You have d x d t as V CSV. And I'm going to explain what that means. The simplest format that allows only just plain texts without bold or italics is a plain text file. And text files in general, can be viewed and edited in simple text editors, such as notepad in Windows or TextEdit on a Mac, text files can be read or manipulate it very easily by a computer program. There are two main kinds of text files, the plain text file and the delimited text file. Generally comma or tab delimited. First, the plain text file. So the format of a plain text file is noted by the filename extension dot TXT, e.g. you have seen on your computer a file called here, It's called my file. You can call it anything you want, but the expansion or the file format is a dot TXT. Now, as I said, it's the simplest format that allows only plain text content with very little formatting. There's no bold or italics. You see on the right side here. It's a screenshot of my notepad. Just wrote several sentences. So it's just plain text with no formatting and all. Now, plain-text files can be viewed and edited in text editors, like I said, notepad in Windows, TextEdit in a Mac can be read very easily by any computer program. Now, a kind of a separate value txt file, delimited text file is comma separated values text file or CSV text file. Each line of the file is a data record. Each record consists of one or more fields separated by commas. So you see here on the right names dot CSV and you see F name, L name. And then underneath you have Nancy. Nancy is a firstName, comma devo and Aaron firstName comma Bora. Bora is the last name. Tony Rafa, et cetera, et cetera. And you can think of them as columns in an Excel spreadsheet. So the first column is F name with a list of firstName Nancy, Erin, Tony, and the second column is L name with devo Bora and refer as the last names. And again, comma separated value files or CSV files can be viewed and edited in simple text editors or also with Microsoft Excel in Windows, e.g. that most delimited text files are separated by commas. Some are separated by a tab. So a tab separated value file is a delimited text file that uses a tab, two separate values. So just like with the CSV file, each line of the file is a data record, but each record consists of one or more fields separated by tabs and not commas. And the format is noted by the filename extension dot t as v as opposed to CSV comma separated value. Here it's tab separated value, e.g. here on the right, names dot TSV. And as does CSV or the plain text file, the tab separated value file can be viewed and edit it in simple text editor or with Microsoft Excel in Windows, e.g. in this section, we've talked about text files, two types, really, the plain text file, which can be edited with Notepad on Windows, e.g. with no bold or italics or no formatting. And you have the delimited text file with usually it's comma delimited or comma separated value, and sometimes you have the tab separated value. Next, we're gonna talk about the Excel file. 19. What are excel files?: So now a different type of file format, the Excel file. What is an Excel file? Excel is a very popular spreadsheet program. An Excel file typically contains data like number is formula texts, and even drawing shapes and all kinds of visualizations to visualize data. Microsoft Excel is a spreadsheet software program that allows manipulation, visualization, and analysis of data. You see on the right, you have a spreadsheet here with a date, income, expense, profit, and it's easy to find the sum or the average. There's different formulas that you can apply to different cells in the spreadsheet to be able to analyse the data that you're looking at. The format of an Excel file is noted by the filename extension dot XLS, or more recently that Excel as x two, e.g. my file dot XLSX. Excel files can be viewed and edited in a spreadsheet editor such as Excel in Windows or numbers on a Mac. An Excel files, just like plain files, can be easily read and manipulated by a computer program. Now let's talk a little bit about the structure of an Excel file or an Excel workbook. An Excel file is generally called a workbook. And a workbook is comprised of one or more worksheets or sheets like it you can see on the right there is an Excel workbook with three sheets, sheet, one sheet to sheet three. So an Excel file is comprised of one or more worksheets. And each worksheet or sheet, we can say sheet contains the data in the Excel cells, just like on the left here, you can see the column date, and in each cell underneath you have a date. You can see the column called income. In each cell underneath, income has a different income amount. And Excel has expanded over the years to include powerful visualization and tools to facilitate data analysis. So what is Excel used for? Well, Excel is used to enter, organize, and manage data. It is used across all business functions. And at companies from large to small. It's used for data analysis, for customer relationship management, accounting, business analysis, financial analysis, inventory analysis, sales office administration projects, accounts, contract management unit. It's used also for reporting. It's a great tool for reporting. There's advanced tables that you can create called Pivot Tables, and there are also advanced graphing capabilities. Within Excel. You have also a programming language called VBA, or Visual Basic Applications to do spreadsheet manipulation that is otherwise impossible with normal spreadsheet techniques. And you use this typically when you have very complex manipulation. So in this section we talked about Excel. What's an Excel file or structure of an Excel file? What we're gonna do right now we're gonna go over some other file formats. 20. What are file formats?: So now let's talk about other file formats. So a file format is the structure of a file that tells our program and how to display its contents. So we talked about text files, CSV files, Excel files, but there are lots of other file formats. You can see here on the right, the text, us and a CSV, but you have dark MP3, JPEG, PNG, HTML, e.g. the dots dog is a Microsoft Word document. And when you create a Microsoft Word document and you save it, it is saved as a special in a special format called dot doc. And it's best viewed in Microsoft Word, and sometimes you can view it in other programs. But since it's not Microsoft Word specifically, maybe if you open it with a different program, you won't be able to access all the different features. And there are different file formats for video files like MP4 and image files like a PNG or JPEG, like you see on the right, there are music files, midi file, it's called wet files, HTML files, et cetera, et cetera. There's a lot of different formats. So here are again, some fight types, text, image, sound, video, and the extension of the file. So we talked about the top, the dot TXT is a plain text file. You have also the dot pdf, the dot, dot, dot, dot x dot RTF. These are different formats from different texts programs or text editors. For image you have different formats. Do dot JPEG, PNG, TIF, PSD is for Photoshop, for sound again, you have different formats like MP3 or WAV format and four videos. You have also different kinds of file extensions like mp4, MOV or mpeg, et cetera. So here are some common file format that you're likely to encounter while working on your computer. So we've talked about a lot of file formats and files and how they are stored in a computer. Now that we've talked about all sorts of file formats, we're going to talk about something that's very important in the computer space. It's called a database. 21. What are databases?: So now let's talk about databases. What is a database? A database is an organized collection of data design so it can be accessed, easily, managed, updated, typically by a computer program. So sometimes some people say Excel is like a database. Yes and no. There's differences between Excel and the database. Yes, you can store data in Excel and you can access data in Excel. The same. You can store data in a database and retrieve data in a database. But there's three major differences. How the data is stored and manipulated is different spreadsheets, e.g. they're great for a single user who wants to do simple manipulation. But when you have complex storage or complex manipulation, you will need to use databases. Then who and what access the data is very different. Again, for spreadsheets, usually it's a single user or maybe a couple users. But for database as well, lots of users can access the database at the same time, and usually they access it through a computer program. Another difference is how much data can be stored. Databases are designed to hold larger collection of information compared to Excel. E.g. an Excel spreadsheet has rows and I think there's a limit in the number of rows. It's about 1 million rows. Now in a database, you can easily store millions and millions of rows. Now, databases appeared at the beginning of computers, right? Because we need it to store some data. So of course, everything at the very beginning of the computers, everything was done in memory, but we figured out that it is now there's too much data to do any memory, so we need a system to store the data. And when we need that data to be manipulated, we need to retrieve that data, manipulate it in memory. That was the idea. So in the 60s, we had one kind of a database called navigational databases and hierarchical databases. So relational databases is the database where you access data by defining the path to find the desired data. So these types of databases, there were simple, but there were very inflexible. In the eighties, we created relational databases that became very popular. And relational databases are based on the relational model. It's an intuitive, straightforward, and way of representing the data in Table. And I'm going to explain that in the next slide. In the beginning of 2000s, more recently, we had what is called a no SQL databases. That type of databases came about as a response to the growth of the Internet and the need for faster speed and processing of unstructured data. Now, today we have what is called cloud databases. Maybe you have heard of Amazon databases or Google Cloud databases or Microsoft Azure databases. They are breaking new ground when it comes to how data is collected, stored, managed, and utilized. So here's an example of a relational database. You see on the left, a relational database, and you see the lines here represent a relationship from one card, I would say to another card, right? And all these, they are interconnected. Well, practically a card is a table, a table in the database that is connected to another table in the database. So practically you can see here on the right you have a table called Patients and there's a first column on the table called patient ID. So patient ID, one with the patient name on the second column, John Smith, patient id2 with his name John Doe and the demographic, White, African-American, etcetera, etcetera. And then you have a second table called medication and the medication ID. So e.g. 111 is a medication ID of a specific medication name that is attached to a certain patient. So let's say the mitigation ID 111. Well, patient ID number two is using that medication. So we're going to link both patients and medication. So that's why we say these two are related or there's a relationship between patients and medication. And usually we use an id, we call it a key. Usually the most important thing is that these two tables, they are linked together through a key. In a relational database like you see on the right, users access the data by stating what they want and they use a language called sequel or SQL. And SQL stands for Structured Query Language. It's just a language are used to communicate with the database. Sql statements are used to perform tasks such as updating a table or retrieving data from a database. Let's say we want to find all the patients that are using a particular medication. What we're gonna do, we're going to use sequel and tell the database, Hey, I want to retrieve all the patients that are using the medication ID 111 e.g. so we're going to use for that and this combination of database in SQL to query the data forms a relational database management system. And most important ones that you might have heard is Oracle, MySQL, microsoft SQL Server, or Microsoft Access, e.g. so here is an example of a real-world use of a database. So it's a membership site that is connected to a database to retrieve information about members or customers. So think about e.g. a. Website such as Amazon. They have millions and millions of users. And you go on amazon.com or amazon.ca wherever you are in the world and you type in your login and your password. And then once you press Enter, you go in your membership site and you have on the right side, are usually on the top right. You have your name. Well, for Amazon to know your name from your login, they need to look at the database that is stored somewhere on Amazon servers so that when you type in your login and your password, they go fetch the data and they can retrieve your name and they can display your name on the front end, which is the computer or the laptop you are using. In module number four, we have covered what that authorities and how it works. We have covered text files included plane and comma separated value files. We talked about Excel files and how Excel files are structured. And we've talked also about file formats for sound, for music, and for videos. We talked about lastly, database is what database are, why they are important relational databases which are used vastly now everywhere. And in the next module, what we're going to talk about is operating systems. 22. What are operating systems? (Part 1): Welcome to module number five, operating systems. In this module, module number five, we're going to learn about operating systems and how they work, why there are so important. In this module, you'll be able to describe the different kinds of operating systems and also the basics of command-line interface. So what is an operating system? An operating system or OS, is a software piece of software that manages computer hardware, computer resources, and other application software and operating system is the most important software that runs a computer in managers the computer's memory and processes. The software and hardware. You can see here on the right in the middle, in blue we have operating system. The operating system is constantly communicating between the hardware, the memory, the CPU, the devices on your computer, and also communicating with the software. Let's say you have a Microsoft Word or Microsoft Excel open while the operating system is trying to manage all this. So it allows you to communicate with the computer without knowing the computer's language. And really without an operating system, a computer is pretty useless. The operating system's job is to coordinate all the computer resources and makes sure that everything works properly. So imagine you have Microsoft Excel, Adobe Photoshop, a movie you pause in the background, or a game you're playing, and a PowerPoint you're making for your next meeting tomorrow. Everything, all of this is open on your computer. Well, the operating system or OS is making sure that the CPU, the memory, and all those application that are open, they work the way they're supposed to without bugging down the system. Now, inside an operating system, remember, an operating system is a piece of software inside the computer that communicates with the hardware. You can see at the bottom here. And the other software like Microsoft Office or Adobe Photoshop, the user programs, what the programs that you use every day. In the middle, you have the operating system. And the operating system is comprised of several things. Inside the operating system, you have what is called a kernel. The kernel manages or communicates with all the computer resources like the CPU, the memory, and the file system. So that's the job of the kernel. And the kernel is within an operating system. The second thing is user interface. The second part of an operating system is the user interface. And the user interface allow users like me, like you, to interact with the computer with a GUI. We call that a GUI graphical user interface, such as drag and drop to transfer files. Or when you use the trash bin for deleted files on your computer, you use your mouse, that is called the GUI. So the user interface part of the OS creates an intuitive environments so users can interact with the computer with minimal computer knowledge. So again, inside an operating system, you have two main parts, the kernel and the user interface. Now, what do they do like from the outside? Well, an operating system comes with a computer. When you buy it, you don't have to install an operating system from the outside, only the GUI or the graphical user interface, as you see on the right, only that is visible. But the kernel part of the OS is hidden, but runs all the time to make sure that all the resources are allocated appropriately to not bog down the system and to make sure the computer runs smoothly. Must operating system are designed to be easy to use, but they have different look and feel. The three most common operating systems for personal computers or Microsoft, Windows, MacOS, and Linux. So in this section, talked a lot about operating systems and why they're so important. What's inside of an operating system? Now what we're gonna do, we're gonna talk about Microsoft Windows, Mac OS, and Linux, the three most common operating systems for personal computers. 23. What are operating systems? (Part 2): So Windows, Mac OS, and Linux. Now as you see on the right, Microsoft Windows is the most used operating system in the world. It powers over 1 billion PCs. Even though it's the most used, a lot of people use Apple, a Mac, or use another operating system called Linux. And each operating system has its pros and cons, even though macOS and Linux are not used nearly as much as I said, some people prefer actually a Mac or Linux or Windows. And we're going to see why in the next slides. The evolution of Windows OS, the original windows one, was released in November 85 and was Microsoft's first true attempt as a Graphical User Interface. Windows 95 arrived, then in 95, of course, and with it brought the first ever start button and the start menu. And also on Windows 95, you had the beginning, what is called Internet Explorer. Then Windows 98 introduced the back-and-forth navigation buttons and the address bar in Windows Explorer. Windows XP was released in October 2001, and it's arguably one of the best Windows versions fast-forward. In 2007, Microsoft vista updated the look and feel of Windows Vista was a game changer for gamers with the introduction of some technology called Direct X, then in 2009, Windows seven was faster, more stable than Vista and easier to use than you had Windows eight. And then finally, right now, Windows ten released in 2015. Now the pros and cons of windows, as I said, each operating system as advantages and disadvantages. Since most computers in the world use Windows, you won't have any trouble finding hardware and drivers and support to help you in case you have to troubleshoot. And it is the most widely supported operating system for gains. So if you're into gaming, well then you need to choose Windows. Now the con, Microsoft Windows is prone and the most prone operating system to viruses, and it's known for its instability and poor security. Now, the second operating system, Mac OS, or the beginning in 1984, there was a system one or MCA OS1. It was a revolutionary operating system because it was the first popular consumer OS to use a graphical user interface just before Windows. Later versions offered enhancement. Untill system 5.6 appeared where Apple began charging for operating system upgrades. Then in 1991, you had MacOS seven, which was the most long-lived operating system for six years before a new version was released in 97. Shortly after Steve Jobs returned to Apple. In 99, Apple released the macOS nine as the last classic Mac operating system. And then us ten series or MacOS X series appear the so-called cat versions of the operating systems. So here now whether present the Mac pass version tend to Mac OS 11, the pros and cons of Mac OS. Well, if you're into content creation like audio or video, that's its strength. So that's what you should use. Macos is more secure and more powerful than Windows because it has a Linux base and we're going to talk about Linux in the next slides. And there's almost no spyware or virus applications on Mac. You have almost complete access to an extensive library of free open source applications. So that's great. Some disadvantages. It's more expensive upfront than Windows, e.g. and obviously, more expensive than Linux because Linux is free. There's less support in hardware choices than Windows, and it's a little more complex also than Windows. Now, the Linux operating system, well, Linux has its roots in Unix in the seventies. There was a project that share a goal of developing a robust multi-user operating system. Now several years later, another developer was at work on a free alternative to Unix, the undergraduate Linux Torvalds, decided to create a free alternative and developed a free alternative to unix. And he called Linux. Linux is typically packaged in a distribution. He created the Linux kernel, and this kernel is packaged around the kernel. You have different packages that are free and all this form a Linux distribution. In the mid-1990s, nations such as nasopharyngeal started to replace their expensive machines with computer running Linux because it's free. So today, these distributions form the basis of a multi-billion-dollar industry in the technological backbone, really of the Internet, mobile cloud. And we're going to talk about mobile and cloud in later modules here. Now, the pros and cons of Linux, there's a lot of pros actually, limits runs on just about any hardware and Linux actually has the broadest drivers support of any system. There's more options than any other system. It's way more secure than Windows. Os, Mac OS. Linux is free. And because it's free, you have full access, a free, open source library of software. Now, there's disadvantages to these large number of options. It can be daunting to a non-technical user. Also, there's not a lot of support for proprietary applications and there's not a lot of vendors support. Summary of this section. The most important things, Windows is the most used operating system in the world. You choose Windows if you are into gaming, you choose macOS, if you're in 2D image or video editing reproduction, you choose Linux if you're into cybersecurity and if you're not sure, just choose Windows because most people have it and you can find plenty of people to help you if you have problems. Now we've talked a lot about operating systems on computers. What we're gonna do is we're going to talk next about mobile operating systems. 24. What is a mobileOS?: So mobile operating systems, what is a mobile OS or mobile OS is an operating system especially designed for mobile phones, tablets, smartwatches, and other mobile devices. Here you can see an OS specifically designed for an iPad or for a phone like an iPhone or an Android. There are two main mobile OS's. First they enjoyed, that is sponsored by Google and then the iOS developed by Apple. Android is a mobile operating system based on a modified version of the Linux kernel and other open source software, Android, it's free and also open-source. Now Android is mostly used, but then comes iOS that is installing used by a lot of phones and tablets like iPad and iWatch his, etc. So in 2018 to give you some numbers, more than 85% of mobile phones were running Android as their operating system, and less than 15% running and Apple OS, IOS. So we've talked a lot about OS's for laptop and OSS for computers in general and mobile OSs. Now what we're going to talk about is the command line interface. 25. What is command line interface or CLI?: So the command line interface, the Command Line Interface, or CLI, is a program on your computer that allows you to create and delete files, to run programs and navigate through files and folders. While the command line interface program comes with the operating system is an alternative way of running programs in that get through files and folders. So basically you can use the GUI, the graphical user interface, like you'd see at the bottom. Or you can use the CLI to interact with the operating system. The difference is you just click on different icons to move towards folder. Create a folder with the graphical user interface, with the CLI, you'll have to enter commands by hand. So sometimes the commands are hard to remember. Now, who used the gooey? Who uses? Well, programmers or experienced users like to use the command line interface instead of the gooey, like e.g. if you are in IT and accompany while managing thousands of computer systems or users will be very inefficient with a graphical user interface. So a lot of IT people use the command line interface. The command line interface you can create or change computer configuration for a large group, thousands of computers at once. What's computer users use? The visual interface, the gooey, it's easier to use but less flexible if you need complex manipulation or if you need to automate things. What are the pros of the command line interface? What do you have a granular control of the operating system. You can manage a large number of users and computers with a command line interface, you can store scripts to automate regular tasks in your company. And the command line interface helps a lot with troubleshooting, such as network connection issues, e.g. now what are some disadvantages of the command line interface? Well, the graphical user interface is a lot more user-friendly. The command line interface, there's a steep learning curve to memorize all the commands and to memorize all this syntax. There's different syntax on top of that. In different OS's. Windows has e.g. what is called PowerShell. And Linux has another shell called Bash, and they both have different commands, and they both have different syntax, so it's harder to memorize. Here's an example here of commands. You can see here to list a directory, e.g. with Linux, you use the command ls. In Windows, you use a command to change directory. You're lucky it's the same, right? To move up one level, y is the same. Copy you move a file. Well, the commands are different if you're in Linux or in Windows. There's a lot of commands, and some commands are the same, some currents are different tastes, sometimes it's confusing. So in this section we talked about the command line interface to pros and cons of the command-line interface. So in module five, we have covered what operating systems are, the basic structure of operating systems. We talked about the three main operating systems, their pros and cons. We've talked about mobile operating systems with Android and iOS, and we also talked about the command line interface. In the next module, we will talk about the world of web. 26. What is the World Wide Web?: Welcome to Module six, the world of whether this module, you're going to learn what the World Wide Web is. Understand the differences between the internet and the web. Understand how websites are structures within the web. And understand also describe the basics of what we call the Cloud. So the World Wide Web. What is the World Wide Web or www? The World Wide Web is commonly known as the web. It's a global collection of documents and other resources like audios, videos, that you can access when you're connected to the Internet. What is the difference between the internet and the web? Where you can see on the right here, you start with a computer. Then when you have several computers, you can attach them together or link them together with a cable and it forms a network. Now, when all those computers are scattered around the globe and they're all linked together with cables, usually, right? Well, it forms the Internet. So the Internet is a network of connected computers. The computers can communicate with each other through a language, a special language, and this language is called TCPIP. On top of the Internet, you have the web. In. This web is the collection of billions of pages that you can access because all these computers are connected with each other. So you can access the information you want through your computer, through a software on your computer called a web browser, such as Microsoft Edge or Google Chrome. So the terms Internet and web are often used without distinctions, but technically they're not the same thing. So thanks to Ethernet, which is, like I said, the interconnection of computers around the world. You can access some information on your laptop, just like the webpage here on the right, with your web browser, even if the information is located somewhere or the other side of the wall. The concept of the Web was invented in 1989. Web browsers were then created and the wind began to enter everyday use in everyday life in about 1993, 1994. So now we've talked about the web and the difference between the internet and the web. And within the web, you have pages and websites and web pages. And that's what we're going to talk right now about web pages and websites. 27. What are websites?: So what pages and websites? When a website is just a collection of web pages that are published on a web server. So e.g. nasa, Wikipedia, Wikimedia Commons, the US Antarctic program website. They're just a collection of information displayed on your computer, on your web browser. Now, each website is composed of one or several webpages and other related content like audios and videos. Each webpage and content on a website is linked together so we can access the content if there's no link to a particular page or a particular resource and we can't access it. We can access a website with a web browser such as Google Chrome or Microsoft Edge, as I explained before, wherever the website is in the world, thanks to, again, the internet, which is the interconnection of the computers around the world. And what pages and other related contents are stored in a computer somewhere in the world. And this computer is called a web server. And in this web server, you have those webpages that are stored. So if you were in front of a computer and you're looking for a website, what is happening behind the scenes? The following example here in front of you demonstrate the functioning of a web browser when you want to access a page at e.g. www.example.com. It's an example of a website. Well, the browser, google Chrome or Microsoft Edge moocs up a giant table on the Internet called a domain name system, DNS, to find an Internet Protocol Access or an IP address that corresponds to the name example.com. So you have this giant table. Then you look at example.com and next to example.com you have, let's say an IP address such as two or 3.0, 0.1, 13.4. Then the browser request, the resource of the page by sending request across the internet to the computer at that specific address and say, Hey, I want you to look at this page. Now, the computer, the web server that receives the request, sends a response back to the browser indicating that he can fulfill the request. And then he sends back the content of the requested page to the browser. And the job of the browser is to display the proper content in front of you. So that's basically what happens when you want to look at a specific website. So now we've talked about websites and webpages, and we also talked about the Internet and the worldwide web. And next we're going to talk about a phenomenon that is bigger and bigger called the Cloud. 28. What is the cloud?: So now let's talk about the cloud. The cloud refers to computer servers that are accessed over the Internet. That's it. So practically what is the Cloud? Well, we always see the cloud represented by a cloud on the left. But practically what is it? Well, it's a huge giant warehouses. And in those warehouses, you have web servers, like you can see on the right. Web servers in rooms, and those rooms are in giant warehouses. So the cloud is just a collection of servers located is in this warehouses that we call data centers, and they are around the world. So what are the benefits of the Cloud? Well, companies, they say, Hey, we're going to use the cloud, means that they're going to use services from these companies that own those data centers so that they don't have to run those data centers or those servers themselves. So they don't have to manage physical servers on, in the company. They let those companies on the Cloud run the software applications and the computer for the company. The Cloud enables people to access the same websites, files, and applications from any device. So you can do on your own computer at home, or you can be in a public computer, in a cafe, and then you can access the same website because that website is on the Cloud. So switching to the cloud removes IT costs for companies and overhead. They can easily expand internationally without purchasing servers around the world. So it's really a cost benefit for a lot of companies. Now just like with everything that's disadvantages of the Cloud. Well, first, without an internet connection, whether you can access anything like Google Drive or Google Docs, it's on the cloud, right? But if you don't have that, you can access it. Also, some companies have concerns about vulnerability and security when their data are not on-premise in their company, they're on the Cloud and some company has concerns with that. They would rather have their data on-premise downtown is that sometimes also have problems since the cloud depends on the connection between your computer and the Internet, service outages can prevent you to access your data. Now, the top three Cloud providers, cloud providers, these big companies that own those data centers. They provide infrastructures, platform software for anyone really usually accompany because they can afford it. Well, the three top ones are Amazon, Google, and Microsoft. In these Cloud services are called Amazon Web Services, google Cloud and Microsoft Azure. These Cloud providers offer services to create scalable website, to store billions of rows of data, to create powerful and fast ways to process and perform calculations on data. They also offer security services, artificial intelligence services, et cetera. So in this module, we have covered what the width is, the difference between the Internet and the World Wide Web. We talked about how websites and webpages, how they work within the web, and what the cloud is and the different Cloud providers. We also talked about the advantages and disadvantages of the Cloud. In the next module, the last module, we will talk about programming languages. 29. What are programming languages?: Welcome to module seven, programming languages. This is the last module in our course. In this module, we're going to learn about programming languages. So you're going to understand what is a programming language. Understand the differences between different programming languages, and describe also with programming language to use for a specific task. The different types of programming languages. First of all, a programming language enables computer programmer or software engineers to write instructions in a language that a computer can understand, evaluate, and execute. There's different types of programming languages. Three main types. Machine language, low-level language, and high level language. And machine language is what a computer can understand, which is only a series of 0.1. A low-level language are closer to the machine language used by your computer. A low-level language, like assembly language, include a very complex syntax, so not a lot of people use this type of language. Most people use high level languages. There are way closer to human languages. And programming languages have evolved from generation one, which is machine language and to low-level language to generation three to five with higher-level programming languages. So just like normal language, just like English, e.g. or French or Indian, have evolved over time. Well, programming languages, they also have evolved over time. Here's an example of machine language. The only language a computer can understand, you can see it's just a series of ones and zeros and a series of numbers. And of course nobody can write that. Now, here's an example second of a lower level language called assembly language. It's very difficult to write. Here. Move A1 comma pound sign 061 H. So this particular assembly line moves up pointer in memory, etc. It's very complicated. So most people use a higher-level language. It's easier to write and to understand that you can see here for I equal to one to 100 print Hello World. So we're going to print hello world for 1,000 times 412000. We're going to print this again and again and again, so it's much easier to understand. So here are examples of the three main languages, programming languages. Now, of course, if you're writing in a high-level language, well, there should be a mechanism and there is a mechanism for the computer to understand it. And all code needs to be translated into machine code. That's the only code the computer can understand. And assembly code, which has the low-level language is translated into machine code with a program called assembler. And high-level language like e.g. Python is translated into machine code with an interpreter. And other high-level languages are translated with what is called a compiler. So what you need to recall here is that there is a mechanism, whether it's an assembler or a compiler, or an interpreter that translates the code in assembly or low level or high level language to machine language, which is the only language that a computer can understand. Now that we've talked about the types of programming languages, it is time to talk about the languages themselves. That's the purpose of the next section. 30. What are some examples of languages?: So now let's talk about various languages. There are a lot of programming languages, just like there's a lot of languages in the world. But the top four languages, or Python, Java, JavaScript, and C or C plus, plus. Each language has its own use. And depending on your intent or your project, you're going to use one language over another. The first one, Python. Python is a language type of language called object oriented language that has a very, very large collection of libraries and modules to do machine learning scientific computing. It is widely regarded as a programming language that is easy to learn and easy to use. A very popular programming languages. Python scales right now are in high demand. One of the drawback of Python is that it's not suitable for a mobile application development. Java. Java is the programming language commonly associated with the development of client-server applications, which are used by a large businesses around the world. It's used extensively in the Android mobile operating system. Java is not ideal for applications that run in the Cloud. And on top of that, Oracle, which is a company that owns Java torches a licensing fee to use the Java Development Kit to develop applications in Java. Javascript. Javascript is just the most popular programming language for building interactive websites. Node.js, which is written in JavaScript. So JavaScript library allows for the development of browser-based application and does not require reserve to download an application and both JavaScript with Node.JS, you can build very powerful interactive websites. Now, the problem is Internet browsers and they can disable JavaScript code from running. So that could, if you do that interfere with some websites to run properly. Now C and C plus plus. Well, C is used to write software where speed and flexibility is very important, just like an embedded system or high-performance computing. And they added a plus-plus after the sea to note that it's an object oriented version C. So C is not object oriented and C plus plus is object-oriented. C is one of the first programming languages ever developed. It serves as the foundation for writing more modern languages such as R or Python, e.g. and C has a fairly complex syntax as compared to most modern languages like Python and Java. Now when to use a specific programming language. Well, if you are a beginner programmer, then you need to learn and use Python. It's versatile language and it's in high demand right now if you want computational speed or your work on embedded system. So you need to use C. If you want to build websites for a living, you need to use JavaScript, as it is the most popular programming language for building interactive websites. And you use Java if you want to build large enterprise applications. So in module seven, we have covered the different types of programming languages and their evolution. We talked about how high-level languages are translated into code that the computer can understand with a compiler or interpreter or an assembler. And we talked about the four most important programming languages. And when do you use a specific programming language for a specific project? So that concludes this module, module seven, That concludes our course on programming basics for data science. Thank you very much. 31. Closing Remarks and Next Steps: This is the end of the course, programming basics. I hope you learned a lot. I did my best to break down complex concepts into more manageable chunks. So you can understand the fundamentals of programming. We looked at computing basics and programming concepts. In those two parts, we looked at variables, coding, if then statements, loops, et cetera. We looked at data storage, files, operating systems, the World Wide Web. What's that all about? And the different languages on Skillshare, I also have different courses on SQL. Python are especially geared towards data analysis. There are a lot of Python courses, e.g. that are amazing, but they are geared for programming in general. My courses, all my courses, sequel, our Python, are geared towards data analysis only. So there are perfect, I think, right? If you want to become a data analyst or if you want to become more proficient in data analysis and knowing various languages to do data analysis. So thank you very much again for attending or looking at this, watching these videos. And I'll have a description and links to other courses on Skillshare under this video in the about section. Thank you very much.