1/209
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
digital divide
the gulf between those who have ready access to computers and the Internet, and those who do not.
Solutions to digital divide
*Increase affordability
*Empowering usersImprove the relevance of *online content Internet infrastructure *developmentAddress gender gap in internet access
Creative Commons
A kind of copyright that makes it easier for people to copy, share, and build on your creative work, as long as they give you credit for it.
Open Source
Software that is created for free use by everyone
Copyright
the exclusive legal right, given to an originator or an assignee to print, publish, perform, film, or record literary, artistic, or musical material, and to authorize others to do the same.
Abstraction
Reducing information and detail to focus on essential characteristics.
Control abstraction
Don't care "How" it gets done
Data Abstraction
Representing or storing information with methods that separate layers of concerns so that the programmer can work with information while ignoring lower-level details about how the information is represented.
Abstraction allows….
you to modify "parts" of a program without messing up the larger program
Abstraction Hierarchy
Most general concepts on top of the hierarchy and specific concepts on the bottom
pattern recognition
looking for similarities among and within problems
Problem Decomposition
The process of breaking a complex problem or system into parts that are easier to conceive, understand, program, and maintain.
Binary
The binary number system is base 2, using only bits 0 and 1.
Hexadecimal
A base-16 number system that uses sixteen distinct symbols 0-9 and A-F to represent numbers from 0 to 15.
natural language
Person to Person
Oval (Flowchart)
start/end
Rectangle (flowchart)
Action or process
Dimond (Flowchart)
A choice
Arrow (flowchart)
Direction of a choice
Rhombus (flowchart)
Input / Output
Pseudocode
Shorthand notation for programming
Algorithm Analysis
A general process that determines the amount of resources (such as time and storage) necessary to execute any particular algorithm, most commonly using Big O notation, such as O(N) or O(N^2)
Linear Search
Each item in the list is checked in order.
Binary Search
An ordered list is divided in 2 with each comparison.
Bubble Sort
Moving through a list repeatedly, swapping elements that are in the wrong order.
Merge Sort
A list is split into individual lists, these are then combined (2 lists at a time).
recursive algorithm
solves a problem by breaking that problem into smaller subproblems, solving these subproblems, and combining the solutions.
Randomization
a process of randomly assigning subjects to different treatment groups
Heuristic solution
*A problem-solving technique which sacrifices accuracy to increase speed
*Rules of Thumb
Linear Algorithm
Sequential search, searches by checking each element in a set.
Quadratic
degree of 2
exponential function
Constant ratio increase
logarithmic function
What exponent is needed to get a number
control structure
*An instruction that determines the order in which other instructions in a program are executed
*If and Loops
Standard Operators
==, ||, &&
correctness (of a program)
depends on correctness of program components, including code segments and procedures
Extensibility
allows for future growth in a program
modifiability
software is able to be modified
Reusability software
The use of existing assets such as software, knowledge, code into new software
syntax error
a character or string incorrectly placed in a command or instruction that causes a failure in execution.
runtime error
becomes apparent when the program is executed
compile-time error
An error in the source code that makes it impossible to compile. Also called a "syntax error".
overflow error
A calculation produces a result that is greater than the computer can deal with or store with the available number of bits
round-off error
the error produced when a decimal result is rounded in order to provide a meaningful answer.
logic error
An error in a program that makes it do something other than what the programmer intended.
sequence
the order in which things happen or should happen
selection
A generic term for a type of programming statement (usually an if-statement) that uses a Boolean condition to determine, or select, whether or not to run a certain block of statements.
Iteration Control Structure
*Represents the computer's ability to repeat a series of instructions
*Loops
Assignment Operator
the "=" sign in an assignment statement
Arithmetic Operators
perform mathematical calculations
Relational Operators
Used to compare two values. Operators include =,
logical operators
&& [and]
|| [or]
! [not]
floating point
A type that represents numbers with fractional parts.
Global scope variables
*when variables are declared outside of a function
from other files
*can have unintended side effects
Local scope variable
only used for the block of code they are declared in.
Event-driven programming
the program is activated by events such as button clicks.
Dictionary and maps
stores data in an array
Stack
First In Last Out data storage
Push
Add item to top of stack
Pop
To remove an item from the top of a stack.
queue
Data stored in a "line"
"First in, First Out"
Enqueue
To add an item to the rear of a queue.
Dequeue
To remove an item from the front of a queue.
Characteristics of well-documented computer programs
*Usable
*Readable
*Modular
code review
a peer review process in which programmers check over one another's work to ensure its quality
end user
A representative consumer for whom a hardware or software product is designed.
apis
Application Programming Interface, how you define libraries and call them
Data Validation
the process of verifying that a program's input data is within the expected range
Data verification
validates that data is correct and accurate
Components of IDEs
*Text Editor
*Debugger
*Compliler
*Code Completion
*Language Support
*Plug-ins
Low level programming language
A programming language that provides little or no abstraction from a computer's instruction set architecture—commands or functions in the language map closely to processor instructions. Generally this refers to either machine code or assembly language.
High level programming language
A programming language that hides the details of how the computer hardware solves a problem and is therefore easier for a programmer to use.
Procedural Programming
method of programming that uses step-by-step instructions
object-oriented programming
designing a program by discovering objects, their properties, and their relationships
Programming Paradigm
A way of approaching problems; object-oriented, functional, and imperative paradigms are three major paradigms.
Functional Programming
A programming paradigm that uses functions to create programs.
Imperative Programming
where a developer writes code that describes in exacting detail the steps that the computer must take to accomplish the goal
class diagram
Rectangle with name at top, variables in the middle , and methods in the bottom
Inheritance
when subclass get the variables and methods of a super class
overloading a method
giving two methods the same name but different method signatures
overriding a method
redefining a method in a subclass
compilation
turning programming language into machine language
interpretation
the result of a program