Mid Term Vocabulary Pranavi, Saathvika, Linda - samayass/flask_portfolio GitHub Wiki

  • Binary/Hexadecimal, Bit, Nibble, Byte
    • Binary and Hexadecimal are both numbering systems that process information by sequences of 1 and 0 (binary) or by bits.
    • Bits are the most basic unit of information and is a binary digit
    • Nibble is ½ of a byte, or 4 bits
    • Byte is a data unit that is 8 bits long
    • Example code: function getBits() { let bits = ""; for(let i = 0; i < BITS; i++) { bits = bits + document.getElementById('digit' + i).value; } return bits;
  • Data, Data Abstraction
    • Data - information (e.g. text/string, number/integer, characters, boolean/true or false, pictures, videos, sound, etc.)
    • Data Abstraction - simplification of complexity of data; hide the details to make it easier to develop and maintain a program
  • Lossless/Lossy Compression
    • Lossless Compression allows the original data to be perfectly reconstructed from the compressed data
    • In Lossy Compression the size of the compressed data is reduced by eliminating unnecessary info from the original data
    • pic
  • Metadata
    • Data that provides basic information about other data
    • pic
  • Computer Network, Parallel/Distributed computing
    • Computer network is when multiple computers share resources (provided by network nodes)
    • Parallel computing process tasks in a single computer using multiple processors
    • Distributed computing links multiple servers in a network in order to share data/coordinate processing power
    • pic
  • Protocol, TCP/IP, HTTP, GET, POST
    • TCP/IP are communication protocols used to connect computer systems in a network
    • Transmission Control Protocol (TCP)
    • Internet Protocol (IP)
    • Hypertext Transfer Protocol (HTTP) is a member of the TCP/IP family
    • GET : requests the data from a specified resource
    • POST : submits process data to a specified resource
  • Library, Dependencies, Import
    • A library is a resource that contains a collection of prewritten code or documentation that helps users with tasks
    • Dependencies (aka coupling) is when an object can use the function of another object
    • Import allows one to use data from another application by transferring the data to another one.
  • Web API, REST, FETCH, Async, Request, Response
    • Web API (application programming interface) is an interface with functions that allow programmers to have specific features/data
    • REST (representational state transfer) API conforms to the constraints of REST style and allows for interaction with RESTful web services
    • FETCH API simply is a fetching resources interface that accesses/manipulates resources asynchronously across a network
    • Async API is a application programming interface that returns data for requests at a later time, it executes along with the program and when the call returns, a “callback” function is executed
    • API request is when an API provides a structured path for the application to gain the capabilities of another application
    • API response is the response to the request that is sent, a message the server receives
  • Blueprints
    • A way to construct or extend an application, makes sure code is cleaner, and that main.py doesn't get cluttered
    • Good for organizing larger projects and adding prefixes and subdomains to urls
  • MVC
    • The “model, view, control” design pattern which is used to describe the relationship between user interfaces and databases
    • pic
  • Code Sequence, Procedures/Functions, Procedural Abstraction
    • Sequence - the computer runs the code in order, from the top to the bottom, one line at a time
    • Procedure - a group of programming instructions that has a purpose (Procedure in JavaScript - function; Procedure in Python - def)
    • Procedural Abstraction - allows procedure to be used without needing to know the details of how it works (the name tells you what the procedure does and you can just use it by naming the procedure)
  • OOP, Class, Attribute, Method, Object
    • OOP or object-oriented programming is a computer programming model that focuses mostly on objects and classes
    • Class is a template that helps create objects, define variables, and defines methods for all the objects in a type <div class="container" id="todo-list">
    • Attributes are a characteristic, they are essentially data stored in a class that represent the state of the class <img src="/static/assets/SAwithmask.jpg"/>
    • Methods are programmed procedures that are part of a class and in all the class' objects, can be re-used multiple times
    • Objects are units of code, they are made into a class and usually defined to be shared and used (to do whatever they're defined to do)
  • CRUD
    • Create, Read, Update, Delete
    • Major operations of a database, and essential to the creation of a successful one
  • Sort, Search-Linear/Binary
    • Sort - rearrange/organize items/data into a certain order (easier to read, more efficient, easier to implement search algorithm)
      • (unsorted) 3 1 4 2 --> 1 2 3 4 (sorted)
    • Linear Search (or sequential search) - searching one by one (sequentially) until you find the item (not as efficient as binary search)
    • Binary Search - split the whole sorted list of items into two halves/from the middle, you can check if it matches and if it doesn't, then whether the item is before or after this middle item, then you can eliminate half of the items and repeat the process until you find the item.
    • pic