IGCSE Computer Science 0478 Revision Notes
IGCSE Computer Science 0478 Revision Notes
Binary addition is performed by adding the bits of two binary numbers starting from the least significant bit, carrying over any value greater than 1 to the next higher bit position. Overflow occurs when the sum exceeds the largest value that can be represented with the given number of bits. For example, adding 1 + 1 results in 10 (binary), where 1 is carried over to the next higher bit position. In a fixed-width binary system, this can lead to overflow if the carry cannot be represented .
The efficiency of an algorithm can be evaluated based on time complexity, space complexity, and scalability. Time complexity measures how the execution time of an algorithm increases with input size, commonly expressed using Big O notation. Space complexity evaluates the memory usage. To improve efficiency, algorithms can be optimized using techniques like memoization to reduce repeated calculations or employing more efficient data structures. Additionally, identifying and removing bottlenecks or employing multi-threading can enhance performance .
High-level languages offer easier readability and quicker development processes due to their abstraction and similarity to natural language, which reduces complexity and enhances productivity. Examples include Python and Java. However, they may lead to less efficient code execution compared to low-level languages. Low-level languages, like assembly, offer better hardware control and execution speed but at the cost of increased complexity and longer development times. These trade-offs necessitate choosing a language based on project requirements, including performance needs and developer expertise .
ASCII (American Standard Code for Information Interchange) uses 7 bits to represent 128 characters, largely accommodating English text and control sequences. In contrast, Unicode is a comprehensive standard using varying bit lengths (e.g., UTF-8, UTF-16) to represent a wide array of characters beyond the Latin alphabet, including symbols, emojis, and characters from various languages. Unicode is more suitable for modern applications because of its extensive character set, enabling global software compatibility and supporting internationalization and localization processes .
Ethical concerns related to internet use include issues of privacy, data security, copyright infringement, and unauthorized data collection. Privacy is compromised when personal information is collected without consent or used inappropriately. Data security is threatened by cyberattacks and data breaches, risking exposure of sensitive information. Furthermore, the ease of digital sharing challenges copyright laws, leading to potential IP theft. These issues necessitate rigorous legal frameworks and ethical standards to protect users' rights and data integrity .
An operating system manages multitasking by allocating CPU time to various processes, ensuring they appear to run concurrently. This involves context switching, where the CPU status is saved and loaded for different processes. Challenges include ensuring real-time responsiveness, avoiding resource conflicts such as deadlocks, and managing memory efficiently to prevent thrashing, where excessive swapping of processes degrades system performance. These require sophisticated scheduling algorithms and memory management techniques .
Validation checks in databases ensure data integrity by verifying that the data entered meets specified criteria. For example, length checks ensure data is within a certain range of characters, while range checks confirm numerical values lie within a set boundary. Presence checks ensure fields are not left blank, and type checks confirm the data type matches expectations. Implementing these checks prevents errors and maintains data quality, as seen in database management systems like SQL, where constraints such as PRIMARY KEY or UNIQUE enforce strict adherence to data standards .
Firewalls and antivirus software contribute to system security by preventing unauthorized access and detecting potential threats. Firewalls act as a barrier between a trusted network and untrusted networks, filtering incoming and outgoing traffic based on predetermined security rules. Antivirus software scans for, detects, and removes malicious software, protecting the system from viruses, worms, and Trojans. Together, they provide a layered defense system, reducing the risk of infection and unauthorized data access .
Logic gates are used to perform logical operations in electronic devices and make decisions based on different input conditions. For example, an AND gate outputs a true (1) signal only when all its inputs are true. In real-world applications, logic gates are used in circuits such as traffic light controllers, where the system needs to decide which set of lights to activate based on sensor inputs. They are also fundamental in building combinational and sequential logic circuits that perform specific tasks in digital systems .
Serial data transmission sends data one bit at a time over a single channel, while parallel transmission sends multiple bits simultaneously over multiple channels. Serial transmission is typically used for long-distance communication due to its higher reliability and lower likelihood of signaling errors, such as in USB and Bluetooth communication. In contrast, parallel transmission is often used for short-distance communication within a computer system, such as between the CPU and RAM, where speed is prioritized over distance .