1/26
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Abstraction
A way of reducing a problem to it’s essential details by ignoring all irrelevant details
Algorithm
A precise sequence of instructions to solve a problem.
Decomposition
Breaking a complex task down into a set of smaller simpler tasks
Pattern Recognition
Identifying patterns and recognising when two patterns are similar
Iteration
The process of repeating steps in the software development process until the desired outcome is reached.
General positives of the internet on society
Work:The creation of thousands of jobs such as computer programmers, IT managers, and web designers
Entertainment: Increase in forms of entertainment and improved access to others
Transport: GPS, booking flights, cheap computer aided modelling in the creation of vehicles instead of wasting resources on making them physically.
Communication: Social media and the internet allow us to communicate with others way easier.
Negatives of computers in society
Influence in elections through widespread fake news and even the hacking of electronic voting systems.
The carbon emissions in the manufacturing of computer systems.
There is greater inequality caused by the gap between those have easy and affordable access to computers and the internet and those who do not.
Positives of AI in society
Automation of tasks leading to increased efficiency in areas such as manufacturing.
Enhanced decision making which automatically takes into account most that could go wrong or right in a decision.
Medical advancements through AI
negatives/risks of AI in our society
Job displacement: AI could take over certain jobs previously done by humans possibly leading to economic instability
Privacy concerns: AI technology such as facial recognition can infringe on individual privacy.
Dependence: Dependence on Ai may reduce human decision making skills and critical thinking over time.
Ethical Concerns: Issues like autonomous weapons or surveillance raise ethical questions about AI’s role in society.
Hexadecimal Numbers
Displays numbers in sub rows of ascending powers of 16 starting with 16^0/1
Characteristics of Embedded systems that distinguish them from general computers:
Specific Functionality: Designed to perform a specific task rather than general-purpose computing.
Real-time Operation: Often have real-time computing constraints and must respond to inputs within strict time limits.
Resource Constraints: Typically have limited processing power, memory, and storage compared to general computers.
Integration: Often integrated into larger systems, such as appliances and vehicles, rather than existing as standalone devices.
Reliability and Stability: Needs to be highly reliable and stable as they are often used in critical applications.
Difference between Analogue and digital signals.
Analogue signals are continuous signals which represent physical measurements.
Digital signals are discrete time signals generated by digital modulation.
Unicode
A system that uses numbers to represent all characters from many languages (like Chinese, Arabic, emojis, etc.). It supports over a million characters.
ASCII
A basic system that uses numbers to represent English characters (like A, B, 1, 2, etc.). It uses 7 bits and supports 128 characters.
Advantages of Unicode
1. Supports many languages and symbols – You can write in almost any language.
2. Great for global use – People around the world can share text without problems.
Advantages of ASCII
1. Very simple and fast – It’s small and easy for computers to use quickly.
2. Uses very little memory – It only needs 7 bits, so it saves space.
3. Works well for English-only text – It includes all basic English letters and symbols.
ASCII vs UNICODE
Feature | ASCII | Unicode |
Simplicity | Very simple and fast | More complex but powerful |
Memory Usage | Uses very little memory (7 bits) | Uses more memory (up to 32 bits) |
Language Support | Only English | Many languages around the world |
Global Compatibility | Not good for global use | Great for global use |
Special Characters | Very limited (no emojis) | Supports emojis and symbols |
Phishing
when someone pretends to be a trustworthy person or company to trick you into giving away personal information like passwords, credit card numbers, or bank details.
DNS Attack
when hackers target the Domain Name System (DNS)—the system that translates website names (like google.com) into IP addresses—to disrupt, redirect, or spy on internet traffic.
Difference between phishing and DNS attack
Phishing tricks you into giving info.
DNS attacks trick your computer or network into going to the wrong place.
Distinguish between high-level programming language and low-level
High-Level Language:
Easier for humans to read and write
Examples: Python, Java, C++
Less control over hardware
More portable (works on different systems)
Low-Level Language:
Closer to machine code (harder for humans to read)
Examples: Assembly, Machine Code
More control over hardware
Less portable (specific to hardware or system)
What is a low-level programming language
A low-level programming language is a type of programming language that provides little abstraction from the computer’s hardware. It is designed to give the programmer direct control over the system’s resources, such as memory and processor instructions.
Key Characteristics:
Closer to machine code (binary language).
Provides control over hardware and memory management.
Less readable and harder to use for humans.
High level programming language.
A high-level programming language is a programming language that provides a greater level of abstraction from the computer’s hardware. It is designed to be easy for humans to read, write, and understand, often using syntax similar to natural language.
Key Characteristics:
Easier to read and write.
More abstract, not concerned with hardware details.
Automatically handles memory management and other low-level tasks.
Examples include Python, Java, and C++.
HTML
Static Website
A website made of fixed webpages written in HTML and CSS.
Dynamic Website
A website that generates content in real time based on user input, preferences, or interactions.
Modular programming
A software design technique that involves dividing a program into separate, self contained modules or functions.