1/196
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
Investigate stage (development framework)
Define the problem and requirements, and plan a development schedule (Gantt chart).
Design stage (development framework)
Design the data structures, then design and test the algorithm.
Develop stage (development framework)
Write and debug the code, including unit testing.
Evaluate stage (development framework)
User acceptance testing and a developer retrospective (what went well, what to improve).
Linear development process
Each stage is finished before the next one starts (waterfall).
Iterative development process
Small cycles of design, build and test are repeated, using feedback each time.
Gantt chart
Bar chart of tasks against time, used to schedule a project.
Validate input before processing
Check data is acceptable before using it so bad data cannot cause errors or crashes.
Clear and uncluttered mainline
The main program is short and mostly calls subroutines.
One logical task per subroutine
Each subroutine does a single job, making it easier to test, reuse and maintain.
Stub
A placeholder for a routine that has not been written yet, so the rest of the program can still be tested.
Writing for subsequent maintenance
Using comments, meaningful names and clear structure so others can update the code later.
Version control
Tracking changes to code over time so earlier versions can be restored.
Regular backup
Copying work often so it is not lost.
Exception handling
Code that deals with errors while the program runs so it does not crash.
Functions and return values (good practice)
A function should return a single value or a single data structure.
Sequence
Instructions run one after another in order.
Selection
Choosing which code runs based on a condition (if / else).
Iteration
Repeating code in a loop.
Fixed iteration
A for loop that repeats a set number of times.
Pre-test loop
A while loop. Checks the condition first, so it might never run.
Post-test loop
A repeat-until loop. Checks the condition at the end, so it always runs at least once.
Integer
Data type for whole numbers.
Float
Data type for numbers with a decimal part.
String
Data type for a sequence of characters (text).
Boolean
Data type with only two values: True or False.
Arithmetic operators
Relational operators
== != > < >= <=. Compare values and give True or False.
Logical operators
AND, OR, NOT. Combine or reverse conditions.
Logical order of precedence
NOT is evaluated first, then AND, then OR. Brackets override this order.
Parameter vs argument
A parameter is the variable in the function definition. An argument is the actual value passed in when the function is called.
Local variable
Exists and can be used only inside the function where it is declared.
Global variable
Declared outside functions and visible throughout the program.
Pass by value
A copy of the data is sent to the function, so the original is unchanged.
Pass by reference
The original variable is sent, so changes inside the function change the original.
One-dimensional array
A list of items accessed by an index position.
Two-dimensional array
A grid of items accessed using a row and a column, e.g. array[row][col].
Dictionary
Data structure of key-value pairs. Values are looked up by key.
Modular programming
Splitting a program into functions or classes that each do one job.
Big O notation
Describes how an algorithm's work grows as the input size n grows.
O(n)
Linear. Doubling the data roughly doubles the work (e.g. linear search).
O(log n)
Logarithmic. Very efficient, work grows slowly as data grows (e.g. binary search).
O(n squared)
Quadratic. Work grows rapidly as data grows (e.g. bubble, insertion and selection sort).
Linear search
Checks each item in turn until the target is found. Works on unsorted data. O(n).
Binary search
Repeatedly checks the middle of a sorted list and discards half. Needs sorted data. O(log n).
Bubble sort
Repeatedly compares adjacent items and swaps them if they are out of order. O(n squared).
Insertion sort
Takes each item and inserts it into its correct position in the sorted part of the list. O(n squared).
Selection sort
Repeatedly finds the smallest remaining item and places it next in the sorted part. O(n squared).
Acceptance testing
Checking the system meets users' functional requirements and needs.
Live test data
Realistic data (large files, mix of transaction types, response times) used to test in the expected environment.
Load testing
Testing how the system performs with a large volume of data.
Validation against design specifications
Checking the solution does what the design said it should.
Normal, boundary and invalid test data
Typical valid values, values at the limits of the valid range, and values that should be rejected.
Comparing actual with expected output
The basic test check: run the test and compare the result with what was predicted.
Unit test
A test that checks one small piece of code (e.g. a function) works correctly.
Syntax error
Code breaks the rules of the language, so it will not run.
Logic error
The program runs but produces wrong results.
Runtime error
The program crashes while running, e.g. division by zero or index out of range.
Breakpoint
A marker that pauses the program so you can inspect it.
Print statement debugging
Printing variable values to see what the program is doing.
Desk checking (trace table)
Manually stepping through an algorithm and recording variable values on each row to find logic errors.
Class (OOP)
A blueprint that defines the attributes and methods of objects.
Object (OOP)
A specific instance created from a class.
Instantiation
Creating an object from a class.
Attribute (OOP)
Data stored in an object.
Method (OOP)
A function belonging to a class. An action the object can perform.
Encapsulation
Bundling data and methods together and hiding the internal details.
Abstraction
Showing only what is needed and hiding the complexity.
Inheritance
A new class reuses and extends an existing class.
Polymorphism
The same method name behaves differently for different classes.
Developer rights
Their intellectual property is recognised by others.
Developer responsibilities
Credit others' work, produce quality software, respond to user problems, follow a code of conduct, never create or spread malware, design for ergonomics and inclusivity, and protect privacy.
Impacts of software on society
Malware, reliance on software, social networking, cyber safety, and unreliable or misleading information online.
OSI model
7-layer conceptual model: Application, Presentation, Session, Transport, Network, Data Link, Physical.
OSI Layer 2
Data Link layer. Uses MAC addresses (switching).
OSI Layer 3
Network layer. Uses IP addresses (routing).
DoD TCP/IP model
4-layer practical model the internet uses: Application, Transport, Internet, Network.
TCP
Reliable and connection-based. Checks delivery and resends lost data. Slower. Used for web and email.
UDP
Fast and connectionless with no delivery guarantee. Used for streaming and gaming.
IPv4
32-bit addresses. Running out of addresses.
IPv6
128-bit addresses. A vastly larger pool.
Private IP address
Used inside a local network. Not reachable directly from the internet.
Public IP address
Unique address on the internet.
Default gateway
The router address a device uses to send traffic out of its local network.
DNS (Domain Name System)
Translates domain names into IP addresses.
Port
A number identifying which service or application should receive the data.
Packet architecture order
Data, then segment, then packet, then frame, then bits as it passes down the layers.
Subnet mask
Splits an IP address into a network part and a host part.
CIDR notation
Shows the number of network bits, e.g. /24 means mask 255.255.255.0.
Usable hosts in a /24 network
8 host bits gives 256 addresses, minus 2 reserved (network and broadcast) = 254 usable hosts.
Transmission media
The cable or wireless link that carries the signal.
Modem
Converts signals so you can connect to your ISP.
Router
Forwards packets between networks using IP addresses.
Gateway
Connects networks that use different protocols.
Switch
Connects devices in a LAN and forwards frames using MAC addresses.
Wireless access point
Lets wireless devices join the network.
Firewall
Filters network traffic according to rules.
Bandwidth
The maximum rate of data transfer on a network.
Network segmentation (subnetting)
Splitting a network into smaller broadcast domains for less unnecessary traffic and better security.
Ping
Tests whether a device is reachable and how long the response takes.