 So in this lecture, we'll talk about a little bit of an overview on computers and what it means to actually do some programming. So if we think about what a computer is for a second, the computer is simply enough just this electronic device that all it does is it interacts with the user. So say for example, I type on my keyboard. I swipe my credit card at the self-checkout line. I Talk into my phone. Those are all inputs and what the computer does is it then in turn kind of processes that input that information and it does its math Then it decides whether or not it wants to output that information to us the user so that we can see it Or just store that for later use. That's all the computer does. So Everything almost has a computer in it nowadays your computers your your phones You can now have little watches that are basically tiny little computers Computers are becoming more predominant as we move forward in life And so it's almost really good to actually kind of take a second and understand. What are we doing with that computer? so Let's just take a moment and let's think about this guy right here This is an Arduino Uno. It's just a tiny Micro computer that pretty much just gets a program except some input and processes it does something now All I have it doing is turning on this LED. This is a light emitting diode now What happens when I give this power? Well by giving it power You see that I actually have it set up so that in every 10 seconds Our LED comes on and goes off and then 10 more seconds that light will come back on There we are. So that's its entire job is just to focus in on turning on and off We'll actually be doing very similar programs while we won't be Working specifically with an Arduino in that case. The idea will still be there So again when we start to think about the computer as a whole We have tons of computers that we work with we've got desktops laptops And now we're even moving into handheld computers such as tablets and smartphones where we have a computer always by our side For example, how many of you guys are already looking at your phone while you're listening to this video? Stop it We also have standalone computers. There's self-checkout loans out Self-checkout lines. I was talking about kiosks ATMs we even are now moving into wearable technology Like I said, we have smartwatches that we can put on Under armor for example now has a compression shirt Rashguard if you will that you can put on and there's a little kind of Thing you put right there on the chest that just monitors your breathing in your heart rate It's wearable technology and it's going to continue to grow as we just progress as a society You know my thought is that in the next five years, we're gonna have fully functioning LCD or whatever the Technology will be but fully functioning LCD style t-shirts that you know have graphic on there And that will be an advertisement What you're a walking billboard now Don't steal that idea. That's mine. I will plan on building it And I know you can't see it's kind of behind me, but we also have super computers say for example Really the world if we think about it, you know, the world doesn't run on just a single desktop It's not run on a Google Glass wearable computer. It's built on these massive powerful machines like IBM's Watson or Apple's Siri what those Programs as applications as computers do is they basically process information transformation very complicated mathematical equations in lightning fast kind of properties Every single one of those however have some form of an operating system on there Even this guy even that Arduino Uno that I showed you earlier. This guy still has some operating system in it It's very tiny. It's very simplistic. All it was is designing it to turn on and off a red light However, when we start to look at more advanced Programs or advanced computers. That's where we get into operating systems like Windows or the OS X I believe Yosemite is the most up-to-date one or we have the iOS Android and your various Linux distros. So Everything runs on these operating systems Well, what is an operating system? All an operating system really is is it's a program. It's a program designed to have programs running on top of it Allowing us to have something called Multitasking the entire concept of Windows the reason it is called Windows is so I can have Multiple Windows going on at any given time. That's why I'm able to have this screen going on While my web camera is going on while a PowerPoint presentation is running on in the background. That's multitasking So when we start to look at the Computer we have two separate portions of it hardware and software now If this is your first programming class, and you've probably You know eventually you have to take a programming class if this is your first one You're probably more familiar with hardware. You've probably become that Computer person at home and you may not even but you're at least more inclined to kind of dig under the hood You're not so scared if I show you something like an entire motherboard for example That doesn't frighten you as terribly much That's hardware. We don't actually spend a lot of time in Hardware with programming in fact we're actually on the software side of things and software is this The slide say Intangible concept what it really means is what we do as computer programmers is Design how to talk to a computer You know if we look at this again, this Arduino all it was designed to do was turn on a red light Well, how do I as a computer programmer and how do I tell this to do that? well, that's where we get into programming languages and Programming languages allow us to make this adjustment. I'll just get ahead a little bit Those programming languages allows to write Human language human language so that it can then go through what is known as a Compiler or an interpreter for different languages and it translates that into what is known as machine code ones and zeros binary because that's all the computer understands it only understands an electrical signal so When we get a bunch of electrical signals together we can represent things like numbers text data That's where the programming languages come into play something to take note of you know You probably again if this is your first language. I know for a lot of you You know you're forced to take this one, but why did you go with Java versus Python versus JavaScript versus? Cobalt, you know, there's tons of programming languages out there. Well For at least the basics. They're all the same Think about them as just a different language French German English We all are we all have some way to say where is the bathroom? You know, where is the bathroom? I Don't really know how it's spoken in French but in Spanish for example, it is don de esta el baño The entire syntax is different the words I used was different But the concept was still the same the same thing actually happens in programming languages is that While I might have to say things differently. So say for example, I wanted to represent the number five I might represent that one way in JavaScript versus Java versus Python But the concept of having a five is still there so we'll continue going on and if I skip back a few so All these fives and you know what not what happens is we get data we get this Storage of information on to the computer and we refer to this as binary ones and zeros That's where they come in and if we collect a bunch of those ones and zeros together We get a bite eight of those bits become a bite and we continue to expand on this idea Well, what is a bite? well If I take This guy right here You might have seen one of these if you've ever dug on to your computer, but this is a processor This guy if we take a very close look you can pause the video now and count There you are This has 64 pins on the back of it This has 64 pins because each pin allows me to have another electronic signal now those electronic signals what those do is Well, they allow me to represent two to the 64 bits of Information just in one cycle one computational cycle. That's a big number two to the 64 You know so much so Pull up the calculator if you will I go Two to the power of 64 Two to the power of 64 That's a big number, you know, I can represent so many things with that I can represent numbers I can represent text I can represent sound graphics I can do a lot with 64 bits of Combinations well That's actually where we go with this so we think about this think about it with that LED again Little LED lights. I only had one But how many possible states do I have with that? How many possible things can one LED light have? Well, it can be off. Well, if we think of that as off we can think of that as it has no electricity We can consider that the zero in our binary Well, what happens when it's on when it's on it now has power It has electricity again to the computer. That's what it wants It wants those five volts to us as the human we think about that as one All right, so we had one LED. What happens if I add in two? Well, the same concept goes on there now all of a sudden both of these LED lights, they're off So I have zero zero But I can also have one of them being on one of them being off so zero one Or I can have the opposite I can actually flip those around so now The one on the left is on and the one on the right is off Well again now it's one zero So I've already got three states and I only have one more that I can do which is what happens if they're both on So what happens is I now have four states what I actually have is Two to the second power two to the number of possible combinations possible states So what happens if I have say for example? if we think about a string of binary digits a byte what that brings us to is 256 possible states we're able to represent a number from zero to 256 in one byte as we continue to expand on our computers and our files That's what allows us to Work and build so we start to Create different types of data integers strings characters all from these ones and zeros