Full Transcript

Big Idea 1 A computing innovation includes a program as an integral part of its function. A computing innovation can be physical (e.g., self-driving car), nonphysical computing software (e.g., picture editing software), or a nonphysical computing concept (e.g., e-commerce). Hardware is the physical...

Big Idea 1 A computing innovation includes a program as an integral part of its function. A computing innovation can be physical (e.g., self-driving car), nonphysical computing software (e.g., picture editing software), or a nonphysical computing concept (e.g., e-commerce). Hardware is the physical component of a computing device, while the software is the instructions in a programming language for the computing device. A computing innovation can have hardware components. However, computing innovation is about the software, not the hardware. Collaboration is a learned skill. That skill includes but is not limited to: Communication Consensus building Conflict resolution Negotiation A program is a collection of program statements that perform a specific task when a computer runs. A program is often referred to as software. A code segment refers to a collection of program statements that are part of a program. Program input is data sent to a computer for processing by a program. Input can come in various forms, such as tactile, audio, visual, or text. For example, a cell phone can convert voice (audio) to text to send a message. An event is an action that supplies input data to a program. Events can be generated when a key is pressed, a mouse is clicked, a program is started, or by any other defined action that affects the flow of execution. Program outputs are any data sent from a program to a device. Program output can come in various forms, such as tactile, audio, visual, or text. Program output is usually based on a program’s input or prior state (e.g., internal values). A development process can be ordered and intentional, or exploratory. An incremental development process breaks the problem into smaller pieces and makes sure each piece works before adding it to the whole. An iterative development process requires refinement and revision based on feedback, testing, or reflection. This may require revisiting earlier phases of the process. Some ways investigations can be performed are as follows: Collecting data through surveys User testing Interviews Direct observations The design phase of a program may include: Brainstorming Planning and storyboarding Organizing the program into modules and functional components Creating diagrams that represent the layouts of the user interface Developing a testing strategy for the program Program documentation is a written description of the function of a code segment, event, procedure, or program and how it was developed. Program documentation helps in developing and maintaining correct programs when working individually or in collaborative programming environments. Three types of program errors can occur: Logic error—This is a mistake in the algorithm or program that causes it to behave incorrectly or unexpectedly. (incorrect implementation of algorithm) Syntax error—This is a mistake in the program where the rules of the programming language is not followed. (missing parenthesis, incorrect indentation, misspelling name of function calls) Runtime error—This is a mistake in the program that occurs during the execution of a program. Programming languages define their runtime errors.(divide by 0, accessing the out-of-bounds index of a list) Big Idea 2 Binary sequences can be used to represent all digital data. Binary sequences can represent colours, Boolean logic, lists, and so on. Anything that can be stored on a computer can be represented by binary sequences. Many physical phenomena can be modelled by analogue signals (sound, colours, temperature). Analogue signals are continuous signals. Computers can only understand digital signals (discrete or finite signals (0s and 1s).) - Analogue signals are continuous and can take on an infinite possible values(the real numbers) - Digital signals are finite. - For example, 8-bit colours can take on one of 256 discrete, finite possibilities. But actual colours can take on any of the infinite possible values or shades. Sampling allows computers to approximate analogue signals such as sound. The number of samples is the the sampling rate, the higher the rate the better the quality. Trying to store a number bigger than the limits will result in an overflow error. A roundoff error occurs when decimals (real numbers) are rounded. Number bases, including binary, decimal, and hexadecimal, are used to represent and investigate digital data. Data sets pose challenges regardless of size, such as: The need to clean data Incomplete data Invalid data The need to combine data sources Problems of bias are often created by the types and sources of data being collected. Bias is not eliminated by simply collecting more data. A large amount of data is generated by humans. Algorithms that use this data will reflect this bias. Metadata is data that describes your data—for example, a picture of you standing in front of a waterfall is data. The location and time the picture was taken are metadata. Big Idea 3 An abstraction is a way to represent essential features without including the background details or explanations. Abstractions reduce complexity and allow for efficient design and implementation of complex software systems. Procedural abstraction: provides a name for a process and allows a procedure to be used only knowing what it does, not how it does it. A procedure(method/subroutine) is a set of codes that are referred to by name and can be called in the main function. Linear search: An algorithm that iterates through each item in a list until it finds the target value. (Can be used for an unsorted list or sorted list) Binary search: an efficient algorithm for finding an item from a sorted list of items. It works by repeatedly dividing in half the portion of the list that could contain the item until you've narrowed down the possible locations to just one. Program design: A software library: contains procedures that may be used in creating new programs. (e.g. Python's random, numpy libraries) Application program interfaces (APIs): specifications for how the procedures in a library behave and can be used. Heuristic: an approach to a problem that produces a solution that is not guaranteed to be optimal but may be used when techniques that are guaranteed always to find an optimal solution is impractical. Big Idea 4 A computing device is a physical artefact that can run a program. Some examples include computers, tablets, servers, routers, and smart sensors. The device must be able to take inputs, process the inputs, and then calculate results based on those inputs. A computing system is a group of computing devices and programs working together for a common purpose. A type of computing system is a computer network. A computer network is a group of interconnected computing devices capable of sending or receiving data. The bandwidth of a computer network is the maximum amount of data that can be sent in a fixed amount of time. A path between two computing devices on a computer network (a sender and receiver) is a sequence of directly connected computing devices that begins at the sender and ends at the receiver. Routing is the process of finding a path from sender to receiver. A protocol is an agreed-upon set of rules that specify the behaviour of a system. The scalability of a system is the capacity for the system to change in size and scale to meet new demands. Internet protocol (IP) addresses and routes your online requests. For a device to connect to the internet, it is first assigned an internet protocol address. Transmission control protocol (TCP) is a protocol that defines how computers send packets of data to each other. Data travelling on the internet is broken down into small chunks of data called packets. TCP protocols guide the rules on how data are subdivided into packets before transmission. User datagram protocol (UDP) is a protocol that allows computer applications to send messages without checking for missing packets to save the time needed to retransmit missing packets. UDP is less reliable than TCP, which does resend packets lost when transmitting. Fault-tolerant: If a system fails, a different path can be chosen between the sending computer and the receiving computer. Redundancy refers to extra paths that can mitigate the failure of a system if other components fail. This is important because elements can fail at any time, and fault tolerance allows users to continue to use the network. The internet refers to the hardware. It is made up of computers, cables, routers, and many more components that make up the entire network. It is a global decentralized network connecting millions of computers. The World Wide Web, in contrast, refers to the software used on the Internet. HTTP is a protocol used by the World Wide Web to transmit data. Sequential computing is a computational model in which operations are performed in order one at a time. A sequential solution takes as long as the sum of all of the steps. Parallel computing involves breaking up a task into smaller, sequential pieces. Then those sequential pieces are all executed at the same time, each on its processor or on a set of computers that have been networked together. The “speedup” of a parallel solution is measured in the time to complete the task sequentially divided by the time to complete the task when done in parallel: Speedup = (sequential run time)/(parallel run time) Distributed computing is a computational model in which multiple devices are used to run a program. Big Idea 5 Crowdsourcing is a sourcing model in which individuals or organizations obtain goods and services, including ideas and finances, from a large group of internet users. Examples include "idea competitions" and "innovation contests" such as the Netflix Prize and Lego Ideas. Citizen science is scientific research conducted in whole or part by distributed individuals, many of whom may not be scientists, who contribute relevant data to research using their own computing devices Creative Commons—a public copyright license that enables the free distribution of an otherwise copyrighted work. This is used when the content creator wants to give others the right to share, use, and build upon the work they have created. Open source—programs that are made freely available and may be redistributed and modified Open access—online research output free of any restrictions on access and free of many restrictions on use, such as copyright or license restrictions Security is needed to protect the confidentiality, integrity, and availability of information. Security protects that data from cyber-attacks and hacking. Privacy is the right to control data generated by one’s usage of computing innovations and restrict the flow of that data to third parties. Personally, identifiable information (PII) is information about an individual that identifies, links, relates to, or describes that person. Multifactor authentication is a method of computer access control in which a user is granted access only after successfully presenting several pieces of evidence to an authentication mechanism, typically in at least two of the following categories: Knowledge—something the user knows Possession—something the user has Inherence—something the user is Encryption is the process of encoding data to prevent unauthorized access. Decryption is the process of decoding the data. Symmetric key encryption uses the same key for both encryption and decryption. The one key is a shared secret and relies on both sides keeping their key secret. Public key encryption (also called asymmetric encryption) uses two keys—one private and one public. Anyone with the public key can encrypt data, and the public key is public. To decrypt, a second private key is needed. Malware is malicious software intended to damage a computing system or take partial control or its operations. Malware can be spread over email, executable files, instant messaging, social media, freeware, shareware, and many other methods. Computer viruses are malicious programs that can copy themselves and gain access to a computer in an unauthorized way. Viruses often perform some type of harmful activity on infected host computers. Phishing is a technique that directs users to unrelated sites that trick the user into giving personal data. Phishing is a technique used by cybercriminals posing as a legitimate institution to lure individuals into providing sensitive data, such as PII, banking and credit card details, and passwords. Keylogging is another method involving unauthorized access to a computer. Keylogging is the use of a program to record every keystroke made by the computer user to gain fraudulent access to passwords and other confidential information. A rogue access point is a wireless access point that gives unauthorized access to secure networks where data sent over public networks can be intercepted, analysed, and modified.

Use Quizgecko on...
Browser
Browser