1/57
Flashcards of key vocabulary terms and definitions from the lecture notes.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Algorithm
A sequence of steps that can be followed to complete a task.
Algorithmic Thinking
Solving problems by defining steps and the sequence needed.
Pseudocode
Something resembling code, but it's often a bit more relaxed; how you do it doesn't really matter as long as it looks a bit like code.
Abstraction
Removing unnecessary detail from a problem.
Decomposition
Breaking down a problem into subproblems that each represent a specific task.
Trace Table
Shows how values change when an algorithm is actually carried out.
Linear Search
A search algorithm that compares each item in a list one by one until the target is found; there is no need for the list to be in order.
Binary Search
Works by comparing the middle item to your target item and discarding half of the list which the target can't be in; only works if the list is ordered.
Bubble Sort
Works by doing a series of passes, going through the list and swapping each pair if it needs to, repeating until a single pass happens with no swaps.
Merge Sort
Divides a list continuously by two until each list has one item in it only, and then merges the lists, combining two lists at a time, keeping the items in order as you do this.
Insertion Sort
Starts with one item in a sorted part and moves items one by one from your unsorted part to the sorted part.
Data Types
Determine how data is stored in the computer and also the operations it can do.
Real/Float Data Type
A fractional number.
String Data Type
Any value with quotes around it.
Casting
Converting between one data type to another.
Exponentiation
To the power of.
Quotient (div)
Integer division; does the division but always cuts off the fractional part.
Modulus (mod)
Gives you the remainder after division.
Substring
A string operation where you extract a portion of a string based on starting index and number of characters.
Concatenation
Putting two strings together.
Variable
Identifiers that hold a value that can be changed.
Constant
Same as variables, but they can't be changed once assigned a value.
Sequence
A block of code where two or more lines are executed line by line.
Selection
Using if statements to check conditions.
Iteration
Where some code will repeat (loops).
Count-Controlled Loop
A for loop that repeats a set number of times.
Condition-Controlled Loop
Loops that repeat until a condition is broken (while loop) or met (do until loop).
Subprogram/Subroutine
Named out-of-line blocks of code (procedure or function).
Procedure
A type of subprogram.
Function
A type of subprogram which has a return value.
Parameters
Variables used as an input to a subprogram.
Return Value
An output from a subprogram that is kept internal.
Local Variable
Only exists when the subprogram is executing and is only accessible inside of a subprogram.
Global Variable
Exists outside of a function.
Indentation
A gap at the start of a line; makes the code clearer to look at because you can easily see what lines of code belong to what block of code.
Comment
An annotation in code used to explain what code is doing to make it easier to understand.
Data Structure
Organized collections of items.
Array
Contains items of the same data type and is generally of a fixed or static length.
Indexing
Using a number to refer to a particular item in an array.
SQL
For interacting with databases; SQL select is used to search and retrieve data from tables.
2D Arrays
Useful for representing tables; an array of arrays.
Defensive Design
Trying to make your programs robust.
Iterative Testing
Testing specific modules while you are developing; repeatedly testing stuff until it is all perfect.
Terminal/Final Testing
Testing for a whole program right after development.
Syntax Error
Where you've not followed the rules of your language; the code won't even run.
Logical Error
If a code does not do as you intend; it does run, it just doesn't quite do what you want it to do.
Validation
Enforcing a rule around user input.
Authentication
Checking the identity of the user.
Boolean Logic
A separate topic with three Boolean operators, logic gate symbols, and associated truth tables.
NOT Gate
A triangle with a tiny circle at the end; flips the input.
AND Gate
Two inputs and one output; only one if both inputs are one.
OR Gate
Will only give you zero if both inputs are false.
High-Level Language
More readable and easier to code in; portable but slower to execute.
Low-Level Language
Assembly code and machine code; more control, easier to optimize, but specific to particular CPUs and harder to write.
Translator
A program that converts one language to another.
Compiler
Produces an executable file when you run it; fast to execute, but errors are only shown right at the end.
Interpreter
Translates an instruction then running it straight away; you see errors as soon as they happen, but users need to see the source code.
Integrated Development Environment (IDE)
Supports your programming with features like an editor, debugging tools, a runtime environment, and a translator.