Placeholder Image

Subtitles section Play video

  • But let's get into talking about computer science terminology.

  • Basically, if you're entering this field, there are a few words, buzzwords or just regular knowledge words that you need to know in this industry.

  • Some of them are very basic, and that's what this video is going to cover a lot.

  • But I have a lot of terminology that I want to discuss.

  • I think it's only appropriate for the first term to be computer science.

  • What is computer science?

  • Computer science is a science that deals with theories and methods in processing information on a digital computer.

  • It is also the design of computer hardware and software, and the applications of a computer.

  • Or in layman's terms, it's the study of the principles and use of computers.

  • In order to understand computer science, you kind of need to understand a computer.

  • And I mean, don't get me wrong, everybody knows what a computer is.

  • But a good way to put it into words for us who are entering in the field of computer science and software engineering is that a computer is a machine that performs computations based on instructions.

  • Instructions, that's an important word.

  • A computer is made up of two components, hardware and software.

  • Hardware is the physical components of a computer.

  • The best way that I learned every little piece of computer is building mine right there myself.

  • I think I did that about four years ago.

  • And I did all of the studying and all of the work figuring out why I should get what CPU for my usage, graphics cards, storage, memory, cooling, all of that stuff, all inside of a computer.

  • The best way for you to learn it is actually putting yourself in the shoes of someone who needs to build a computer because you'll take everything into consideration before dumping what $1,000, $1,500 into a computer.

  • At least I do.

  • I make sure I do all of the research before I spend that much money.

  • So that's a good way to learn the hardware of computer.

  • Software on the other hand is not a physical component.

  • It's basically a set of instructions for the hardware.

  • You can think of these instructions as files that are saved in your computer because every time you open something like Adobe Premiere, everything you do is sending instructions back and forth between the hardware, the software or the instructions aren't in English or any other spoken language.

  • It is a programming language.

  • The language that is used for different types of software varies, but that's essentially how we're able to set instructions for the software to present and to do what we need it to do.

  • Or basically just to sum all that up, hardware is something that you can physically touch and software is the instructions for the hardware.

  • Since we're on the topic of software, let's talk about program with a lot of misconceptions, a lot of different words that really kind of mean the same thing.

  • That is program is basically a piece of software or you can think of it as an application.

  • It is a file saved on your computer, written in a programming language filled with instructions to tell your hardware what to do.

  • In our world, we don't call instructions instructions.

  • We call instructions code.

  • Code is a bunch of words and well, well basically this, this is code and this is written using a programming language.

  • So you can think of code as the instructions.

  • Programming language is what you write the instructions with and everything combined is a software application or program.

  • The first thing they'll teach you in any computer science degree is computer hardware.

  • That's why I emphasize understanding all of the components within a computer because you need to learn all of that before you learn programming to be an efficient programming and actually understanding what you're doing.

  • So let's talk about the six main components that make up a computer's hardware.

  • We have the central processing unit or the CPU.

  • We have the main memory.

  • We have secondary storage.

  • We have input output devices.

  • We have the network and we have the bus.

  • The CPU is the brain of the computer.

  • It executes instructions such as code in a program.

  • The main memory, also known as the random access memory, or you may know it as RAM for short, that's used to store the code from your program and it stores the data that your code is operating on while the program is actively running.

  • For example, when you open an application such as Adobe Premiere, the code to run Adobe

  • Premiere loads into the main memory.

  • Then you have your secondary storage that stores your program and data when it's not in use.

  • And in order to do any of this, you need input output devices.

  • A few examples for input devices would be the mouse, the keyboard, the microphone.

  • Output devices would be the monitor, the speakers, or the printer, which is right, right there.

  • The network essentially is what you connect your computer to, Wi-Fi, internet, in order to communicate with computers all around the world.

  • It allows you to send and receive data from a computer such as an email, a text message, what have you.

  • Now the bus is a group of wires inside this computer case right here that connect all of the hardware components.

  • The main reason for that, well, it needs to pass data from one piece to another.

  • Per our previous example, when you load up Adobe Premiere, you have your secondary storage sending data to your main memory, and then once you save and shut down that application, it sends everything back to the secondary storage to then be retrieved once you open the application back up, and then back into the main memory, and then so on and so forth.

  • And onto synonyms.

  • We kind of addressed this previously when we were talking about code and instructions and whatnot, and a lot of these groupings that we're going to talk about here, the groups of synonyms, can vary slightly depending on how they're used, but for just like a basic level of knowledge, this, it's essentially synonyms.

  • You have code, which are computer instructions, you have computer instructions, which is software, you have software, which is a program, also known as an app or application.

  • And now, although I consider code as what you would open in a text editor, you see the entire programming language, and that programming language is what you call the code.

  • That would be the nitty gritty of an application, and the application would be essentially the packaged product, basically what the consumer would see, but you can see how they can be used synonymously.

  • And then you'll hear the terms like coding, programming, software development, software engineering, or coder, programmer, software developer, web developer, software engineer.

  • You'll hear those types of terms be interchanged a lot, and to everyone on the outside world, those mean the same exact thing.

  • On the inside world, depending on what your company does and what you're called, can mean different things.

  • For example, when you're called a software engineer, generally you work with Java, C++, enterprise level software, that type of stuff, but then when you move over to the people building websites, building web applications, building mobile applications, and not working with those particular languages, people like to call them software developers, but you can see how these would be synonymous.

  • Just know that when someone talks about programming, coding, software development, that's essentially all the same thing.

  • Now we're getting a little bit more complex, starting off with machine language versus programming language.

  • In order to differentiate the two, you have to understand that computers and humans understand information in different formats.

  • Whenever you save data, such as a Word document or a Premier project, the computer stores that in a format they don't understand called binary, or otherwise known as machine language.

  • Binary is a language made up of combinations of zeros and ones.

  • Each character that you'll see on your keyboard, numbers, special characters, punctuation, letters, spaces, tabs, and everything in between, has their own binary representation.

  • That means a combination of zeros and ones are different for each and every character.

  • And then there's something that I like to describe in a way that is between binary and our human language, and that is ASCII code.

  • ASCII code is a numerical code, but instead of having zeros and ones like binary, or having the actual number of the actual letter like English, it picks two numbers, zero through nine, for a particular letter.

  • Doesn't matter if it's an A or B or C, they're all going to be different, and they'll even be different from uppercase to lowercase letters.

  • But that format is also known to us as decimal format.

  • And since that is base 10, as you can see, because the two numbers are chosen between zero and nine, those are 10 numbers, and I'm sure you can guess, binary is base two.

  • That's because they choose only zero or one.

  • In all honesty, I'm not too sure how well that came across to you, so let's try to consolidate our thoughts and really drive this point home.

  • And I think a real world example will do best.

  • So let's say we're typing something in Microsoft Word.

  • We type the letter A. We're going to keep it real simple.

  • We type the letter capital A. The numerical value, ASCII code, of that is 65, I think.

  • Let me check.

  • Yeah, for capital A, the numerical code is 65.

  • When you save that data from your Word document into your computer, it saves the equivalent of 65 in binary for your computer.

  • So basically you type in A, capital A, the numerical code for that is 65, and then there's a unique binary code that is the equivalent of ASCII code, the numerical code 65, and the binary code, the zeros and ones, is what is saved into your computer and what your computer can read.

  • That's machine language.

  • It's also referred to as low-level language.

  • It's considered to be low-level because that's the language that machines can understand.

  • And programmers, well, programmers understand programming languages, also known as high-level languages.

  • And just like in English we have a set of rules to follow, and that is grammar, everything that that entails, a programming language has its own set of rules called syntax.

  • It also has a set of defined words or keywords, and these have a specific meaning within that programming language.

  • And unfortunately, humans have no idea how to choose one language or another, so just like we have so many different spoken languages, we have also so many different programming languages.

  • Some are better suited for web development, and even within web development there are different languages to do exactly what you need.

  • Then there are different that build mobile applications, and then there are different that build enterprise applications, and there are different that build a hacking software, machine learning, or what have you.

  • You get the gist.

  • In addition to those differences, we also split our programming languages into classifications called programming paradigms.

  • So if we look at the actual word paradigm, we see that that's a way of thinking or a way of doing something.

  • Essentially, it's just a mindset.

  • A programming paradigm is a way of classifying something based on the methodology of that programming language.

  • A few of the common types of programming paradigms are functional, procedural, imperative, and object-oriented.

  • So as an example, we have two programming languages, Java and C. However, Java is an object-oriented programming language, while C is a procedural programming language.

  • And for now, we don't need to know what it means to classify a programming language as object-oriented or procedural, but it does help understanding that there are different classifications for different programming languages.

  • Now on to understanding writing and saving code.

  • So basically, we've discussed this in part one of computer science terminology, which is that programming essentially means to write code.

  • That code is written to create a program.

  • A program is essentially an application, and an application does something.

  • Let's compare this to something a little bit more simple, like an essay.

  • So when you write an essay, you open a piece of software, an application like Microsoft

  • Word.

  • You create a file in Microsoft Word.

  • You type some stuff, and then you save it as a document or a PDF.

  • Writing code is essentially the same thing.

  • Instead of using Microsoft Word, you'll use any type of text editor, whether that be Notepad,

  • Notepad++, Atom, I can go on and on about this, or some type of IDE.

  • And that is Integrated Development Environment, IDE.

  • While a text editor is a hammer in your tool belt, an IDE is essentially the tool belt that has all of the tools within that tool belt.

  • So an IDE will have your text editor, a compiler, a runtime environment, and a debugger.

  • So it has all of the tools you need to create a proper program.

  • And a debugger, very helpful, it's a tool that programmers use to find mistakes in their code.

  • And mistakes in their code are called bugs, hence debugger.

  • Bugs can appear at different times within the development process, whether that be preventing your code from compiling, or preventing your program, your application from executing, or maybe your application is just doing something incorrectly.

  • There are plenty of jokes that hop around the software development industry, one of which being something along the lines of, you know, I spend 10% of my time writing code and 90% of my time debugging.

  • Debugging is a skill that you will develop your whole entire life.

  • After you create your program, you save your code within a file.

  • This is also known as a source file.

  • So instead of saving it as a document or a PDF, you save it as a source file.

  • This basically shows you that your source code is within this source file.

  • And just as you would save a PDF as name.extension, which is PDF, you would also save your source file as name.extension, which your extension is whatever your code is.

  • So .java is Java.

  • Cpp is C++, so on and so forth.

  • Now after you save everything in the appropriate source files, you want to run your code to make sure that it works.

  • But before you can run your code, or otherwise known as executing your code, you need to make sure that it compiles.

  • You essentially translate your source file from high level language to low level language in the form of an executable, so your computer knows what you wrote.

  • Because as we said before, computers don't understand high level language, they only understand low level language.

  • So within that IDE environment, you will use the compiler to compile your code.

  • And that is a process of translating from high level language to low level language.

  • Let me say that one more time.

  • Compiling is a process of translating your high level language, Java, C++, Swift, to low level language, binary, machine language.

  • And in that compilation process, it creates and saves that translated code as an executable file.

  • However, if you have bugs in your code that prevent you from compiling, that's when you need to activate the debugger, figure out how to fix your code, fix it until it is able to compile, otherwise it won't be able to create that executable file, and if it's not able to create the executable file, then you're not able to run your application.

  • And that is it.

  • Hope you guys enjoyed it.

  • If there's anything else that you want me to discuss, I'd be happy to just leave them down in the comments below.

  • If you liked the video, be sure to like it, and if you dislike it, feel free to dislike the video twice, and make sure you subscribe, especially if you did like the video.

  • Until next time, guys.

  • Have a good one.

But let's get into talking about computer science terminology.

Subtitles and vocabulary

Click the word to look it up Click the word to find further inforamtion about it