Midterm review vocab - TheRadRabbidRabbit/Team-Lovelace GitHub Wiki
- Binary: base-2 number system with 1s and 0s, used to represent information. Base 'language' of computers
- Hexadecimal: used to represent images, videos (RGB). Can convert back and forth with binary and ASCII
- Bit: one digit in binary, a 1 or 0
- Nibble: 4 bits
- Byte: a collection of 8 bits
- Data: any information that a computer processes or stores
- Data Abstraction: summarizing or simplifying data so that it is easier for humans to understand
- Lossless: compression that can be undone to produce an exact copy of the original. Generally not storage or processor-efficient
- Lossy Compression: compression that loses some data but saves space, visual data is functionally the same
Lossless compression can store all the original data but lossy compression will lose some of the original data. They both can decrease the size of the file and lossy compression can decrease more size of the file than lossless but will lose some of the original data. For example, if we have 111100000110, we can decrease the length to be like 41502110(because we have four continuous 1 so we can write like 41 and five continuous 0 can be written like 50). That is an example of lossless compression and it doesn't lose any original data.
- Metadata: data about data (time downloaded, alt text, creator, etc.) Can be viewed for local files by right-clicking and selecting 'Properties'
- Computer Network: a computer system where devices are connected by protocols
- Parallel/Distributed computing: dividing large tasks into smaller ones that can be done at the same time. Distributed computing involves several devices.
Parallel computing allows one computer device to divide one large program into several smaller programs so that the computer device can spend less time running the program by running several smaller programs at the same time. For example, If there are three programs, one needs to spend 20 minutes to run, one needs to spend 30 minutes, and the last one needs to spend 50 minutes. Parallel computing allows the device to run them at the same time. So we only need to spend 50 minutes to run the whole program. But if we don't use parallel computing and choose to run each program individually, we will need to spend 20+30+50=100 minutes to run the whole program.
- Protocol, TCP/IP, HTTP, GET, POST
- Protocol: a set of common rules for formatting and processing data that ensures different devices can communicate with each other
- TCP/IP: Every device which connects to the network has an IP address for sending and receiving data
- HTTP: An application protocol for distributed, collaborative, hypermedia information systems. (HTTP stands for Hypertext Transfer Protocol)
- GET: Requests webpage data via URL
- POST: Sends data to server
- Library, Dependencies, Import
- Library: a collection of functions that you can use in your own program, for example, if you want to use random numbers in your list. You can type ran(list) which saved much time.
- Dependencies: A program depends on another program, for example, if we use flash to build a game, then the game cannot leave the flash environment(like google had banned flash which cause the flash game cannot run on google, or If your computer doesn't have flash, then you can't run the flash game). Or If my website's function is based on an API of another website, and the website was banned, the API will not work which causes my website doesn't work too. That is dependencies.
- Import: allows users to transfer data from one to another object. For example, in the Blender, we can see a button name import, and it allows users to transfer the 3D model from one program to another. And we can also see the word "Import" in many places like some websites or software.
- Web API, REST, FETCH, Async, Request, Response
- Web API: full name-Application program interface, an interface that helps programmers to interact with their products.
- Blueprints
- Blueprints: this allows programmers to separate some of the functions from main.py to a new python file which made the code cleaner and easier to edit.
- MVC
- MVC: full name-"model, view, control". Something describes the relationships between viewer/user and web controller.
- Code Sequence, Procedures/Functions, Procedural Abstraction
- Procedures is a named group of programming instructions or codes, that may have parameters and return values. It is used to solve problems.
- Procedural Abstraction is one common type of abstraction that provides a name for the process and/or explains its function. For example, if a process is used to calculate the average grade and contains programming instructions. The procedural abstraction is to give this process a name like AverageGrade, so that even non-programmers understand what it does without knowing how it does it.
- OOP, Class, Attribute, Method, Object
- OOP: object oriented programming, or coding that focuses on objects (functions/variables)
- Class: a category of objects or a way of sorting objects
- Attribute: properties of objects
- Method: procedures or functions
- Object: a data structure or function
- CRUD: full name-"Create, Read, Update, Delete". For example, I **create **a list with numbers, and **read **the numbers of the list, and I can update(add) a new number into the list, and also I can delete the number of the list.
- Sort, Search-Linear/Binary
- Sort: If we have a list of random numbers, the sort is used to order the number from lowest to highest. (The sort can be used in binary search).
- Linear search: If we have a list of numbers 1 to 100, and we need to search the number 49, the linear search allows us to search from the beginning of the list to the end which means we need to search for 49 times to search the number.
- Binary search: If we have a list of numbers 1 to 100, and we need to search the number 49, the binary search allows us to search from the middle of the list which is 50. And because 49 is less than 50, so we delete the number 50 to 100 and search again from the middle of the rest of the list which is 25. And then search again to get 37, and then search again to get 43, and then 46 and then 48 and finally 49. And we only need to search for 7 times. So most of the time, binary search is faster than linear search.