OpenLLM-France/wikimedia huggingface dataset:
# A-level Computing 2009/AQA

This is a book about A-Level Computing. It aims to fit with the AQA GCE A-Level Computing syllabus but is not endorsed by AQA. It should be useful as a revision guide or to find alternative explanations to the ones in your textbook. If you haven't heard of an A-Level then this book probably won't be of much interest to you but you can find out about them at Wikipedia.
If any part of this book is unclear or even wrong then please post a comment on the discussion page or simply fix it yourself! In particular, please say if the book assumes any knowledge or skills which not all A-Level Computing students have.

### AS modules

* COMP1 - Problem Solving, Programming, Data Representation and Practical Exercise
* COMP2 - Computer Components, The Stored Program Concept and the Internet

### A2 modules

* COMP3 - Problem Solving, Programming, Operating Systems, Databases and Networking
* COMP4 - The Computing Project

## Programming

Accepted languages (please note that support for PHP, C and C# at AS Level was withdrawn in 2011. C# has been reintroduced in 2015)
* Java
* Pascal
* Python
* VB
* C#
A2 Projects can be written in any language.

### How to read the book

You will meet several coloured boxes, here are their meanings:
* Specification link
* What the specification says you must learn for each chapter
* Examples
* Example questions and how to solve them
* Questions
* Questions to test yourself, click below
* Answer:
* to check if you were right
* Extension
* Topics that aren't examined but you might be interested in
There will be a lot of concepts that you need to be familiar with, definitions are highlighted like so:

### Course Structure

* To be awarded an AS (Advanced Subsidiary) Level qualification in Computing, a student must take the 2 AS modules.
* To be awarded an A (Advanced) Level qualification in Computing, a student must take all 4 modules.
The book is split into the four units. Each unit is split into chapters with each chapter covering the topics for that module.

## Uncategorized Pages

* Advanced Systems Development
* Computer Systems, Programming and Network Concepts
* Practical Systems Development
* Processing and Programming Techniques
# A-level Computing 2009/AQA/2015 ALevel Paper 1

* Fundamentals of programming
* Fundamentals of data structures
* Fundamentals of algorithms
* Theory of computation
* Fundamentals of data representation
* Fundamentals of computer systems
* Fundamentals of computer organisation and architecture
* Consequences of uses of computing
* Fundamentals of communication and networking
* Fundamentals of databases
* Big Data
* Fundamentals of functional programming
* Systematic approach to problem solving
* Non-exam assessment - the computing practical project
# A-level Computing/WJEC (Eduqas)/Component 1/Program construction
## The Compilation Process
### 1. Pre-processor

* The pre-processor takes the source code and performs tasks such as merging the contents of one or more files and replacing string patterns with another
* The pre-processor scans the code for pre-processor directives

### 2. Lexical Analysis

* Comments and unneeded spaces are removed
* Converts the source code into a token stream - Numeric representation of the code and stores in a table
* Keywords, constants and identifiers are replaced by 'tokens' (generally hex numbers)
* 2 tables are created
* Reserved word table
* Identifier table
Examples of lexical analysis tables:
* Reserved Word
* User Identifier

### 3. Syntax Analysis

* Tokens are checked to see if they match the spelling and grammar expected. This is done by parsing each token to determine if it uses the correct syntax for the programming language
* If syntax errors are found, error messages are produced

### 4. Semantic Analysis

* Variables are checked to ensure that they have been properly declared and used
* Variables are checked to ensure they are of the correct data type
* Operations are checked to ensure that they are legal for the type of variable being used

### 5. Code generation

* Where code specific to the target machine is generated. Several lines of machine code tend to be generated for each high level instruction

### 6. Code optimisation

* High-level general programming constructs are replaced by codes
* The replacement codes are very efficient low-level programming codes
   ➡️ EXAM QUESTION - what are the objectives of code optimisation?
* Achieve the required output of the program
* Increase the speed of the program
* Decrease demand on resources
* Not delay the overall compilation process
# A-level Computing/AQA/Processing and Programming Techniques/Data Representation in Computers/Answers
## Hexadecimal

Help is available here
* Convert the following bases to their equivalent hexadecimal values
** $8_{16}$
** $A_{16}$
** $10_{16}$
** $1_{16}$
** $5_{16}$
** $F_{16}$
** $AB_{16}$
** $1000\ 0000_{2}\to 80_{16}$
** $0001\ 1101\ 0011\ 1101_{2}\to 1D3D_{16}$
** $AF0BE_{16}$
* Convert the following hexadecimal values to the given base
** $14_{10}$
** $1110\ 0011_{2}$
** $0111\ 0011_{2}\to 115_{10}$
** $1011\ 1110\ 1110\ 0101_{2}$
** $1011\ 1110\ 1110\ 1111_{2}\to 48879_{10}$
* $426174_{16}$
* Hexadecimal numbers are easier for humans to read, understand and remember.

## Negative Binary Numbers

Help is available here
* What are the denary values of the following twos complement numbers?
** $27$
** $-1$
** $125$
** $-103$
** $-72$
* Convert the following numbers into negative numbers written in binary
** $1111\ 1111$
** $1010\ 0000$
** $1000\ 0001$
** $0000\ 1100\to 1111\ 0100$
** $0100\ 0011\to 1011\ 1101$
** $0011\ 0111\to 1100\ 1001$
** $0111\ 1110\to 1000\ 0010$
* Convert the following hexadecimal values to the given base
** $-3$
** $-12$
* Find the answers to the following sums in binary, show your working - not yet finished beyond here (YR 12 please complete!!)
** 0110 1100 - 0000 0111 = 01100101
** 0001 1111 - 0001 0011
** 0111 0111 - 0101 1011
** 23 (hex) - 1F (hex)
** 0001 0010 - 1111 1101

## Binary Fractions

Help is available here
* What are the values of the following numbers where there are 4 numbers before the decimal point?
** 0011.1000
** 0101.0111
** 0110.1100
** EF
** 1001.0011
** 1100.1101 (note: this number is a two's complement number)
* Using 1 byte for each number, with a fixed unsigned decimal point between bits 4 and 5, convert the following denary/decimal numbers into binary or get as close as you can
** 0001.1000
** 1000.1100
** 1001.0011
** 0000.1001
** 1101.1001 (as close as you can get)
* What are the values of the following 16 bit floating point numbers, where the exponent is 6 bits
** 0111 0100 1100 1110
** 0110 0000 0011 1010
** 1011 1100 0100 0001
** 1110 0000 0011 1101
* Normalise the following 16 bit floating point numbers, where the exponent is 6 bits
** 0011 0000 0000 0001
** 0001 1100 0000 1110
** 1101 0110 0100 0010
** 1111 0111 1111 1001
# A-level Computing/AQA/The Computing Practical Project

Please note, that the AQA Computing practical has since been updated, the proportion of marks allocated to the technical solution has been significantly increased to 42/75 (56%), compared to the 20/75 (27%) on the old specification.
As such anyone on the current specification will not need to do the following documentation:
* i. System Maintenance
* ii. User Guide
The following subsections are also no longer required:
* i. Analysis: Realistic appraisal of the feasibility of potential solutions
* ii. Analysis: Justification of chosen solution
* iii. Design: Identification of storage media
* iv. Design: Description of measures planned for security and integrity of data
* v. Design: Description of measures planned for system security
* vi. Design: Overall test strategy
This chapter aims to give you the skills to complete your A2 Computing project. Unlike the rest of the course this unit is entirely based on coursework submitted in May. This is great because if you work hard enough then you can make sure you get some really good marks, you have access to the mark scheme after all!
Your project involves making a complex programming project that will likely involve data processing, and then writing a report about it. You have to make a program for a real user, this is very important, you can't just make them up. It doesn't have to be incredibly complicated, but you need a degree of complexity in order to write a good report. You can write a computer game but they can be an awful lot of work (2–3 years with a team of 40+ people for the latest console games) and it's often difficult to find a real life user and a real need.
Over the course of the project you will be creating a report. This is really important and lots of people spend so much time coding that they forget to complete the write up. The write up is worth 44% of the mark and will take you through a waterfall model of system development. There are many other forms of system development out there and you might find yourself completing sections of the course not necessarily in the order given, the important thing is that you make it a cohesive whole and complete everything.
Please use the links below to get you started and note where all the marks are awarded, you might create a brilliant bit of code but if you don't complete your writeup your grade will suffer.
| Chapter | Marks | Percentage |
| Picking a project | - | - |
| Analysis | 9 | 11 |
| Design | 12 | 16 |
| Technical Solution | 42 | 56 |
| System Testing | 8 | 10.7 |
| System Maintenance | N/A | |
| User Manual | N/A | |
| Quality of Writing | part of user manual (3) | - |
| Evaluation | 4 | 5 |
| TOTAL: | 75 | 100 |
# A-level Computing/AQA/The Computing Practical Project/Advanced VB.NET

All the programming you have done so far has been with the command line. This is great if all you want is text on a screen, but you probably want to display some graphics. There are several places you can get started:
Here we are going to look how we can very quickly display graphics in VB.NET and make some simple games. To display graphics we are going to use the GDI+ library of tools. DirectX is much more powerful, but for our needs GDI+ is a simple way to get started. GDI+ allows you to draw both vector and bitmap graphics to the screen. There are a couple of functions that you need to be familiar with:

## frmGame_Load

This code runs when the form is first loaded

## frmGame_KeyDown

This code runs on the event of clicking a key on your keyboard

## tmrBall_Tick

You need to have added a timer to your project and named it tmrBall. This code runs on each tick of the timer.

## Paint

This code draws the items on to the screen
# A-level Computing/AQA/The Computing Practical Project/Appraisal

Once you have completed everything else it is time to finish the project, and that means writing the appraisal. This section is relatively easy to get marks in so give yourself time to do it properly.

## Did you meet your objectives?

Way back in your Analysis you wrote down a set of objectives, copy them into you appraisal. For each objective state if you met it and how it went. For example:
| Objective | Met? | Comment |
| Easy to use | Yes | User feedback was positive and said... |
| Calculates how many chocolate bars were sold | Yes | This was performed on my frmChocolate, it was hard to do because... |
| Design my own chocolate bar | No | I ran out of time and found this too difficult to implement |
You are aiming to meet all of your objectives, but don't be afraid to mention those that you didn't meet and why you didn't meet them.

## Feedback

Part of any completed project involves you showing the work to your target user. You might choose to sit them down and demonstrate it, then record their feedback directly, or you might choose to send them a copy and ask them to email you any responses. The important thing here is that you get feedback from your user that is definitely theirs. Try and ask them for things that they would like you to improve upon. The letter / email that you receive from them should be about half a page to a page long, listing at least the following:
* General feedback about how easy the system is to use, talking about all users
* How does the system meet their objectives
* How easy was the system to set up
* Criticisms of what they don't like
* Suggestions about how they would like the system to be improved or extended
* Signature and date

## Analyse feedback

Now you have the feedback, was it good, was it bad, does it make you think you met all your objectives? What would you do differently next time?

## Extensions

To get full marks you are going to have to think of some ways to improve your project. Saying something like: "I would make it better" is not good enough. What does that even mean? "I would add more levels" is equally naive unless you mention how this would make the system better. These extensions must be SMART!
You need to mention 3-4 things that given another few months you would implement in your system. Think big but not too big, the things you mention should be achievable and you need to show that you have thought out how you would make that change. For example:
"I could edit my program into an online system so I only need to update the code in one place instead to having to replace the program on each machine when a new version comes out. To do this I would rewrite my system in PHP with a MYSQL database back end."
# A-level Computing/AQA/Processing and Programming Techniques/Data Representation in Computers/Questions

This page contains questions to assist the reader in understanding the course material. These questions should not be taken as an indication of examination questions, and the reader should make reference to previous exams to get an idea of these.

## Hexadecimal

Help is available here
* Convert the following bases to their equivalent hexadecimal values
** 8 dec
** 10 dec
** 16 dec
** 0001 bin
** 0101 bin
** 1111 bin
** 1010 1011 bin
** 128 dec
** 7485 dec
** 1010 1111 0000 1011 1110 bin
* Convert the following hexadecimal values to the given base
** E - decimal
** E3 - binary
** 73 - decimal
** BEE5 - binary
** BEEF - decimal
* The binary value of the ASCII word Bat is $01000010\ 01100001\ 01110100_{2}$. What is the hexadecimal equivalent?
* Why is hexadecimal used on computer displays instead of decimal or binary?

## Negative Binary Numbers

Help is available here
* What are the denary values of the following twos complement numbers?
** 0001 1011
** 1111 1111
** 0111 1101
** 1001 1001
** 1011 1000
* Convert the following numbers into negative numbers written in binary
** 0000 0001
** 0110 0000
** 0111 1111
** 12 (denary)
** 67 (denary)
** 34 (hexadecimal)
** 7E (hexadecimal)
* Convert the following negative binary numbers into decimal
** 1111 1101
** 1111 0100
* Find the answers to the following sums in binary, show your working
** 0110 1100 - 0000 0111 = 0110 0101 => 101
** 0001 1111 - 0001 0011 = 0000 1100 => 12
** 0111 0111 - 0101 1011 = 0001 1100 => 28
** 23 (hex) - 1F (hex) = 0000 0100 => 4
** 0001 0010 - 1111 1101 =

## Binary Fractions

Help is available here
* What are the values of the following numbers where there are 4 numbers before the decimal point?
** 00111000
** 01010111
** 01101100
** EF
** 10010011
** 11001101 (note: this number is a two's complement number)
* Using 1 byte for each number, with a fixed unsigned decimal point between bits 4 and 5, convert the following denary/decimal numbers into binary or get as close as you can
** 1.5
** 8.75
** 9.1875
** 0.5625
** 13.60
* What are the values of the following 16 bit floating point numbers, where the exponent is 6 bits
** 0111 0100 1100 1110
** 0110 0000 0011 1010
** 1011 1100 0100 0001
** 1110 0000 0011 1101
* Normalise the following 16 bit floating point numbers, where the exponent is 6 bits
** 0011 0000 0000 0001
** 0001 1100 0000 1110
** 1101 0110 0100 0010
** 1111 0111 1111 1001
# Annotations to James Joyce's Ulysses/Oxen of the Sun/406
## Annotations

Tiens, tiens (French) Indeed? Well, well. An interjection expressing surprise, doubt, disapproval, or skepticism.
Laetabuntur in cubilibus suis (Latin) They shall rejoice in their beds. This is an adaptation of Psalms 149:5:
Psalms 149:5 :
| Exultabunt sancti in gloria; laudabunt in cubilibus suis. | The saints shall exult in glory: they shall praise in their beds. |
Ut implerentur scripturae (Latin) That the scriptures might be fulfilled. This phrase occurs once in the Latin Vulgate translation of the Bible: Matthew 26:56, in which Jesus is arrested in the Garden of Gethsemane:
Matthew 26:56 :
| Hoc autem totum factum est ut implerentur scripturae prophetarum. Tunc discipuli omnes relicto eo fugerunt. | But all this was done, that the scriptures of the prophets might be fulfilled. Then all the disciples forsook him, and fled. |

## References

* ↑ Gifford (1988) 449. Thornton (1968) 356.
* ↑ Psalms 149.
* ↑ Gifford (1988) 449. Thornton (1968) 356-357.
* ↑ Matthew 26:55-57.
# Annotations to James Joyce's Ulysses/Penelope
## Contents

The following list contains links to each of the forty-three pages of the eighteenth episode Penelope. The pagination is that of the original edition of Ulysses, published in Paris on 2 February 1922.
Status of this episode: as of December 2020, annotations exist for about one tenth of the pages only.
Episode 18: Penelope
* Page 690
* Page 691
* Page 692
* Page 693
* Page 694
* Page 695
* Page 696
* Page 697
* Page 698
* Page 699
* Page 700
* Page 701
* Page 702
* Page 703
* Page 704
* Page 705
* Page 706
* Page 707
* Page 708
* Page 709
* Page 710
* Page 711
* Page 712
* Page 713
* Page 714
* Page 715
* Page 716
* Page 717
* Page 718
* Page 719
* Page 720
* Page 721
* Page 722
* Page 723
* Page 724
* Page 725
* Page 726
* Page 727
* Page 728
* Page 729
* Page 730
* Page 731
* Page 732
# Annotations to James Joyce's Ulysses/Oxen of the Sun/405
## Annotations

Nos omnes biberimus viridum toxicum diabolus capiat posterioria nostria (Dog Latin) We will all drink green poison [and] the devil take the hindmost. The green poison is absinthe, which Stephen referred to earlier in the day as green fairy (043.02), a name by which it is known in France. The devil take the hindmost is a common expression. Posterioria nostria is not real Latin, though the meaning (our posteriors) is clear. Presumably this comment is added by Mulligan after Stephen has ordered absinthe for everyone; Mulligan's Latin, unlike Stephen's, is not always correct (384.15-18) and he has been preoccupied with posteriors before (192.36 ff. and 197.13).
Bonsoir la compagnie (French) Goodnight, everyone. This is the title of a French song by the Abbé Gabriel Charles de L'Attaignant. The words were subsequently translated into English by Edwin Arnold and set to new music by Constance Maud (1896). The significance of the expression is that it is closing time and Mulligan, who is trying to give Stephen the slip, is taking French leave.
A la vôtre! (French) Cheers! Gabler restores the grave accent to the first word, but in French accents are often omitted from uppercase letters.

## References

* ↑ Gifford (1988) 446. Thornton (1968) 354.
# Annotations to James Joyce's Ulysses/Penelope/691
## Annotations

691.12 Pooles Myriorana By 1900, Poole's Myriorama had seven separate shows touring for 40 weeks of the year. Myrioramas were a kind of entertainment that got popular in the 19th century and was later replaced by cinemas. It gave the spectators the illusion of travelling through a landscape, for example along a river, an exotic place or a glorious British battle scene. Poole's show included explanations by a narrator, music and other effects. The landscapes were painted on a very long canvass, winding like a scroll between two vertical cylinders.

## References

* ↑ "Moving panorama" in Wikipedia
# Annotations to James Joyce's Ulysses/Oxen of the Sun/404
## Annotations

Caramba! (Spanish) Good grief! A Spanish exclamation of shock, surprise, anger or vexation. But the word caramba is a euphemism for the vulgar carajo (penis).
Merci (French) Thank you.
Les petites femmes (French) Little women. This term was used to allude to women of loose virtue.
Ex ! (Latin) Out! In the context of the bawdy version of the Eton Boat Song, this possibly refers to coitus interruptus, a method on contraception in which the man withdraws his penis from a woman's vagina prior to ejaculation, which takes place ex copula (outside of sexual union).
ad lib. (Latin) to whatever extent; without restriction. An abbreviated form of ad libitum.

## References

* ↑ CNRTL: femme
# Annotations to James Joyce's Ulysses/Oxen of the Sun/403
## Annotations

Deine Kuh Truebsal melkest Du. Nun trinkst Du die suesse Milch des Euters (German) You are milking your cow "Affliction". Now you are drinking the sweet milk of her udder. These words are actually from Nietzsche's "Also Sprach Zarathustra", which Weldon Thornton doesn't acknowledge; he notes a similarity to Shakespeare instead: Adversity's sweet milk, philosophy (Romeo and Juliet 3:3:55).
Per deam Partulam et Pertundam nunc est bibendum ! (Latin) By the goddess Partula and Pertunda now we must drink. Partula, or Parca, was a Roman goddess of childbirth. Pertunda was a Roman goddess of sexual intercourse and carnal love who presided over the loss of virginity; she has been identified with Juno; he name derives from pertundere (to penetrate).
Nunc est bibendum (Now is the time to drink) are the opening words of Horace's Odes 1.37, written to celebrate Octavian's victory over Antony and Cleopatra.
Benedicat vos omnipotens Deus, Pater et Filius (Latin) May almighty God bless you, Father and Son. In the Latin Tridentine Mass, which was still in use in 1904, the Dismissal ends with the Blessing, Benedicat vos omnipotens Deus, Pater et Filius et Spiritus Sanctus (May almighty God bless you, Father and Son and Holy Spirit), to which the congregation replies Amen. There then follows the Last Gospel.
En avant, mes enfants! (French) Forward, my children!
Ma mère m'a mariée (French) My mother married me. These are the opening words of a bawdy French song:
| French | English |
| Ma mère m'a mariée un mari. Mon Dieu, quel homme, qu'il est petit! Je l'ai perdu au fond de mon lit. Mon Dieu, quel homme, qu'il est petit! Etc. | My mother married me off to a husband. My God, what a man, how small he is! I lost him at the bottom of my bed. My God, what a man, how small he is! Etc. |
Retamplan Digidi Boum Boum Nonsense words believed to represent the sound of drums. In French, rataplan is commonly used to express the sound of a drum, especially in marching songs. Boum Boum could be an improvised French spelling of Boom Boom, the English equivalent of rataplan.
Gabler reverts to the manuscript reading: Retamplatan digidi boumboum.
Silentium ! (Latin) Silence!
Uebermensch (German) See 022.16.

## References

* ↑ "Also sprach Zarathustra – Ein Buch für Alle und Keinen". www.projekt-gutenberg.org. Retrieved 2024-07-17.
* ↑ Gifford (1988) 441. Thornton (1968) 348.
* ↑ Horace, Odes 1.37.
* ↑ Gifford (1988) 441. Thornton (1968) 348.
* ↑ Missale Romanum 339.
* ↑ Gifford (1988) 442.