Computational Thinking
Understanding and developing solutions for complex problems
Decomposition
Breaking down a complex problem into smaller, manageable parts
Abstraction
Filtering out unnecessary details to focus on essential characteristics
Algorithmic Thinking
Focuses on reaching a desired solution through identified steps
Complex Problem
Challenging issue without an immediate solution
Programming
Instructing a computer on what to do and how to do it
Planning
Process similar to computational thinking, involving strategizing before action
Decomposition in Crime Solving
Breaking down a crime into smaller problems for investigation
Abstraction in Program Design
Focusing on essential characteristics while ignoring unnecessary details
Model
General idea of a problem formed through abstraction
Area Calculation Abstraction
Focuses on general characteristics, discarding specific rectangle details
London Underground Map Abstraction
Facilitates journey planning by excluding irrelevant details
Algorithm
Step-by-step procedure for problem solving
Pseudocode
Informal high-level description of a computer program
Flow Diagram
Shows step-by-step program solution using symbols
Decomposed Problem
Problem broken down to consider inputs, outputs, order of instructions, decisions, and repetitions
Syntax
Rules governing the structure of statements in programming
Programming Languages
Languages with specific syntax for program development
Logic Errors
Errors in program functioning as expected
Syntax Errors
Errors due to code not following language rules
Trace Tables
Tables used to track variable changes for identifying logic errors
Integrated Development Environment (IDE)
Software with tools for writing and debugging code
Algorithms
Step-by-step procedures for problem-solving in computing
Searches
Process of examining data to locate a specific item
Sorts
Organizing a data set into a specific order
Linear Search
Basic search technique that checks each item sequentially
Binary Search
Efficient search method that divides the list in half for faster results
Bubble Sort
Simple sorting algorithm that compares adjacent values to arrange them
Merge Sort
Sorting algorithm that divides the list into sublists for sorting
Insertion Sort
Method for inserting elements into correct position during sorting
Efficient
Achieving maximum productivity with minimal wasted effort
Ordered List
List arranged in a specific sequence
Counter
Variable used to keep track of position or iteration
Midpoint
Middle point in a list or range of values
Divide and Conquer
Technique where a problem is divided into smaller subproblems
Swapped
Indicator for whether elements have been exchanged during a sort
Temp
Temporary variable used for swapping values
Length
Determining the number of characters in a string
Pairs
Two elements considered together during sorting
Comparison
Process of evaluating two elements to determine their order
Variable
Named memory address holding a value that can change
Identifier
Name used to reference an array holding related data
Declaration
Identifying a variable before assigning a value
Assignment
Giving a value to a variable for use
Constant
Value assigned a name that cannot change during program execution
Global Variable
Accessible and changeable throughout the program
Local Variable
Confined to a loop or subprogram for specific use
Sequence
Order in which instructions are processed
Selection
Decision-making process determining program path
Iteration
Repeating steps until a condition is met
Count-Controlled Iteration
Repeatedly executing code a fixed number of times
Boolean
Represents TRUE/FALSE values
Looping
Repeating a section of code until a condition is met
Condition Variable
Variable keeping track of iterations in a loop
For Next Loop
Loop where a condition variable determines code repetition
Condition-Controlled Iteration
Repeating code until a condition is met or no longer met
While Loops
Loop testing condition at the start, executing code if condition is met
Repeat Loops
Loop testing condition at the end, always executing code at least once
Infinite Loop
Loop running forever, potentially due to a condition never being met
Nesting
Including one programming construct within another for powerful programming
Nested Selection
Increasing possible paths at a decision point by including one selection within another
Nested Iteration
Nesting iteration constructs for more complex programming
Mathematical Operators
Characters determining actions like addition, subtraction, multiplication, division
Comparison Operators
Operators for assignment and comparisons in condition testing
Logical Operators
Operators combining logical operations for complex decisions
Addition
Using the '+' symbol for summing values
Subtraction
Using the '-' symbol for finding the difference between values
Multiplication
Using the '*' symbol for calculating products
Division
Using the '/' symbol for calculating quotients
Modulus
Finding the remainder after division
Integer Division
Discarding remainders in division
Exponentiation
Using powers for calculations (^)
Use of Brackets
Ordering calculations within brackets first
Data Type
Specifies the type of data that can be stored in an array
Integer
Represents whole numbers
Float
Represents decimal numbers
Character
Represents a single alphanumeric character
String
Represents alphanumeric characters
Casting
Changing the data type of a variable
String Manipulation
Altering and extracting information from strings
Character Position
Locating a character at a specific position in a string
Upper and Lowercase
Changing string characters to uppercase or lowercase
Concatenation
Joining strings to form another string
Basic File Handling Operations
Processing and storing data in files
Record
Each item of data written to or read from a file
Opening and Closing Files
Essential steps before reading from or writing to a file
Reading from a File
Retrieving data from a file one line at a time
End of File
Indicates when all records in a file have been read
Writing to File
Saving data to a file one line at a time
Database
Persistent store of related data
Attribute
One item of data within a record
Structured Query Language (SQL)
Language for querying databases
Retrieving Data
Using commands like SELECT, FROM, and WHERE to fetch data
Boolean Operators
AND and OR used for data retrieval
SQL Query
Retrieves data from a database based on specified conditions
Array
Data structure holding related data elements of the same type
Element
Individual box in an array holding a value
Two-Dimensional Array
Array holding data in rows and columns like a table
Subprograms
Small programs within a main program to perform specific tasks
Procedures
Subprograms to execute a series of steps