OpenLLM-France/wikimedia huggingface dataset:
# A-level Computing/AQA/Paper 2/Fundamentals of data representation/Rounding Errors

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/AQA/Paper 2/Fundamentals of data representation/Underflow and overflow

TODOː Absolute and Relative errors
* From the Specification : Fundmentals of Data Representation
* Explain underflow and overflow and describe the circumstances in which they occur.

## Underflow

When a number or the result of an equation is too small, you might not have enough digits in your mantissa and exponent to show it. In the following example the number would register as 0

## Overflow

When the result of a sum is too large to be represented by your number system you might run out of space to represent it and end up storing a much smaller number
# A-level Computing/AQA/Paper 2/Fundamentals of data representation/Sound synthesis

Sound Synthesisers are also used to create electronic sounds, unknown in the traditional music scene. In 1951 the University of Manchester created the earliest example of computer generated music using the Ferranti Mark 1 computer. Since then computers have had a massive impact on the music industry and this section will look into sound synthesis.
Sound Synthesis generally creates smaller file sizes compared to recordings taken from live recordings such as MP3 and AAC as it records notation which the computer performs using a selection of programmed or digital instruments, rather than recording the wave forms of each second of sound. However, the recordings often don't sound as real as the live recordings. Listen to the music on the left to see what I mean.
A common means to produce sound synthesised music is by using MIDI. MIDI does not record analogue sound, but send digital signals recording musical notation, pitch and intensity, control signals for parameters such as volume, vibrato and panning, cues, and clock signals to set the tempo. The computer then interprets these commands and outputs sound corresponding to them. MIDI is a popular way to record music from devices such as electronic keyboards.
* Extension: Creating a Sound Synthesiser
* As we know each character on our keyboard has an ASCII code attached to it. We are going to take this code and turn our computer keyboard into a musical keyboard!
* console.beep(frequency,duration)
* Where frequency is the number of oscillations per second and duration is the length that the beep will last in milliseconds.
* AscW(key)
* Where AscW is the ASCII number of key pressed. Giving us:
* Dim duration As Integer = 200
* Dim frequency As Integer
* Dim key As String 'stores the numeric ASCII value
* Console.WriteLine("press any key to play music, press q to quit")
* Do
* key = Console.ReadKey.KeyChar 'get the numeric ASCII value input
* frequency = (AscW(key) + 50) * 50
* Console.Beep(frequency, duration)
* Loop Until key = "q"
* To extend this try to add the following:
* + - increase and decrease frequency
* = _ increase and decrease duration of sound
* Exercise: Sound synthesis
* Why might you prefer to use sound synthesis over recording an orchestra
* Answer:
* Sound synthesis produces smaller file sizes without loss of quality
* Sound synthesis allows for easy editing of files after they have been recorded
* Sound synthesis allows for sounds that would be unachievable using traditional instruments
* Why might you not want to use sound synthesis
* Answer:
* Sound synthesis struggles to recreate the sounds made by traditional instruments
* Sound synthesis struggles to recreate the human voice
# A-level Computing/AQA/Paper 2/Fundamentals of data representation/Sounds

Sound is an oscillation of pressure transmitted through a solid, liquid, or gas (there is no sound in outer space as space is a vacuum and there is no solid, liquid or gas to transmit sound through!). A speaker works by moving its centre cone in and out, this causes the air particles to bunch together forming waves. These waves spread out from the speaker travelling at 340 m / s. If your ear is in the way, then the waves of sound particles will collide with your ear drum, vibrating it and sending a message to your brain. This is how you hear:
When you hear different volumes and pitches of sound all that is happening is that each sound wave varies in energy for the volume (larger energy waves, the louder the sound), or distance between sound waves which adjusts the pitch, (smaller distances between waves leads to higher pitched sound).
Sound is often recorded for two channels, stereo, feeding a left and right speaker whose outputs may differ massively. Where one channel is used, this is called mono. 5.1 surround sound used in cinemas and home media set ups use 6 channels.
This section of the book will cover how we record, store and transmit sound using computers. Sound waves in nature are continuous, this means they have an almost infinite amount of detail that you could store for even the shortest sound. This makes them very difficult to record perfectly, as computers can only store discrete data, data that has a limited number of data points.
| Sound is a continuous set of data points formed by a wave. Computers sample this sound at discrete points to store a digital approximation | The discrete approximations (in red) can be used to recreate the original sound (grey). However, due to limitations in the number of samples we take we are often unable to truly represent a sound wave, though we can get close enough for the human ear not to notice the difference. |
# A-level Computing 2009/OCR/Basic Principles of Hardware, Software and Applications

Computer systems are made up of Hardware, Software, and Applications. Hardware refers to the physical components of a computer, such as the monitor, keyboard, mouse, hard drive and system board. Software refers to the set of instructions that directs the hardware to accomplish a task. The best known example of software is a computer's operating system, which provides a way for the user to interact with the hardware. Software uses hardware to perform four basic functions: input, processing, storage, and output. An application is specialized software that performs a certain function, such as word processing or media reproduction.
There are several topics in this unit:
# A-level Computing 2009/OCR/Basic Principles of Hardware, Software and Applications/Machine Level Architecture

* Logic Gates
* Boolean Algebra
* Three Box Model
* Structure of Processor
# A-level Computing 2009/OCR/Basic Principles of Hardware, Software and Applications/Machine Level Architecture/Boolean Algebra
## Boolean Algebra

Boolean Algebra had very little practical use until digital electronics and computers were invented. Digital computers use the binary number system, which has only two stats, 0 and 1. Boolean algebra is ideal for this table
| X | MEANING |
| TRUE | IT IS RAINING TODAY |
| FALSE | IT IS NOT RAINING TODAY |
Boolean Equation: An equation that expresses a Boolean's output Q in terms of Boolean inputs X,Y and Z etc.. To which one or more Boolean functions, such as OR, AND and NOT, are applies, more in the Logic gates section.
# A-level Computing 2009/OCR/Basic Principles of Hardware, Software and Applications/Machine Level Architecture/Logic Gates

Logic Gate
NOT
AND
OR
The three logic gates above and the simpliest form of Logic Gates
NAND Function
A NAND function is a Boolean function which is simply a combination of the AND function and the NOT function. NOT AND is abbreviated to NAND.
A NAND can be written in the form of
NOT A.B or A.B with a line over the top.
With the line above meaning not IMPORTANT: The line is NOT dotted !!!
# A-level Computing 2009/OCR AS text book/1.1.1 Structure and function of the processor

The specification highlights the following topics which must be covered.
a) The Arithmetic and Logic Unit; ALU, Control Unit and Registers (Program Counter; PC, Accumulator; ACC, Memory Address Register; MAR, Memory Data Register; MDR, Current Instruction Register; CIR). Buses: data, address and control: How this relates to assembly language programs. b) The Fetch-Decode-Execute Cycle, including its effect on registers. c) The factors affecting the performance of the CPU: clock speed, number of cores, cache. d) The use of pipelining in a processor to improve efficiency. e) Von Neumann, Harvard and contemporary processor architecture.
C The factors effecting performance of the CPU
Clock speed is the number of instructions which can be completed in one second, recently this has been measured in Ghz (1 Billion instructions per second). Revise Mhz, Khz, Thz as well to get a better idea of how CPUs have developed over the last three decades and how modern CPus compare to each other.
Number of Cores, as it has become harder to fit more switches on to a chip it has become common practice to combine multiple CPUs onto one chip and have them work in parallel. However having two 2.2Ghz cores would lead to double the performance. The additional cores speeds are limited by algorithms which run the fetch execute and decode process. In addition to this few programs are created developed to be run on a parallel core system, so benefits are limited to running different programs are limited.
| The factor | Increase in capacity or number | Decrease in capacity or number |
| Clock Speed | This will increase the speed of the CPU, as more instructions can be completed per second | This will decrease the speed of the CPU, as less instructions can be completed per second |
| Number of cores | As the number of cores increase (2,4,6,8...) speed increase but it is not exactly proportional so does not double every time | As the number of cores decrease the speed of the CPU decreases as less instructions can be completed in parallel. |
| Cache | | Example |
# A-level Computing 2009/ICT Projects using LAMP/Setting up your XAMPP server/XAMPP for Windows

The distribution for Windows 2000, 2003, XP, Vista, and 7. This version contains: Apache, MySQL, PHP + PEAR, Perl, mod_php, mod_perl, mod_ssl, OpenSSL, phpMyAdmin, Webalizer, Mercury Mail Transport System for Win32 and NetWare Systems v3.32, Ming, FileZilla FTP Server, mcrypt, eAccelerator, SQLite, and WEB-DAV + mod_auth_mysql.
# A-level Computing 2009/OCR AS text book

The aim is to create a text book which will support the new A level course (OCR Level 3 Advanced subsidiary GCE in Computer Science H446).
Content for A Level:

## Content of Computer systems (Component 01)

1.1. The characteristics of contemporary processors, input, output and storage devices 1.1.1 Structure and function of the processor 1.1.2 Types of processor 1.1.3 Input, output and storage 1.2. Software and software development 1.2.1 System software 1.2.2 Applications generation 1.2.3 Software Development 1.2.4 Types of Programming Language 1.3. Exchanging data 1.3.1 Compression, Encryption and Hashing 1.3.2 Databases 1.3.3 Networks 1.3.4 Web Technologies 1.4. Data types, data structures and algorithms 1.4.1 Data Types 1.4.2 Data Structures 1.4.3 Boolean Algebra 1.5. Legal, moral, ethical and cultural issues 1.5.1 Computing related legislation 1.5.2 Ethical, moral and cultural issues

## Content of Algorithms and programming (Component 02)

2.1. Elements of computational thinking 2.1.1 Thinking abstractly 2.1.2 Thinking ahead 2.1.3 Thinking procedurally 2.1.4 Thinking logically 2.1.4 Thinking concurrently 2.2. Problem solving and programming 2.2.1 Programming techniques 2.2.2 Computational Methods 2.3 Algorithms 2.3.1 Algorithms
# A-level Computing 2009/Print version

The final AQA A-Level Computing Text Book will consist of 4 books:

## AS

* Unit 1 - print version (preview)
* Unit 2 - (preview)

## A2

* Unit 3
* Unit 4
# A-level Computing 2009/OCR/The Practical Project

This module requires students to analyse a real current system and develop a new one. There are several stages in this coursework:
* Analysis
* Design
* Implementation
* Testing
* Documentation
* Evaluation
Please note that these categories may bear different names. For example, 'Implementation' maybe known as 'Programming'. In 2009, this coursework is worth 40% of the A2-Level, and overall, 20%.
According to the current (2009) specification for the course, downloadable from the OCR website, the Project Unit F454 is worth 40% and the exam F453 is worth %60.
# Albanian/Numbers
### Cardinals

* 0 - zero
* 1 - një
* 2 - dy
* 3 - tre or tri
* 4 - katër
* 5 - pesë
* 6 - gjashtë
* 7 - shtatë
* 8 - tetë
* 9 - nëntë
* 10 - dhjetë
* 11 - njëmbëdhjetë
* 12 - dymbëdhjetë
* 13 - trembëdhjetë
* 14 - katërmbëdhjetë
* 15 - pesëmbëdhjetë
* 16 - gjashtëmbëdhjetë
* 17 - shtatëmbëdhjetë
* 18 - tetëmbëdhjetë
* 19 - nëntëmbëdhjetë
* 20 - njëzet
* 21 - njëzet e një
* 22 - njëzet e dy
* 23 - njëzet e tre
* 24 - njëzet e katër
* 25 - njëzet e pesë
* 26 - njëzet e gjashtë
* 27 - njëzet e shtatë
* 28 - njëzet e tetë
* 29 - njëzet e nëntë
* 30 - tridhjetë
* 40 - dyzet
* 50 - pesëdhjetë
* 60 - gjashtëdhjetë
* 70 - shtatëdhjetë
* 80 - tetëdhjetë
* 90 - nëntëdhjetë
* 100 - njëqind
* 101 - njëqindenjë
* 102 - njëqindedy
* 103 - njëqindetre
* 104 - njëqindekatër
* 105 - njëqindepesë
* 106 - njëqindegjashtë
* 107 - njëqindeshtatë
* 108 - njëqindetetë
* 109 - njëqindenëntë
* 200 - dyqind
* 300 - treqind
* 400 - katërqind
* 500 - pesëqind
* 600 - gjashtëqind
* 700 - shtatëqind
* 800 - tetëqind
* 900 - nëntëqind
* 1,000 - njëmijë
* 1,001 - njëmijenjë
* 1,002 - njëmijedy
* 1,003 - njëmijetre
* 1,004 - njëmijekatër
* 1,005 - njëmijepesë
* 1,006 - njëmijegjashtë
* 1,007 - njëmijeshtatë
* 1,008 - njëmijetetë
* 1,009 - njëmijenëntë
* 2,000 - dymijë
* 3,000 - tremijë
* 4,000 - katërmijë
* 5,000 - pesëmijë
* 6,000 - gjashtëmijë
* 7,000 - shtatëmijë
* 8,000 - tetëmijë
* 9,000 - nëntëmijë
* 1,000,000 - milion
* 1,000,000,000 - miliard
* 1,000,000,000,000 - trilion

### Ordinals

* First : i parë
* Second : i dytë
* Thirth : i tretë
* Fourth : i katërt
* Fifth : i pestë
* Sixth : i gjashtë
* Seventh:i shtatë
* Eighth: i tetë
* Ninth:i nëntë
* Tenth:i dhjetë
# Albanian/Home

* Mur - Wall
* Tavolinë - Table
* Kuzhinë - Kitchen
* Dhomë - Room
# Albanian/Phrases

| Translation | Phrase | IPA | Pronunciation | Sound |
| Albanian | shqip | /ʃkʲip/ | (shkEEp) | (listen) |
| hello | tungjatjeta (abbrev. tung) | /tungʲatjɛta/ | (tuhn-ngieht-iEhta) | (listen) |
| good-bye | mirupafshim | /mirupafʃim/ | (meer-uh-pAh-fsheem) | (listen) |
| please | ju lutem | /ju lutɛm/ | (iU lUh-tehm) | (listen) |
| thank you | faleminderit | /falɛmindɛrit/ | (fah-leh-mee-ndEH-reet) | (listen) |
| that one | atë | /atə/ | (Ah-te) | (listen) |
| how much? | sa është? | /sa əʃtə/ | (sAh esh-tE) | (listen) |
| English | anglisht | /angliʃt/ | (ahn-glEEsht) | (listen) |
| yes | po | /po/ | (pOh) | (listen) |
| no | jo | /jo/ | (iOh) | (listen) |
| sorry | më fal | /mə fal/ | (mE fAhl) | (listen) |
| I don’t understand | nuk kuptoj | /nuk kupˈtoj/ | (nUhk kuhp-tOi) | (listen) |
| where's the bathroom? | ku është banjoja? | /ku əʃtə baɲoja/ | (kuh esh-tE bAh-nio-jah) | (listen) |
| generic toast | gëzuar | /gəzuar/ | (ge-zUh-ar) | (listen) |
| Do you speak English? | flisni Anglisht? | /flisni angliʃt/ | (flee-snEE ahn-glEEsht) | (listen) |
# Albanian/Money

* Lek : Lek
* Dollar : Dollar
* Euro : Euro
* Pound : Stërlina
# Albanian/Nationalities

In Albanian, nationality is always written in small caps, apart when the word is the initial one in a sentence. The use of uppercase seen often in translations is not correct.
Format:

## A

* Afghani: afgan / afgane / afganë
* Albanian: shqiptar / shqiptare / shqiptarë
* American: amerikan / amerikane / amerikanë
* Arabian: arab / arabe / arabë
* Armenian: armen / armene / armenë
* Australian: australian / australiane / australianë
* Austrian: austriak / austriake / austriakë

## B

* Belgian: belg / belge / belgë
* Bosnian: boshnjak / boshnjake / boshnjakë
* Brazilian: brazilian / braziliane / brazilianë
* British: britanik / britanike / britanikë
* Bulgarian: bullgar / bullgare / bullgarë

## C

* Canadian: kanadez / kanadeze / kanadezë
* Chinese: kinez / kineze / kinezë
* Croatian: kroat / kroate / kroatë
* Czech: çek / çeke / çekë

## D

* Danish: danez / daneze / danezë
* Dutch: hollandez / hollandeze / hollandezë

## E

* English (from England): anglez / angleze / anglezë
* Estonian: estonez / estoneze / estonezë

## F

* Finnish: finlandez / finlandeze / finlandezë
* French: francez / franceze / francezë

## G

* German: gjerman / gjermane / gjermanë
* Greek: grek / greke / grekë

## H

* Hungarian: hungarez / hungareze / hungarezë

## I

* Indian: indian / indiane / indianë
* Israeli: izraelit / izraelite / izraelitë
* Italian: italian / italiane / italianë

## K

* Korean: korean / koreane / koreanë
* Kosovar: kosovar / kosovare / kosovarë

## L

* Latvian: letonez / letoneze / letonezë
* Lebanese: libanez / libaneze / libanezë
* Lithuanian: lituanez / lituaneze / lituanezë

## M

* Macedonian: maqedon / maqedone or maqedonase / maqedonë
* Mexican: meksikan / meksikane / meksikanë
* Moroccan: maroken / marokene / marokenë
* Montenegrin: malazez / malazeze / malazezë

## N

* Norwegian: norvegjez / norvegjeze / norvegjezë

## P

* Pakistani: pakistanez / pakistaneze / pakistanezë
* Polish: polak / polake / polakë
* Portuguese: portugez / portugeze / portugezë

## R

* Romanian: rumun / rumune / rumunë
* Russian: rus / ruse / rusë
* Figa: "cazzo" / "pisello" / "figa"

## S

* Serbian: serb / serbe / serbë / shki / shkinë / shka / shkie
* Slovenian: slloven / sllovene / sllovenë
* Spanish (from Spain): spanjoll / spanjolle / spanjollë
* Swedish: suedez / suedeze / suedezë
* Swiss: zviceran / zvicerane / zviceranë

## T

* Turkish: turk / turke / turq
# Albanian/Possesives
### Singular

* Masculine
** My : im
** Your : yt
** His/hers : i tij/i saj
** Our : ynë
** Your : juaj
** Their : i tyre
* Feminine
** My : ime
** Your : jote
** Her/Hers : e tij/e saj
** Our : jonë
** Your : juaj
** Their : e tyre

### Plural

* Masculine
** My : e mi
** Your : e tu
** His/ Hers : i tij/i saj
** Our : tanë
** Your : tuaj
** Their : e tyre
* Feminine
** My : e mia
** Your : e tua
** He/ Hers : e tij/e saj
** Our : tona
** Your : tuaja
** Their : e tyre
# Artificial Intelligence for Computational Sustainability: A Lab Companion/Machine Learning for Prediction/EAAI Template for RCCP.1

To be completed

## Summary

Describe your assignment in a few sentences here, with reference to the sustainability domain, issues and problems that will be addressed in the assignment; these sustainability material will be detailed below.

### Topics

List the AI topics relevant to the assignment, with pointers to explanatory material, such as sections of an online AI textbook, Wiki articles, and the like. If no online material exists on the AI topic, a desirable option might be to create it, not as part of this text, but as a Wikipedia source that is independent of and that can be pointed at by the Wikibook entry.

### Audience

Describe the intended audience (e.g. Introduction to AI, K-12, Advanced AI); this text is intended as a companion for an upper-division, undergraduate AI course, and this section might be reasonably omitted, except in special circumstances.

### Difficulty

Describe the perceived assignment difficulty and time needed for the audience to complete the assignment. Presumably, the time commitment will be on the order of weeks (projects), days (assignments), or hours (exercises).

### Strengths

Describe the assignment strengths. Ideally, subsequent users (instructors and students) of the assignment will add their perceptions of strengths and weaknesses.

### Weaknesses

Describe the assignment weaknesses.

### Dependencies

List the necessary prerequisite AI topic knowledge.
Describe computing requirements, such as necessary operating system(s) and/or programming language(s), if any.

### Variants

In a few sentences, describe possible ways in which other instructors can vary the assignment, learn from its design, and/or encourage follow- on assignment work. ...