1/32
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
computing
the discipline focused on problem-solving via algorithms
State the two main focuses of computing
Thoroughly assessing a problem with the intention of solution and providing the necessary tools to do so
algorithm
a definite, step-based step of instructions used to complete a particular task
State the characteristics of a good algorithm (5)
Unambiguous, finite, language-independent, comprehensive, effective
How do algorithms relate to I/O?
Every algorithm has a defined amount of inputs (zero or more) and at least one output
State and describe the three foundational control structure algorithms operate by
Sequencing - the method of execution in which instructions are processed one line at a time in a specific order — top to bottom
Selection - a decision-making method in which an instruction is chosen based on whether a condition is met or not
Iteration - a method of execution in which a set of instructions are repeated, either finitely or infinitely.
Differentiate between declarative and imperative knowledge
Declarative knowledge refers to widely known and static truths known as axioms while imperative knowledge refers to that related to the precise steps taken to arrive to certain information
Use imperative and declarative knowledge as a medium to explain algorithms and computing
Algorithms are a form of imperative knowledge and their outputs are often simplified into declarative knowledge with little regard for the sequence of instructions underlying them. This is similar to the dynamic in which meals are purchased and hence you could liken algorithms to recipes, their outputs to food and computing to cooking
programming
instance of writing instructions for a computer in a way that it can understand so that it can perform a specific task
program
a set of instructions, understandable by a computer, that was created to perform a specific task
computational proessing
the dynamic execution of a program
Explain what machine code is and how computers process it
Machine code is composed of bits which group together to form bytes which each have a unique memory address/mapping via character encoding systems such as ASCII and EBCDIC which are used to translate numbers, characters and symbols to machine code which is then understood by the computer
programming language
a language system engineered specifically to communicate instructions formally to a computer
State and describe the three main components of a programming language
Vocabulary - words native to the programming language that once translated into machine code form a part of an instruction for the computer
Syntax - the structure of written instructions in the programming language
Semantics - assigning operational meaning to processed instructions
Differentiate between low-level and high-level programming languages and state how programming languages are categorised as such
High-level programming languages are those which are closer to human language while low-level languages are those which can work more directly with the machine but are difficult for humans to maintain.
A program is determined to be high-level or low-level based on its level of abstraction
abstraction
the instance in which the complexities behind, otherwise basic, concepts are hidden to make focusing on more critical concepts easier
Explain why high-level programming languages are used
High-level programming languages are used instead of writing in binary to reduce the complexity of coding and making it more accessible and the overall process more flexible and smooth as opposed to memorizing all the bytes needed to communicate with the computer directly. This allows programmers to focus on tasks that are excusably more demanding
source code
human-readable code
State and describe the two ways in which source code is translated to machine code
Compilation refers to the instance in which the source code is translated fully into machine code before execution while interpretation refers to the instance in which the source code is translated and executed line-by-line at runtime
State three main differences between compilers and interpreters
Compilers translate the entire code into machine code within an executable file, after which neither the compiler nor source code is needed to run the program. While interpreters translate the entire code line-by-line and need to be present alongside the source code for the program to run
Compilers are faster + are better for error handling compared to interpreters because latter executes line-by-line
variable
named storage locations within a computer’s memory that holds a specific data value
operator
a symbol or keyword used to perform operations on values and variables
datatype
an attribute associated with values in code that tell the computer how to handle the data associated with it
keyword
reserved words in the vocabulary of a programming language that correlate with a specific type of instruction for the computer
expression
a unit of code that simply produces a single, standalone value
statement
a unit of code that gives the computer an instruction to perform a specific action
function
self-contained unit of code that performs a specific task but can be called upon multiple times throughout the program
programming paradigms
the method applied for problem solving within a program
Differentiate between the two main programming paradigms
Imperative programming involves telling the computer the exact commands to run in a specific order
Declarative programming involves declaring the desired outcome to the computer without giving it specific instructions
Describe procedural programming and state three examples
type of imperative programming built around code running from top to bottom with larger tasks being broken down into functions, separated from variables, and the use of control structure to direct the flow of execution
C, PASCAL, BASIC
Describe object-oriented programming and state three examples
type of imperative programming that resolves around the use of objects and the flexibility afforded from their ability to possess both shareable and unique characteristics and behavior
Python, Java, C++
Describe functional programming and state two examples
type of declarative programming in which pure functions are used to manage data
Haskell, JavaScript
Describe logical programming and state one example
type of declarative programming in which facts and rules are defined that are used to handle queries and derive an output
Prolog