OpenLLM-France/wikimedia huggingface dataset:
# Question Writer Manual/Look and Feel/Adding Audio/Question Writer 3
## Adding Audio in Question Writer 3

You can associate an audio file with a question by including a piece of Flash (.swf) that has the audio embedded. A good tool for creating these pieces of Flash is Hoo Technologies, MP3 to SWF Converter. Here is a link to their website where you can download a free trial version of the software: .

### Convert MP3 to Flash

To use the audio file in Question Writer it must be embedded in a .swf (Flash) format. There are a range of ways you can do this, but in this tutorial we'll show how to do it using Hoo Technologies MP3 to SWF converter.
When you open the MP3 to SWF Converter you will see the following screen:
The first step is to add the MP3 files to convert. You can do this one file at a time or a whole folder at once.
When you click on the Add Files button a browser will open allowing you to select the file that you want to convert. Double click on the file and it will appear in the converter window:
When you have added the files that you want to convert to SWF you need to change some of the settings before you convert them for use in your quiz. Click on the Options button.
A window will open giving you various options.
You can experiment with these, but for use with Question Writer, we recommend that you untick the Play automatically and Loop Play boxes.
The control SWF drop down list gives you options about what sort of audio player will appear in the question and you can change the colors of buttons.
When you have set the options click OK and you will go back to the main screen. You are now ready to convert the file.
This part is really easy – just click on Convert All. The file will be converted to MP3 and a window will open giving you options about where you want to save the file.
The file is now ready to add to your quiz.
There is also a guide to using the Hoo Technologies MP3 to SWF converter on their website .

### Add Audio to the Question

You are now ready to go back to Question Writer and your audio quiz.
When you have added the question type to your quiz, a properties window will open where you can add relevant information. To add audio, use the same process as adding an image. First tick the Include Image box.
and then use the browser to select add the .swf audio file that you want to use. Once you have selected the audio file that you want using the Add Files... button you click the Use File button.
A final step is to make sure that the Use Image Zooming option in Question Options, General Question Properties is not ticked.
After you have entered your question details you can see a preview of how it will appear onscreen by clicking on the preview button at the bottom of the properties window.
You will be able to see an example of an audio quiz online by following this link .
# Question Writer Manual/Look and Feel/Fonts
## Fonts (choice, embedded)

You can change the fonts and the font sizes used in the quiz in the text settings. See Text Settings for more details.
# Programming Fundamentals/Loops
## Overview

This chapter introduces loops and iteration control structures.

## Chapter Outline

* Iteration Control Structures
* While Loop
* Do While Loop
* Flag Concept
* For Loop
* Branching Statements
* Increment and Decrement Operators
* Integer Overflow
* Nested Loops
* Loop Examples
* Code Examples
** C++
** C#
** Java
** JavaScript
** Python
** Swift
* Practice: Loops

## Learning Objectives

* Understand key terms and definitions.
* Identify control structures based on test before iteration, test after iteration, and counting, and when to use each type.
* Given example pseudocode, flowcharts, and source code, create a program that uses loops and iteration control structures to solve a given problem.
# Programming Fundamentals/Math Statistics with Arrays
## Overview

Statistics is a branch of mathematics dealing with the collection, organization, analysis, interpretation, and presentation of data. Common statistical methods include mean (or average) and standard deviation.

## Discussion

Arrays can store words, letters/characters (strings) and numbers (integers/floats). Any type of array containing words, numbers or a combination can use a built-in function like len(Python exclusive) to find the number of elements in an array to help display output and parse lines. All arrays can also handle functions that allow the user to sort array values from highest to lowest (or vice versa). Other functions are only intended to handle arrays with numbers. For example, When arrays contain numbers, the elements of the array can be added together using the sum function. Since the built-in sum function cannot handle strings without producing an unsupported operand type error, we use this function only to add numbers, rather than join strings together.
We will continue learning about the sum function (also known as totaling) in this module. In the example below, the sum function totals the array passed to it. Other mathematical functions often associated with statistics such as: average, count, minimum, maximum, standard deviation, etc. are often developed for processing arrays.

### Output
## Key Terms
### sum

    is a built-in function, which adds the elements of an array together.

### len

    is a built-in function and it returns the number of items in an object.

## References

* cnx.org: Programming Fundamentals – A Modular Structured Approach using C++
* ↑ Wikipedia: Statistics
# Programming Fundamentals/Multidimensional Arrays
## Overview

The number of indices needed to specify an element is called the dimension or dimensionality of the array. A two-dimensional array, or table, may be stored as a one-dimensional array of one-dimensional arrays (rows of columns) and accessed with double indexing (array[row][column] in typical notation).

## Discussion

An array is a sequenced collection of elements of the same data type with a single identifier name. As such, the array data type belongs to the “Complex” category or family of data types. Arrays can have multiple axes (more than one axis). Each axis is a dimension. Thus a single dimension array is also known as a list. A two-dimension array is commonly known as a table (a spreadsheet like Excel is a two dimension array). In real life, there are occasions to have data organized into multiple dimensioned arrays. Consider a theater ticket with a section, row, and seat (three dimensions).
We refer to the individual values as members (or elements) of the array. Multidimensional arrays use one set of square brackets per dimension or axis of the array. For example, a table that has two dimensions would use two sets of square brackets to define the array variable and two sets of square brackets for the index operators to access the members of the array. Programming languages implement the details of arrays differently. The total number of dimensions allowed in an array is language-specific and also limited by available memory.

### Output
## Key Terms
### array member

    An element or value in an array.

### dimension

    An axis of an array.

### index

    An operator that allows us to reference a member of an array.

### list

    A single dimension array.

### offset

    The method of referencing array members by starting at zero.

### table

    A two-dimension array.

## References

* cnx.org: Programming Fundamentals – A Modular Structured Approach using C++
* ↑ Wikipedia: Array data type
# Programming Fundamentals/Loop Examples JavaScript
## References

* Wikiversity: Computer Programming
# Programming Fundamentals/Loop Examples Python
## References

* Wikiversity: Computer Programming
# Programming Fundamentals/Loop Examples CSharp
## References

* Wikiversity: Computer Programming
# Programming Fundamentals/Loop Examples Java
## References

* Wikiversity: Computer Programming
# Programming Fundamentals/Loop Examples Swift
## References

* Wikiversity: Computer Programming
# Programming Fundamentals/Lvalue and Rvalue
## Overview

Some programming languages use the idea of L-values and R-values, deriving from the typical mode of evaluation on the left and right-hand side of an assignment statement. An L-value refers to an object that persists beyond a single expression. An R-value is a temporary value that does not persist beyond the expression that uses it.

## Discussion

L-value and R-value refer to the left and right side of the assignment operator. The L-value (pronounced: L value) concept refers to the requirement that the operand on the left side of the assignment operator is modifiable, usually a variable. R-value concept pulls or fetches the value of the expression or operand on the right side of the assignment operator. Some examples:
The value 39 is pulled or fetched (R-value) and stored into the variable named age (L-value); destroying the value previously stored in that variable.
If the expression has a variable or named constant on the right side of the assignment operator, it would pull or fetch the value stored in the variable or constant. The value 18 is pulled or fetched from the variable named voting_age and stored into the variable named age.
If the expression is a test expression or Boolean expression, the concept is still an R-value. The value in the identifier named age is pulled or fetched and used in the relational comparison of less than.
This is illegal because the identifier JACK_BENNYS_AGE does not have L-value properties. It is not a modifiable data object, because it is a constant.
Some uses of the L-value and R-value can be confusing in languages that support increment and decrement operators. Consider:
Postfix increment says to use my existing value then when you are done with the other operators; increment me. Thus, the first use of the oldest variable is an R-value context where the existing value of 55 is pulled or fetched and then assigned to the variable age; an L-value context. The second use of the oldest variable is an L-value context wherein the value of the oldest is incremented from 55 to 56.

## Key Terms
### Lvalue

    The requirement that the operand on the left side of the assignment operator is modifiable, usually a variable.

### Rvalue

    Pulls or fetches the value stored in a variable or constant.

## References

* cnx.org: Programming Fundamentals – A Modular Structured Approach using C++
* ↑ Wikipedia: Value (computer science)
# Scheme Programming/Abstractions with Data
### Introduction to Complex Numbers

In order to show how abstractions with data can be built, we're going to go through making a complex number package. A complex number is one that has 2 parts, a real part, and an imaginary part. They are often written in one of two ways, in rectangular form:
$a+bi$
And in polar form:
$Re^{i\theta }$
Now, we can can do all of the usual arithmetic with complex numbers, addition, subtraction, multiplication and division. There are simple formulae for this;
Addition:
$(a+bi)+(x+yi)=(a+x)+((b+y)i)$
Subtraction:
$(a+bi)-(x+yi)=(a-x)+((b-y)i)$
Multiplication:
$Re^{i\theta }\cdot Pe^{i\phi }=R\cdot Pe^{i(\theta +\phi )}$
Division:
${\frac {Re^{i\theta }}{Pe^{i\phi }}}={\frac {R}{P}}e^{i(\theta -\phi )}$
Note how multiplication and division are best expressed in polar form, while addition and subtraction are best expressed in rectangular form. This raises an interesting question: How does one best go about computing these? Do we have one internal representation? If so, which do we choose? There are a large amount of questions. These can be answered by trying to implement a new type of data: the complex number type.

### Creating our Generic 'Typed' Variable

Firstly, we shall create a generic 'Typed' variable:
We now need a way to tell if a given variable has a type:
Now, we've introduced two important concepts here, a 'Predicate' and a 'Constructor'. The first is a construct to find if some data is of the correct form, and the second is a procedure that builds our data structure for us.
We must have a way of extracting our data (in this case, the type) from this structure, a way of 'selecting' it:

### Creating our Complex Number Data Type
#### Building our Constructors

Using this typed value, we can go on to form a more detailed data structure for out complex number:
Now let's continue, and create a complex-polar:

#### Building our Predicates

We have our constructors, now we need our predicates:
Now we can define our arithmetic in terms of these procedures.
# Scheme Programming/A Note on R5RS

As of 2016, the current standard for Scheme is R7RS, yet most implementations of Scheme today still only implement the old standard R5RS. RnRS, in general, stands for "Revised$^n$ Report on the Algorithmic Language Scheme," a nod to an influential document with a similar name, the "Revised Report on the Algorithmic Language Algol 60." The previous standard, R6RS, elicited controversy among some Scheme programmers who criticized its departure from Scheme's original minimalist philosophy. In response, R7RS is being divided into two languages, "R7RS-small" and "R7RS-large" of which only R7RS-small has been completed and ratified. R7RS has been better received by implementors than R6RS, although many major implementations still do not support it. However, many R5RS implementations that rejected R6RS have added support for the new standard, including Kawa, Gauche, and Chicken.
Most of this book was written for R5RS, which can be loaded into any R7RS implementation with the library (scheme r5rs), specifically designed for loading legacy code. A section has been added at the end to explore the new features of R7RS.
# Scheme Programming/External Links
### Text

* How to Design Programs
* Structure and Interpretation of Computer Programs
* The Original 'Lambda Papers' by Guy Steele and Gerald Sussman
* Revised 5 Report on Scheme
* Revised 6 Report on Scheme
* Revised 7 Report on Scheme

### Video

* Introduction to Scheme by Andy Balaam (7 videos)
# Scheme Programming/Further Maths
## Trigonometric Functions

Scheme always uses radians for its internal representation of angles, so its sine, cosine, tangent, arcsine, arccosine, and arctangent functions operate as such:

## Hyperbolic Functions

Scheme provides a number of hyperbolic functions, such as hyperbolic sine, cosine, tangent and their inverses.

## Power Functions
### Raising a base to a power

Scheme provides the expt function to raise a base to an exponent.

### Finding the square root of a number

Scheme provides a sqrt function for finding the square root of a number.

## Exponential and logarithmic functions
### Exponential

Scheme provides a exp function for raising base $e$ to a power:

### Logarithm

Scheme provides a log function for finding the natural logarithm of a number:
Note that there is no built-in procedure for finding any other base logarithm other than base $e$. Instead, you can type

## Other useful maths functions (rounding, modulo, gcd, etc.)
### Rounding functions

Scheme provides a set of functions for rounding a real number up, down or to the nearest integer:
* (floor x) - This returns the largest integer that is no larger than x.
* (ceiling x) - This returns the smallest integer that is no smaller than x.
* (truncate x) - This returns the integer value closest to x that is no larger than the absolute value of x.
* (round x) - This rounds value of x to the nearest integer as is usual in mathematics. It even works when halfway between values.
* (abs x) - This returns the absolute value of x.

### Number theoretic division

In order to perform mathematically exact divisions and accomplish tasks for number theorists, Scheme provides a small number of division specific functions:
* (remainder x y) - Calculates the remainder of dividing y into x (that is, the remainder of x/y):
* (modulo x y) - Calculates the modulo of x and y.
There is clearly a difference between modulo and remainder, one of them not shown here is that remainder is the only one which will return an inexact value, and can take inexact arguments.
# Scheme Programming/A taste of Scheme/Solutions
## Evaluating ((+ 3 6))

Parentheses are used in Scheme to apply a procedure to operands. The inner expression (+ 3 6) evaluates to 9. This means that we are now left with (9), but 9 is not an procedure so it cannot be applied, hence the error.
# Radiation Oncology/Toxicity/Emami

* Front Page: Radiation Oncology | RTOG Trials | Randomized Trials
This page is for dosimetric correlations of normal tissue tolerance.

## Emami estimates

Normal whole organ tissue tolerances (cGy)(adapted from Emami 1991 PMID 2032882)
| Organ | TD 5/5 | | | TD 50/5 | | |
| | Whole | 2/3 | 1/3 | Whole | 2/3 | 1/3 |
| Bladder | 6500 | 8000 | N/A | 8000 | 8500 | N/A |
| Brachial plexus | 6000 | 6100 | 6200 | 7500 | 7600 | 7700 |
| Brain | 4500 | 5000 | 6000 | 6000 | 6500 | 7500 |
| Brainstem | 5000 | 5300 | 6000 | 6500 | – | – |
| Cauda equina | 6000 | – | – | 7500 | – | – |
| Colon (obstruction,perforation,ulceration) | 4500 | – | 5500 | 5500 | – | 6500 |
| Ear (acute serous otitis) | 3000 | 3000 | 3000 | 4000 | 4000 | 4000 |
| Ear (chronic serous otitis) | 5500 | 5500 | 5500 | 6500 | 6500 | 6500 |
| Esophagus (stricture,perforation) | 5500 | 5800 | 6000 | 6800 | 7000 | 7200 |
| Femoral head | 5200 | – | – | 6500 | – | – |
| Heart (pericarditis) | 4000 | 4500 | 6000 | 5000 | 5500 | 7000 |
| Kidney | 2300 | 3000 | 5000 | 2800 | 4000 | – |
| Larynx (necrosis) | 7000 | 7000 | 7900 | 8000 | 8000 | 9000 |
| Larynx (edema) | 4500 | 4500 | – | 8000 | – | – |
| Lens | 1000 | – | – | 1800 | – | – |
| Liver | 3000 | 3500 | 5000 | 4000 | 4500 | 5500 |
| Lung | 1750 | 3000 | 4500 | 2450 | 4000 | 6500 |
| Optic chiasm | 5000 | – | – | 6500 | – | – |
| Optic nerve | 5000 | – | – | 6500 | – | – |
| Parotid gland | 3200 | 3200 | – | 4600 | 4600 | |
| Rectum (severe proctitis,necrosis,fistula,stenosis) | 6000 | – | – | 8000 | – | – |
| Retina | 4500 | – | – | 6500 | – | – |
| Rib cage | – | – | 5000 | – | – | 6500 |
| Skin | (100 cm$^2$) 5500 | (30 cm$^2$) 6000 | (10 cm$^2$) 7000 | (100 cm$^2$) 6500 | – | – |
| Spinal cord | (20 cm) 4700 | (10 cm) 5000 | (5 cm) 5000 | – | (10 cm) 7000 | (5 cm) 7000 |
| Small intestine (obstruction,perforation) | 4000 | – | 5000 | 5500 | – | 6000 |
| Stomach (ulceration,perforation) | 5000 | 5500 | 6000 | 6500 | 6700 | 7000 |
| TMJ mandible | 6000 | 6000 | 6500 | 7200 | 7200 | 7700 |
| Thyroid | 4500 | | | 8000 | | |

### Partial volume estimates

    See also: Normal tissue complication probability
Emami provides partial volume radiation tolerance estimates for only a few organ sites.
Other researchers' data:
* Full text No PMID — "Use of normal tissue tolerance doses into linear quadratic equation to estimate normal tissue complicatio probability." T. S. Kehwar, Ph.D., D.Sc. and S. C. Sharma, M.D. Radiation Oncology Online Journal (www.rooj.com).
** Tables 3 and 4 are most helpful.
* Full text No PMID — "Analytical approach to estimate normal tissue complication probability using best fit of normal tissue tolerance doses into the NTCP equation of the linear quadratic model." T. S. Kehwar, D.Sc., DABR. Journal of Cancer Research and Therapeutics.
** See especially Table 4
# Radiation Oncology/Toxicity/Bone

Bone Toxicity
    This page concerns damage to bones, such as femoral head fracture and pelvic insufficiency fractures. For bone marrow toxicity, see Toxicity/Bone marrow

## Pelvic Insufficiency Fractures

Also: Radiation Osteitis

### Gynecologic Cancers

* MD Anderson; 2010 (2001 - 2006) PMID 20052724 -- "Pelvic fractures after radiotherapy for cervical cancer: implications for survivors." (Schmeler KM, Cancer. 2010 Feb 1;116(3):625-30. doi: 10.1002/cncr.24811.)
** Retrospective. 300 women, cervical cancer, curative-intent radiation, with at least 1 post-treatment CT/MRI
** Outcome: pelvic fractures 10%. Site included sacrum (83%), sacrum and pubis (10%), iliac crest (3%), sacrum and acetabulum (3%). Symptomatic 13%, typically pain. Median time 14.1 month to detection; 38% within 1 year, 83% within 2 years of completing RT. Fractures more common in postmenopausal (62% vs 37%, SS) and lower BMI (SS) women
** Conclusion: Pelvic fractures in substantial proportion of women after RT for cervical cancer. Bone mineral density screening and pharmacologic intervention should be considered in these women
* U. Kentucky; 1994 PMID 8192113 -- "Radiation osteitis and insufficiency fractures after pelvic irradiation for gynecologic malignancies." (Fu AL, Am J Clin Oncol. 1994 Jun;17(3):248-54.)
** 12 pts treated for endometrial or cervical cancer with RT-related bone damage.

### Prostate Cancer

* Turkey; 2010 (1998-2007) PMID 19879066 -- "Insufficiency fractures after pelvic radiotherapy in patients with prostate cancer." (Igdem S, Int J Radiat Oncol Biol Phys. 2010 Jul 1;77(3):818-23.)
** 134 pts treated with pelvic RT for prostate cancer. 8 pts developed symptomatic insufficiency fractures at a median f/u of 68 months. 5-yr incidence 6.8%.
** Conclusion: Pelvic IF is a rare complication of pelvic radiotherapy in prostate cancer.
# Radiation Oncology/Toxicity/Brainstem

* Front Page: Radiation Oncology | RTOG Trials | Randomized Trials
Brain Stem Toxicity

## Nausea

* Higher nausea and vomiting if mean brainstem dose >36 Gy
* MD Anderson; 2008 PMID 18455324 -- "Beam Path Toxicities to Non-Target Structures During Intensity-Modulated Radiation Therapy for Head And Neck Cancer." (Rosenthal DI, Int J Radiat Oncol Biol Phys. 2008 May 1. [Epub ahead of print])
** Retrospective. 160 patients, oropharynx, treated with IMRT and 3D-CRT
** Nausea: Higher nausea and vomiting if mean brainstem dose >36 Gy.
** Occipital alopecial: if occipital scalp dose >30 Gy
** Anterior mucositis: if anterior mandible dose >34 Gy
** Conclusion: Dose reduction during IMRT implies increased beam path dose to alternate structure that may result in toxicities uncommon with previous approaches
# Radiation Oncology/Toxicity/Breast

* Front Page: Radiation Oncology | RTOG Trials | Randomized Trials
Breast Toxicity

## Breast Cosmesis Evaluation

* Brachytherapy Cosmetic Score (Wazer, PMID 12095554)
| Grade | Description |
| Excellent | Perfect symmetry; no visible distortion or skin change; no visible catheter entry/exit |
| Good | Slight skin distortion, retraction, or edema; visible telangiectasia; visible catheter entry/exit |
| Fair | Moderate distortion of the nipple or breast symmetry, prominent skin retraction, or edema; moderate hyperpigmentation; moderate telangiectasia |
| Poor | Marked distortion, edema, fibrosis, or severe hyperpigmentation |

## Breast Development

* Pre-adolescent girls
** Breast development inhibited 5/5 at 10 Gy, and 50/5 at 15 Gy
# Radiation Oncology/Toxicity/Bone marrow

* Front Page: Radiation Oncology | RTOG Trials | Randomized Trials
See also: Radiation Oncology/IMRT/Pelvis

## Bone marrow distribution

* Front Page: Radiation Oncology | RTOG Trials | Randomized Trials
Distribution of Bone Marrow
* 1961: (London) - PMID 13726497 — "The distribution of active bone marrow in the adult." Ellis RE et al. Phys Med Biol. 1961 Jan;5:255-8.
** By weighing cadaveric bones.
| Site | % Total red marrow |
| Pelvis (made up of) | 40.0 |
| Pelvic bones | 22.3 |
| Sacrum | 13.9 |
| Femoral head/neck | 3.8 |
| Thoracic spine | 14.1 |
| Lumbar spine | 10.9 |
| Head | 13.1 |
| Upper Limb Girdle (made up of) | 8.3 |
| Scapulae | 4.8 |
| Humeri | 1.9 |
| Clavicles | 1.5 |
| Ribs | 7.9 |
| Cervical spine | 3.4 |
| Sternum | 2.3 |

## Cervical Cancer

* UC San Diego
** 2011 PMID 20400238 -- "Normal tissue complication probability modeling of acute hematologic toxicity in cervical cancer patients treated with chemoradiotherapy." (Rose BS, Int J Radiat Oncol Biol Phys. 2011 Mar 1;79(3):800-7. Epub 2010 Apr 17.)
*** Retrospective. 81 patients treated with concurrent chemo-RT for cervical cancer. DVHs of bone marrow in pelvic field evaluated
*** Outcome: V10 <95% and V20 <76% correlated with lower acute G3+ hematologic toxicity. V10 (25% vs 69%, SS) and V20 (22% vs 58%, SS)
*** Conclusion: Acute hematologic toxicity increases with increasing pelvic bone marrow volume irradiated
# Radiation Oncology/Toxicity/Dysphagia

* Front Page: Radiation Oncology | RTOG Trials | Randomized Trials
Dysphagia