OpenLLM-France/wikimedia huggingface dataset:
# A-level Computing 2009/AQA/Problem Solving, Programming, Data Representation and Practical Exercise/Fundamentals of Data Representation/Gray coding

Changing binary numbers from one value to another can involve changing several bits at once. For example changing from 7 to 8, 0111 to 1000 involves 4 digits changing, but why is this an issue?
As you know, computers are very fast and sometimes multiple things happen at once, especially if you are dealing with realtime systems. If program 'A' wanted to read a number stored by program 'B', and read the number mid way through that number changing, program 'A' might read a midstate, an incorrect number.
Taking the simple example above, imagine if we were dealing with money where program B was working out the interest on your account, increasing your money from £7 to £8. Program A might be a cash machine telling you how much money you had in your account. If you look at the program above you see that the cash machine would tell you that you had £13, so you take out £13 and then become immediately overdrawn. (Bank databases actually use locking to solve this, but the example is a good one).
This could be particularly catastrophic if this error occurred in the military. Can you imagine an anti-air battery (Program A) deciding where to fire its missiles, and due to reading the direction of enemy planes stored on a remote radar system (Program B), shooting the missile in the wrong direction and shooting down an allied plane!
What is needed is Gray Code, a number system that changes one bit at a time to avoid midstates. Take a look at the examples below and see how only one bit changes for subsequent number:
| Binary Number | Gray Code |
| Rotary encoder for angle-measuring devices marked in 3-bit binary 0 = 000 1 = 001 2 = 010 3 = 011 4 = 100 5 = 101 6 = 110 7 = 111 | Rotary encoder for angle-measuring devices marked in 3-bit binary-reflected Gray code (BRGC) 0 = 000 1 = 001 2 = 011 3 = 010 4 = 110 5 = 111 6 = 101 7 = 100 |
Usually in the exam you wouldn't be asked to convert anything more that 3 or 4 bits. But in case you do here is an easy method for converting binary to gray code.
* Take the first bit as it is.
* For the next bit, add the previous bit to the current bit.
* If you have a carry ignore it. E.g. 1+1=10. Take it as 0 rather than 10.
* Repeat for the rest of the bits.
* Exercise: Gray Code
* Explain how Gray Code works:
* Answer:
* Gray code works by only one bit changing between subsequent numbers. This is to avoid midstates
* Explain why we might want to use Gray Code
* Answer:
* We need to use gray code in situations where we are worried about midstates. That means in situations where we might accidentally read a value before it has completely changed from one state to another, giving us an incorrect value.
* Complete the following sequence of Gray Code states:
* 0 = 000
* 1 = 001
* 2 = ...
* 3 = ...
* 4 = ...
* 5 = 111
* 6 = 101
* 7 = 100
* Answer:
* 0 = 000
* 1 = 001
* 2 = 011
* 3 = 010
* 4 = 110
* 5 = 111
* 6 = 101
* 7 = 100
# A-level Computing 2009/AQA/Problem Solving, Programming, Data Representation and Practical Exercise/Fundamentals of Data Representation/Unicode

The problem with ASCII is that it only allows you to represent a small number of characters (~128 or 256 for Extended ASCII). This might be OK if you are living in an English speaking country, but what happens if you live in a country that uses a different character set? For example:
* Chinese characters 汉字
* Japanese characters 漢字
* Cyrillic Кири́ллица
* Gujarati ગુજરાતી
* Urdu اردو
You can see that we quickly run into trouble as ASCII can't possibly store these hundreds of thousands of extra characters in just 7 bits. What we use instead is unicode. There are several versions of unicode, each with using a different number of bits to store data:
| Name | Descriptions |
| UTF-8 | 8-bit is the most common unicode format. Characters can take as little as 8-bits, maximizing compatibility with ASCII. But it also allows for variable-width encoding expanding to 16, 24, 32, 40 or 48 bits when dealing with larger sets of characters |
| UTF-16 | 16-bit, variable-width encoding, can expand to 32 bits. |
| UTF-32 | 32-bit, fixed-width encoding. Each character takes exactly 32-bits |
With over a million possible characters we should be able to store every character from every language on the planet, take a look at these examples:
| code point | glyph* | character | UTF-16 code units (hex) |
| U+007A | z | LATIN SMALL LETTER Z | 007A |
| U+6C34 | 水 | CJK UNIFIED IDEOGRAPH-6C34 (water) | 6C34 |
| U+10000 | | LINEAR B SYLLABLE B008 A | D800, DC00 |
| U+1D11E | | MUSICAL SYMBOL G CLEF | D834, DD1E |
You can find out more about unicode encoding on Wikipedia
* Exercise: ASCII and Unicode
* Without using the crib table (you won't get it in the exam!) answer the following questions:
* The ASCII code for the letter 'D' is 100 0100, what is the letter 'G' stored as
* Answer:
* 100 0111 - as it is 3 characters further on in the alphabet
* The ASCII code for the letter 's' is 111 0011, what is the letter 'm' stored as:
* Answer:
* 110 1101 - as it is 6 characters down in the alphabet
* Give a benefit of using ASCII:
* Answer:
* Each character only takes up 8 bits, meaning that storing data in ASCII may take up less memory than unicode
* Give a benefit of using unicode over ASCII:
* Answer:
* ASCII stores a much smaller character set than unicode, meaning that you are limited to the Latin character set and cannot represent characters from other languages.
* How many different characters can 7-bit ASCII represent?
* Answer:
* 2^7 = 128
* You are designing a computer system for use worldwide, what character encoding scheme should you use and why?
* Answer:
* unicode as it would allow you to display non Latin character sets such as Hindi and Cyrillic
# A-level Computing 2009/AQA/Problem Solving, Programming, Data Representation and Practical Exercise/Fundamentals of Data Representation/Status register

Maths in a processor is normally performed using set numbers of bits. For example where you add 8 bits to 8 bits. This will often cause no problems at all:
But what happens if we add the following numbers together:
This may appear to have gone ok, but we have a problem. If we are dealing with twos complement numbers the answer from adding two positive numbers together is negative!

## Overflow

Let's take a look at another problem example, the problem of overflow
As you can see in the sum above, we have added two negative numbers together and the result is a positive number.
To deal with the situations mentioned above we use the status register

## The most common flags

| Flag | Name | Description |
| Z | Zero flag | Indicates that the result of an arithmetic or logical operation (or, sometimes, a load) was zero. |
| C | Carry flag | Enables numbers larger than a single word (in the examples above 4 or 8 bits) to be added/subtracted by carrying a binary digit from a less significant word to the least significant bit of a more significant word as needed |
| S / N | Sign flag / Negative flag | One indicates whether the result was negative whereas the other indicates whether a subtraction or addition has taken place. |
| O | Overflow flag | Indicates that the signed result of an operation is too large to fit in the register width using twos complement representation. |
| P | Parity flag | Indicates whether the number of set bits of the last result is odd or even. |
* Status register working
* For the sum that we met earlier we will take a look at how the status register can be used to stop the incorrect answer arising:
* 01110011 (115)
* +01001010 (74)
* 10111101 (-67)
* Status register: Z = False | C = False | N = True | O = True | P = Even
* Using these flags you can see that the result is negative, if the original sum used only positive values, then we know we have an error.
* Looking at the other equation:
* 1010 (-6)
* +1010 (-6)
* (1)0100
* Status register: Z = False | C = True | N = False | O = True | P = Odd
* Using these flags you can see that the result is positive when the original used two negative numbers. We can also see that overflow occurred.
* Exercise: Status register
* What is the problem with the result of the following 4 bit sum:
* 1011 (-5)
* +1011 (-5)
* Answer:
* The result would create overflow, giving an incorrect answer:
* 1011 (-5)
* +1011 (-5)
* (1)0110 (+6)
* In the context of calculations what is overflow?
* Answer:
* When a the result of a calculation is too large to fit into a set number of bits.
* What do we need the status register for?
* Answer:
* The status register holds flags keeping track of the results of sums, this helps us to see when there is an error in a result and correct it accordingly
* Name three flags in a status register:
* Answer:
* Overflow, Carry, Negative, Zero
* Show the Status register for the following sum:
* 1001 (-7)
* +1001 (-7)
* (1)0010 (+2)
* Answer:
* Status register: Z = False | C = True | N = False | O = True | P = Odd
# A-level Computing 2009/AQA/Problem Solving, Programming, Data Representation and Practical Exercise/Fundamentals of Data Representation/Information coding schemes

So far we have seen the different ways that binary can be used to store numbers. As we already know, most computers can only understand binary and we often need to store alpha-numeric text (numbers, letters and other characters). To do this a computer will use a coding scheme. The most popular coding schemes are ASCII and Unicode. You'll need to know how each works and the benefits and drawbacks of using them.
# A-level Computing 2009/AQA/Problem Solving, Programming, Data Representation and Practical Exercise/Fundamentals of Data Representation/Parity bits

Sometimes when you see ASCII code it only appears to have 7 bits. Surely they should be using a byte to represent a character, after all that would mean they could represent more characters than the measily 128 they can currently store (Note there is extended ASCII that uses the 8th bit as well but we don't need to cover that here). The eighth bit is used as a parity bit to detect that the data you have been sent is correct. It will not be able to tell you which digit is wrong, so it isn't corrective.
There are two types of parity odd and even. If you think back to primary school you would have learnt about odd and even numbers, hold that thought, we are going to need it.
* Odd numbers : 1,3,5,7,9
* Even numbers : 0,2,4,6,8 (note 0 is here too)
* Example: How to detect errors using parity bits
* When we send binary data we need to count the number of 1s that are present in it. For example sending the ASCII character 'B' 1000010. This has two occurrences of 1. We can then apply another bit to the front of it and send it across the internet.
* If we are using even parity 01000010
* If we are using odd parity 11000010
* Now when the data gets to the other end and we were using even parity
* 01001010 - odd parity, there has been an error in transmission, ask for data to be sent again
* 01000010 - even parity, the data has been sent correctly
* Exercise: Test your knowledge of parity bits
* Try and apply the correct parity bit to the following:
* _1011010 (even parity)
* Answer:
* 01011010
* _1011010 (odd parity)
* Answer:
* 11011010
* _1111110 (even parity)
* Answer:
* 01111110
* _0000000 (odd parity)
* Answer:
* 10000000
* However, if we receive 10010110, knowing that the number had odd parity, where is the error? The best we can do is ask for the data to be resent and hope it's correct next time. Parity bits only provide detective error. We need something that detects and corrects..
# Announcing/Contributors
## Philip A. Thompsen, Ph.D.

Dr. Thompsen is a professor in the Department of Communication Studies at West Chester University of Pennsylvania.
This book was started on August 13, 2006 by Philip A. Thompsen, Ph.D., to support his course on broadcast performance at West Chester University.

## Ashlie Hardway

Ashlie Hardway is employed at KVIA, a television station in El Paso, Texas.
# Announcing/Defining News
## What is News?

News can be defined as "anything timely that interests a number of persons."
News writers try to uphold three traditional journalistic values:
* Accuracy (factual, true)
* Clarity (clear, unambiguous)
* Objectivity (free of bias)

## Where does news come from?

Journalists gather news from various sources.
The assignment editor continuously monitors:
* wire services (like AP and Reuters)
* police and fire radio scanners
* National Weather Service broadcasts
* telephone beat check and phoners
* news releases that are faxed or mailed in
* stock and sports tickers
* cable news channels and other media
The assignment editor may decide that a story
* can be read as is by a newscaster
* should be rewritten by a copywriter
* needs an actuality (a.k.a. sound bite), a recorded quote from a news maker
* should be written as a wraparound, with a lead-in and lead-out around an actuality
* needs raw sound (a.k.a. natural sound), background sounds from the environment
Often the assignment editor will assign the story to a reporter to gather more details:
* A field reporter goes out into the field to cover on-the-scene breaking news.
* A beat reporter regularly covers a beat, like City Hall and the Police Department.
* A feature reporter covers soft news‚ stories, like health, consumer and entertainment.
* A stringer is a free-lance reporter who works on an as-needed basis for many stations.

## Journalists as Gatekeepers

Journalists are called gatekeepers because they decide what is and what isn't news. Only some news gets through the gate.

### News Factors

* Timeliness
* Prominence
* Proximity
* Significance
* Conflict
* Time of day
* The Medium
* Management
* Advertisers
* News sources
* Personal values
← Articulation · Writing Broadcast News →
# Announcing/Voice Improvement

* Preview
* This chapter discusses one of the announcer's most valuable assets: a pleasant voice. It identifies five "building blocks" to help you develop a more polished voice.
One of the most valuable assets of an announcer is a pleasant voice.

## Breathing

Your voice is a wind instrument: It’s made from the air you breathe. A polished voice is supported by a firm foundation of air, resting on a flexible membrane below your lungs called the diaphragm. The diaphragm is like a "shelf" of muscles and tendons near the bottom of your rib cage that separates the chest cavity from the abdominal cavity.
Your lungs are shaped like triangles, with a narrow point at the top and a wide base at the bottom. Because the lungs are narrower at the top and wider at the bottom, your lungs hold most of the air you breathe near the bottom. At least that is the case if you fill your lungs by breathing from the diaphragm. But over time, people develop poor breathing habits. Rather than fill their lungs to capacity by breathing from the diaphragm, they use only a portion of the lung's capacity. They become "shallow breathers," using only a small portion of their lungs' capacity.
Breathing from the diaphragm helps you maximize your lungs' capacity. It can fill up your lungs fully and quickly. For good breathing, think about how a person breathes when they are sleeping. If you watch a person sleep, you will notice that their belly expands, rather than their chest. This is because of the action of the diaphragm.
It can also help reduce the sound of your breathing, which is an important consideration when you are using a microphone.
Diaphragmatic breathing can also help relax you. Taking a deep, deliberate breath from the diaphragm is an excellent way to reduce "mic fright" or "stage fright."
But perhaps most importantly, breathing from the diaphragm can help you achieve a dramatic improvement in the quality of your voice. It is the foundation upon which rests all of the other "building blocks to a polished voice" discussed below.

## Posture

Keep your upper body straight. Think about a string pulling up the top of your head as if you were a marionette. If your upper body is not straight, it will restrict your breathing and the action of your diaphragm.
You do not want to cave in you chest as that restricts that area. Think about pushing your shoulders back. On the other hand, do not be straight and stiff as a board. You should be relaxed. Find a happy medium that works.

## Style

← Reading Copy · Standard Pronunciation →
# Announcing/Standard Pronunciation

Commonly Mispronounced Words (see here for key) :
| Word | Nonstandard Pronunciation(s) | Standard Pronunciation(s) |
| apartheid | ə-PAHR-thyed | ə-PAHRT-hayt, ə-PAHRT-ayt |
| arctic | AHR-tik | AHRK-tik |
| athlete | ATH-ə-leet | ATH-leet |
| bruschetta | broo-SHET-tə | broo-SKET-tə |
| candidate | KAN-ə-dayt, KAN-ə-dət | KAN-di-dayt |
| cavalry | KAL-və-ree | KAV-əl-ree |
| clandestine | KLAN-də-steen, -styen, -stən, klan-DES-teen, -tyen | klan-DES-tin |
| congratulations | kən-GRAJ-ə-LAY-shənz | kən-GRACH-ə-LAY-shənz |
| concierge | kon-see-AIR | kon-see-AIRZH |
| diphthong | DIP-thong | DIF-thong |
| electoral | EE-lek-TOR-əl, EE-lek-TOR-ee-əl | i-LEK-tər-əl |
| enthusiast | en-THOO-zee-əst | en-THOO-zee-AST |
| error | AIR | ER-ər, AIR-ər |
| et cetera | ek-SET-ər-ə | et-SET-ər-ə |
| February | FEB-ew-AIR-ee, FEB-ew-ER-ee, FEB-ree | FEB-roo-AIR-ee, FEB-roo-ER-ee |
| fifth | fift}}, FIF | FIFTH |
| foliage | FOY-ləj, FOH-ləj | FOH-lee-əj |
| fundamental | FƏN-ə-MEN-əl | FƏN-də-MEN-təl |
| genre | JON-ruh, ZHON-ray, JEN-ər | ZHON-ruh |
| heinous | HEE-nəs, HEE-nee-əs | HAY-nəs |
| hierarchy | HYE-ahr-kee | HYE-ər-ahr-kee, HYE-rahr-kee |
| hundred | HƏN-dərd, HƏ-nərd | HƏN-drəd |
| inclement | ING-klə-mənt | ing-KLE-mənt |
| jewelry, jewellery | JOO-lə-ree | JOO-ool-ree, JOOL-ree |
| library | LYE-be-ree, LYE-bree | LYE-bre-ree, LYE-brə-ree |
| literature | LIT-ə-chər, LIT-ər-chər, LIT-ər-ə-tyoor | LIT-ər-ə-chər |
| mayonnaise | MAN-ayz, MAY-nayz | may-ə-NAYZ, MAY-ə-nayz |
| mores | MORZ | MOR-ayz, MOR-eez |
| not at all | NO-tə-TAWL | NOT-AT-AWL |
| nuclear | NOO-kyə-lər | NOO-klee-ər, NEW-klee-ər |
| picture | PI-chər | PIK-chər |
| Porsche | PORSH | POR-shə |
| processes | PRO-sə-SEEZ | PRO-SES-əz |
| program | PROH-grəm | PROH-GRAM |
| quay | KWAY | KEE, KAY |
| realtor | REE-lə-tər | REEL-tər, REE-əl-tər |
| salmonella | SAM-ə-NEL-ə | SAL-mə-NEL-ə |
| sentence | SEN-əns | SEN-təns |
| spiel | SHPEEL | SPEEL |
| supposed (as in "supposed to") | SPOHST | sə-POHST |
| technical | TET-ni-kəl | TEK-ni-kəl |
| temperature | TEM-pə-chər | TEM-pər-ə-chər, TEM-prə-chur |
| usual | EW-zhəl | EW-zhoo-əl |
| visa, Visa | VEE-sə | VEE-zə |
| w (letter) | DƏB-yə | DƏB-l-ew |
| wastrel | WAH-strəl | WAY-strəl |
| yarmulke, yarmulka | YAH-mə-kə | YAHR-məl-kə |
| zoology | zoo-OL-ə-jee | zoh-OL-ə-jee |
← Voice Improvement · Articulation →
# Announcing/The Disk Jockey

Radio announcers who introduce musical selections are often called "disk jockeys," or DJs.
# A-level Computing 2009/CIE/Operating Systems

Basic process flow:
Start - Fetch - Decode - Execute - Check for interrupt - No - Check for more instructions - No - Return to previous instruction? - No - End
Operating system is made out of 4 components:
The Scheduler
# A-level Computing 2009/CIE/Theory Fundamentals/Communication and Internet technologies

Client Side Server Model Server: Is a powerful computer running a server program managing the requests of the client
Client Are PCs or workstations which users run application. Clients rely on servers for resources such as files and devices
Client Side Server Model It is a distributed communication framework within a network amongst clients and servers.
Server Is a powerful computer running a server program managing the requests of the client Client Are PCs or workstations which users run application. Clients rely on servers for resources such as files and devices Web servers
* Those server machines that provide services to other machines are servers
* Machines that are used to connect to them are clients
* A server machine may provide one or more service on the internet with a server software running on it to act as Web servers, email server, gaming serve or FTP.
Application of Client server model When a bank customer accesses online banking services with a web browser (the client), the client initiates a request to the bank's web server. The customer's login credentials may be stored in a database , and the web server accesses the database server as a client. An application sever interprets the returned data and provides the output to the web server. Finally the web server returns the result to the client web browser for display Software Utilization Software programs usually run off both the Server and the Client.
# A-level Computing 2009/CIE/Computer systems, communications and software/System life cycle

* Identification of problem
* (a) explain the importance of defining a problem accurately
* (g) explain the content and importance of documentation in the system life cycle, including the requirements specification, design specification, program specification and documentation
* Feasibility study
* (b) describe the function and purpose of a feasibility study
* Information collection
* (c) explain the importance of determining the information requirements of a system and describe different methods of fact finding, highlighting the advantages and disadvantages of each method
* Analysis of a problem
* (d) describe what is involved when analysing the requirements of a system, explaining the nature of the requirements specification and its content, identifying inefficiencies/problems, user requirements and hardware and software requirements
* Design of system to fit requirements
* (e) design the data structures, inputs, outputs and processing using diagrammatic representations where appropriate (including the use of dataflow diagrams (DFDs) and system flowcharts)
* (g) explain the content and importance of documentation in the system life cycle, including the requirements specification, design specification, program specification and documentation
* Development and testing of system
* (f) explain the importance of evaluating the system against initial specifications
* (h) explain the importance of testing and installation planning, including the method of installation
* Installation of system
* (h) explain the importance of testing and installation planning, including the method of installation
* Maintenance of system
* (i) explain the reasons for maintaining the system
* Obsolescence
# A-level Computing 2009/CIE/Computer systems, communications and software/System software/Utility software

Utility software includes programs which perform functions which help operate and maintain a computer system. This includes disk formatters, automated backup software, hardware device drivers, anti-virus software, firewall software and other similar types of software.
# A-level Computing 2009/CIE/Theory Fundamentals

1.1 Number representation 1.2 Communication and Internet technologies 1.3 Hardware 1.4 Processor fundamentals 1.5 System software 1.6 Security, privacy and data integrity 1.7 Ethics and ownership 1.8 Database and data modelling
# A-level Computing 2009/CIE/Computer systems, communications and software/System software

* Operating systems
* (a) describe the purpose of operating systems
* (b) describe the characteristics of different types of operating systems and their uses: batch, real-time, single-user, multi-user, multi-tasking and network
* (c) identify a range of applications requiring batch processing and a range of applications in which a real-time response is required
* User interfaces
* (d) describe different types of user interface: forms, menus, GUI, natural language and command line, suggesting the characteristics of user interfaces which make them appropriate for use by different types of user
* Utility software
* (e) describe the purpose of a range of utility software e.g. disk formatting, file handling, hardware drivers, file compression and virus checkers
# A-level Computing 2009/CIE/Fundamental Problem-solving and Programming skills

2.1 Algorithm design and problem-solving 2.2 Data representation 2.3 Programming 2.4 Software development