Praxis 5652 Various

¡Supera tus tareas y exámenes ahora con Quizwiz!

superpolynomial time

Doubling the number of steps required each time the input size increases—or more than doubling

Difference between Encoding and Encryption

Encoding transforms data into another format using a scheme that is publicly available so that it can easily be reversed. For maintaining data usability and uses schemes that are publicly available Encryption transforms data into another format in such a way that only specific individual(s) can reverse the transformation. For maintaining data confidentiality and thus the ability to reverse the transformation (keys) are limited to certain people

XML

Extensible Markup Language - Set of rules defined for encoding documents in a format readable by both human and machine

Difference between object oriented programming and procedural programming

Procedural - programming model which is derived from structured programming, based upon the concept of calling procedure. Procedures, also known as routines, subroutines or functions, simply consist of a series of computational steps to be carried out. During a program's execution, any given procedure might be called at any point, including by other procedures or itself. Less Secure Object-Oriented - programming model which is based upon the concept of objects. Objects contain data in the form of attributes and code in the form of methods. More secure

Three paradigms of high level language

Procedural, Functional, Object Oriented

TCP/UDP

Protocols that can transport packets of data from one device to another and check for errors along the way

Put these in order of least to greatest: kilobyte, byte, bit, gigabyte, megabyte

byte, bit, kilobyte, megabyte, gigabyte

char and string

char - single quotes string - double quotes

class vs. object

class- template for a group of objects with similar characteristics object- is a unit of data that represents an abstract or real world entity.

Code style conventions for: Constants, class, method/variable

constants - CAPS class - FirstLetterCapital method/variable - camelCase

Flowchart shape: diamond, rectangle, parallelogram, oval

diamond - decision (boolean) rectangle - process parallelogram - input/ouput oval - start/end

Explain the difference between lossless and lossy compression

lossy - eliminate the data which is not noticeable - A file does not restore or rebuilt in its original form - Data's quality is compromised - reduces the size of data - used in Images, audio, video - has more data-holding capacity - also termed as irreversible compression Lossless - A file can be restored in its original form - does not compromise the data's quality - does not reduce the size of data - used in Text, images, sound - less data-holding capacity than Lossy compression technique - also termed as reversible compression

Explain these types of errors - runtime, syntax, compile, rounding, out of bounds, StackOverflowError

runtime - logic error (produces the wrong output) or memory leak (causes an infinite loop) compile - A program couldn't compile due to errors in the code rounding - difference between a rounded-off numerical value and the actual value out of bounds - trying to access an index value outside the allowed value StackOverflowError - A runtime error in java. When call stack exceeds due to excessive deep or infinite recursion

primitive

stored and accessed directly in memory (boolean, char, float, int)

digital rights management (DRM)

tools that restrict where and how a user can use copyrighted media

Parallel Computing

The simultaneous execution of the same task on multiple processors to obtain results faster.

latency

The time between the sending of a data message and the receiving of that message, measured in milliseconds

URL

Uniform Resource Locator

smart grid

Uses technology to improve how electricity travels from power plants to consumers and to prevent local failures from becoming widespread outages

Explain Virtual memory vs physical memory

Virtual memory is stored on the hard drive. Virtual memory is used when the RAM is filled. Virtual memory is slower than physical memory, so it can decrease the performance of applications. It is self-contained, does not write over other apps memory space. Physical memory are the RAM chips purchased and placed in a slot on the computer motherboard. The RAM is the first memory used when the computer requires memory usage, such as for loading an application or opening a document. Physical memory is limited to the size of the RAM chips installed in the computer. Virtual memory is limited by the size of the hard drive, so virtual memory has the capability for more storage.

UML (Unified Modeling Language)

Visual organizer showing objects and contents

Scatter Plot Graph

Way to visualize the correlation between two sets of numbers

open source license

When a programmer wants to make their code reusable, That license enables other programmers to bring the code into their own projects, as long as their reuse meets the conditions of the license

Linear time

When an algorithm grows in linear time, its number of steps increases in direct proportion to the input size. This time, the loop looks at every item in the list. This exhaustive search is necessary to search for items in an unsorted list, since there's no way to narrow down where a particular item might be. This algorithm will always require at least as many steps as items in the list

Quadratic time

When an algorithm grows in quadratic time, its steps increase in proportion to the input size squared. Several list sorting algorithms run in quadratic time, like selection sort. That algorithm starts from the front of the list, then keeps finding the next smallest value in the list and swapping it with the current value

Exponential time

When an algorithm grows in superpolynomial time, its number of steps increases faster than a polynomial function of the input size. An algorithm often requires superpolynomial time when it must look at every permutation of values

Constant Run Time

When an algorithm runs in constant time, it means that it always takes a fixed number of steps, no matter how large the input size increases

Logarithmic time

When an algorithm runs in logarithmic time, it increases proportionally to the logarithm of the input size (ex: Binary Search)

Public key encryption

It's an asymmetric encryption technique which uses different keys for encryption and decryption, allowing computers over the Internet to securely communicate with each other

Incremental development model

A development lifecycle where a project is broken into a series of increments, each of which delivers a portion of the functionality in the overall project requirements. The requirements are prioritized and delivered in priority order in the appropriate increment. In some (but not all) versions of this lifecycle model, each subproject follows a 'mini V-model' with its own design, coding and testing phases.

What is an NIC (Network Interface Card?)

A hardware component without which a computer cannot be connected over a network. It is a circuit board installed in a computer that provides a dedicated network connection to the computer. It is also called network interface controller, network adapter or LAN adapter

Linked Lists

A linked list is a linear data structure (like arrays) where each element is a separate object. Each element (that is node) of a list is comprising of two items - the data and a reference to the next node.

Data Center Network (DCN)

A network used in data centers where data must be exchanged with very little delay

What are data packets?

A packet is a small amount of data sent over a network, such as a LAN or the Internet. Similar to a real-life package, each packet includes a source and destination as well as the content (or data) being transferred

recursive algorithm vs. nonrecursive algorithm

A program is called recursive when an entity calls itself. Usage of recursion is advantageous in shorter code, but higher time complexity

Define CPU, RAM, ROM, USB

CPU - Central Processing Unit. CPU is considered as the brain of the computer. CPU performs all types of data processing operations. It stores data, intermediate results, and instructions (program). It controls the operation of all parts of the computer. RAM - Random Access Memory. The data stored in RAM can be accessed almost instantly regardless of where in memory it is stored, so it's very fast — milliseconds fast. RAM has a very fast path to the computer's CPU. ROM - Read-Only Memory. ROM is a type of storage medium that permanently stores data on personal computers (PCs) and other electronic devices. It contains the programming needed to start a PC, which is essential for boot-up; it performs major input/output tasks and holds programs or software instructions USB - universal serial bus. USB is a plug and play interface that allows a computer to communicate with peripheral and other devices. USB-connected devices cover a broad range; anything from keyboards and mice, to music players and flash drives

convert to binary - 0101

5

Huffman Coding

A bit compression technique

What is TCP (Transmission Control Protocol)?

A communications standard that enables application programs and computing devices to exchange messages over a network. It is designed to send packets across the internet and ensure the successful delivery of data and messages over networks

Polymorphism

A concept that refers to the ability of a variable, function or object to take on multiple forms.

Queue

A queue or FIFO (first in, first out) is an abstract data type that serves as a collection of elements, with two principal operations: enqueue, the process of adding an element to the collection.(The element is added from the rear side) and dequeue, the process of removing the first element that was added. (The element is removed from the front side). It can be implemented by using both array and linked list.

Scatterplot, Histogram, time series plot

A scatter plot uses dots to represent values for two different numeric variables. The position of each dot on the horizontal and vertical axis indicates values for an individual data point. Scatter plots are used to observe relationships between variables A histogram groups numbers into ranges, using bar heights A time-series plot is a univariate plot: it shows only one variable. It is a 2-dimensional plot in which one axis, the time-axis, shows graduations at an appropriate scale (seconds, minutes, weeks, quarters, years), while the other axis shows the numeric values

TLS

A secure protocol for sending encrypted data so that attackers can't view private information

Malware Protection

A security patch is an update to the code of an application or the entire operating system, and often fixes a bug that's been exploited by malware. A firewall is a system that monitors incoming and outgoing network traffic to a computer or internal network, and determines what traffic to allow.

Agile Process Model

A software development approach based on iterative development. Agile methods break tasks into smaller iterations, or parts do not directly involve long term planning. The project scope and requirements are laid down at the beginning of the development process.

What does a strong typed language mean?

A strongly-typed programming language is one in which each type of data (such as integer, character, hexadecimal, packed decimal, and so forth) is predefined as part of the programming language and all constants or variables defined for a given program must be described with one of the data types

Heuristic

A technique that guides an algorithm to find good choices. When an algorithm uses a heuristic, it no longer needs to exhaustively search every possible solution, so it can find approximate solutions more quickly. A heuristic is a shortcut that sacrifices accuracy and completeness

Types of malware

A trojan horse is a harmful program that masquerades as a legitimate program, and is often downloaded onto computers by unknowing users. Once the user runs the program, it can start inflicting its damage. A virus is self-replicating: it contains code that copies itself into other files on the system. Viruses may hide in the code of a legitimate program A worm is also self-replicating, but it copies itself into entirely different computers within the network. It can travel along networked protocols such as email, file sharing, or instant messaging.

MIT License

Allows for distribution, modification, commercial use, and private use of the code, as long as the copyright and license information are included in the reused code

Fair Use Copyright

Allows limited use of copyrighted materials for purposes like criticism, comment, news reporting, teaching, or research

digital certificate

Also known as a public key certificate or identity certificate, proves the ownership of an encryption key

Geolocation

An HTML5 application programming interface that allows developers to retrieve the geographical location information for a client-side device. Most precise - (GPS) Least precise - (IP-based geolocation)

What is abstraction?

An abstraction is a way to manage complexity. It's taking something that is inherently complex and making it simple to use and work with. Printing something to console is actually a fairly complex task under the hood, but we as developers don't have to worry about that. For us, the process of outputting text to the console is abstracted away from us.

Berne Convention

An international agreement on copyright across borders

Symmetric Encryption

Any technique where the same key is used to both encrypt and decrypt the data

Bubble Plot

Best option for conveying the numerical relationship between three or four sets of values. Dots are sized based on a third dimension of the data

CISC (Complex Instruction Set Computers) vs RISC (Reduced Instruction Set Computer)

CISC - The primary goal is to complete a task in as few lines of assembly as possible. Emphasis on hardware. Memory-to-memory:"LOAD" and "STORE" incorporated in instructions. RISC processors only use simple instructions that can be executed within one clock cycle. Emphasis on software. Register to register:"LOAD" and "STORE" are independent instructions.

Local area network (LAN)

Connects a group of computers in close proximity, such as in an office building, school, or home

Domain Name System (DNS) protocol

Convert a domain name into an IP address

Digital Millennium Copyright Act (DMCA)

Criminalizes the production and distribution of technology that tries to circumvent DRM

Imperative vs. Declarative Programming

Declarative Programming is like asking your friend to draw a landscape. You don't care how they draw it, that's up to them. Imperative Programming is like your friend listening to Bob Ross tell them how to paint a landscape. While good ole Bob Ross isn't exactly commanding, he is giving them step by step directions to get the desired result.

chroma subsampling

Keep the brightness, but reduce the amount of color information

What is latency change?

Latency is a measure of delay. In a network, latency measures the time it takes for some data to get to its destination across the network. It is usually measured as a round trip delay - the time taken for information to get to its destination and back again

What is depth first traversal?

Depth First Traversals: (a) Inorder (Left, Root, Right) : 4 2 5 1 3 (b) Preorder (Root, Left, Right) : 1 2 4 5 3 (c) Postorder (Left, Right, Root) : 4 5 2 3 1 Breadth First or Level Order Traversal : 1 2 3 4 5

What is fair use?

Fair use allows limited use of copyrighted material without permission from the copyright holder for purposes such as criticism, parody, news reporting, research and scholarship, and teaching

Empirical analysis

Find faults in an algorithm. An "empirical" analysis is one based on actual experimentation and observation of the results. In the world of algorithms, that means the algorithm must actually be translated into a programming language and executed on a computer. Empirical analysis can only be used to prove that an implemented algorithm is not correct, by discovering inputs where the output is unexpected. However, it cannot prove that an algorithm is correct

Linear Search

Finds a value in a list. The algorithm looks through each item in the list, checking each one to see if it equals the target value. If it finds the value, it immediately returns the index. If it never finds the value after checking every list item, it returns -1

XOR operation

If two bits are the same, the result is 0. Otherwise, the result is 1

Difference in Input devices, output devices, and storage devices

Input, used to interact with, or send data to the computer (mouse, keyboards, etc.) Output, which provides output to the user from the computer (monitors, printers, etc.) Storage, which stores data processed by the computer (hard drives, flash drives, etc.)

Define Inheritance

It is a mechanism in which one class acquires the property of another class. For example, a child inherits the traits of his/her parents. With inheritance, we can reuse the fields and methods of the existing class. Hence, inheritance facilitates Reusability

Drawbacks to comma-separated values (CSV)

It's a single file, so its size is limited by the computer's hard drive space and by the amount of time it takes to open a large file. It doesn't come with any built-in tools for querying the data, like sorting by a column or calculating the top value of a column. To analyze the data, we need to either open the CSV in a spreadsheets application or write programs that iterate through the data

Creative Commons licenses

License that allows you to keep your copyright, while allowing others to copy and distribute your work under your conditions, without lawyers and expensive fees.

Waterfall Development Model

Linear model that moves in a sequential order. The team moves onto the next phase only when the previous phase is complete. Requirements and analysis phase, design phase, coding, system integration, testing and debugging, delivery, maintenance. Not best suited for code development, but instead constructions projects.

Internet Engineering Task Force (IETF)

Maintains the specifications for the Internet protocols. The IETF is an open standards committee that comes up with refinements to existing protocols and proposes entirely new protocols. The committee is made up of representatives across the Internet industry and is open to participation by anyone who has opinions about how the Internet should work

Spiral Development Model

One of the most important Software Development Life Cycle models, which provides support for Risk Handling. The Radius of the spiral at any point represents the expenses(cost) of the project so far, and the angular dimension represents the progress made so far in the current phase.

fault-tolerant system

One that can experience failure (or multiple failures) in its components, but still continue operating properly

Scalable system

One that remains effective even with a high number of users

Personally Identifiable Information (PII)

PII refers to any data that can help identify you, such as your address or name

network topology

Refers to the geometric arrangement of the actual physical organization of the computers and other network devices) in a network

HyperText Transfer Protocol (HTTP)

Request the webpage contents from that IP address

3 parts to an algorithm

Sequencing: An algorithm is a step-by-step process, and the order of those steps are crucial to ensuring the correctness of an algorithm Selection: Algorithms can use selection to determine a different set of steps to execute based on a Boolean expression Iteration: Algorithms often use repetition to execute steps a certain number of times or until a certain condition is met

Transport Layer Security (TLS) protocol

Serve the website over a secure, encrypted connection.

What is SSO

Single Sign On - a session and user authentication service that permits a user to use one set of login credentials -- for example, a name and password -- to access multiple applications

Explain Spam, Phishing, Hacking, and Robocalls

Spam is unwanted, unsolicited commercial e-mail, along with mail that is misleading Phishing is expressly designed by a malignant actor to harm a company or individual by obtaining sensitive information. It often takes the form of a seemingly legitimate-looking message from a trusted sender Telemarketers and scammers rely on robocalls to send you marketing messages, attempt to get personal info to be used in an attack against you, and to collect your phone number to determine if you're right for future marketing opportunities Hacking - it is the unauthorized access to or control over computer network security systems for some illicit purpose

Wide Area Network (WAN)

Spans a large geographic area such as a state, province, or country

What is encapsulation?

Surrounding something, not just to keep the contents together, but also to protect those contents. Restricts access to the inner workings of a class or any objects based on that class; this is referred to as information hiding or data hiding.

What is DNS (Domain Name System)?

The main function of DNS is to translate domain names into IP Addresses, which computers can understand. It also provides a list of mail servers which accept Emails for each domain name. ... This record is used to point your domain name to an IP address

line coding

The process of turning binary data into a time-based signal

HTTP & DNS

The protocols powering the World Wide Web, what the browser uses every time you load a webpage

Sequential computing

The computer executes each operation of the program in order, one at a time. Computational model that breaks programs into smaller sequential operations and performs those smaller operations in parallel

Transmission Control Protocol (TCP)

The data transport protocol that's most commonly used on top of IP and it includes strategies for packet ordering, retransmission, and data integrity

Explain digital divide

The digital divide refers to the gap between those able to benefit from the digital age and those who are not

Speedup

The ratio of the time taken to run the program sequentially to the time taken to run the parallelized program

Difference between compiled and interpreted language

a compiled language generates a binary file that can be directly executed and distributed. In a compiled language, the target machine directly translates the program. In an interpreted language, the source code is not directly translated by the target machine. Instead, a different program, aka the interpreter, reads and executes the code.

perceptual audio coding

audio compression algorithm to analyze an audio file and discard sounds outside hearing capacity

Two ways to translate high level language - interpret, compile

interpret - line by line compile - translate all, then execute

What kind of data structure are Array, Linked List, Queues, and Stacks?

linear

What is Bytecode

program code that has been compiled from source code into low-level code designed for a software interpreter. It may be executed by a virtual machine (such as a JVM) or further compiled into machine code, which is recognized by the processor

Types of machine learning

reinforcement learning: The algorithm performs actions that will be rewarded the most. Often used by game-playing AI or navigational robots. unsupervised machine learning: The algorithm finds patterns in unlabeled data by clustering and identifying similarities. Popular uses include recommendation systems and targeted advertising. supervised machine learning: The algorithm analyzes labeled data and learns how to map input data to an output label. Often used for classification and prediction


Conjuntos de estudio relacionados

Psalm 118 - Flashcard MC questions - Ted Hildebrandt

View Set

Phase 3: Introduction to hypothesis testing

View Set

Pharmacology III Final Exam Study Set

View Set

AUTT Ch 64 Heating and Air-Conditioning System Diagnosis

View Set

Chapter 3: Small Business Environment: Managing External Relations

View Set

Chapter 10: Interactive Presentation

View Set

Chapter 14 Review and Assessment

View Set

detailed digestion of carbohydrates, fats, and protiens

View Set