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.