OpenLLM-France/wikimedia huggingface dataset:
# BASIC Programming/Beginning BASIC/User Input
## Introduction

Read the Variables and Data Types article before reading this one.
User Input is one of the most important aspects of programming concepts. Every program should have some sort of user interaction, from getting a character's name for a game to asking for a password to log into a database. This article will teach the basics of user input in the BASIC Programming Language. Please note that the following code may vary from compiler to compiler. (FreeBASIC Users: Do not use line numbers).

## Code

* you can copy it from here, hashtags do not do anything, it's a reminder.
Example 1 (qBasic)
Example 2 (freeBasic)

## Explanation

Output
10: Dim userInput declares the variable userInput. As String tells the compiler that userInput is a string (A collection of pure text, can include numbers and symbols, but is considered text).
20: Input "What is your name?" prompts the user for their name. userInput OR a$ tells the compiler to store the answer in the variable in userInput or a$.
30: Makes a blank line.
40: A normal Print statement, ; tells the compiler not to skip to the next line.
50: Sleep makes the program wait for the user to press a key.
60: The ending to all BASIC programs, signifies a termination of the program.
| Previous: Variables and Data Types | Main: BASIC Programming | Next: Documentation |
# BASIC Programming/Beginning BASIC/Control Structures/DO...LOOP

In the last chapter we learned about inputing data to the program. Well now you'll be learning how to repeat a function over and over again. Remember anything to the right of an apostrophe (') are comments in one version of BASIC, and should be removed, or replaced with a different kind of REMARK, if they cause problems.
This loop will continue forever, unless interrupted by the operating system. If you wanted to have a condition where the loop ends, you can put a WHILE or UNTIL keyword after LOOP.
# BASIC Programming/Beginning BASIC/Control Structures/GOTO

The GOTO statement in BASIC is used to jump to a specific location or label within the source code; it may take either a line number (which appears at the beginning of a line) or a label (which is a word that ends in a colon).
This statement was originally essential for programming in Basic; the older interpreters only allowed IF statements to run on one line and did not have more advanced handling of FOR or WHILE loops. Under modern versions of Basic, you will generally see GOTO used only to return to the top of a main loop. In all other cases, usage of GOTO has been deprecated in favor of other statements.

## GOSUB

The Gosub statement is a variation of the Goto statement. When used, it jumps to a specific location within the program, and allows the next RETURN statement to head back to the point just after the GOSUB call.
This statement must be paired with a matching return statement. Under modern versions of Basic, GOSUB uses a stack of locations that may be filled up, resulting in a stack overflow.
# Algebra/Resources
## Further Reading

* Linear Algebra Done Right by Sheldon Axler (open access)
# Anim8or - Basics to Advanced
## Contents

* QuickStart

### Prerequisites

* Prerequisite 1 - Understanding OpenGL
* Prerequisite 2 - 3D Graphics
* Prerequisite 3 - Downloading and Installing Anim8or

### Basics

* User Interface Overview
** Object Edit button set

### Intermediate

* Special Effects
** Reflections

### Advanced

* Rendering Movies
# Anim8or - Basics to Advanced/PreReq 1
## Prerequisite 1: Understanding OpenGL

OpenGL is an interesting topic to cover, since the Anim8or program and many other commercial 3D modelers run on OpenGL.
What is OpenGL
OpenGL is an API (Application Programming Interface) which interacts directly with the video hardware in your computer to produce different types of graphics very fast. This approach to graphics is much faster than what’s called software-based graphics. The main problem with Software-based graphics is that it is not using the full potential of your video card. Usually, the software-based approach is used to create simple graphics such as the user interface in Microsoft Word. But for 3D graphics to run at full speed you need direct contact with the video hardware for optimal performance. That is the purpose of OpenGL.
One more thing to discuss is how OpenGL makes the programmer’s life a little bit easier. OpenGL takes care of interfacing with the video hardware by itself without the programmer writing any code to do that. In the early days of graphics programming, programmers would sometimes have to write a lot of code just to interact with the video hardware. Now they don’t have to worry about that. They can just concentrate on drawing graphics.
# Anim8or - Basics to Advanced/PreReq 3
## PreRequisite 3 - Downloading and Installing Anim8or

Here we are going to cover how to obtain the Anim8or program and how to run it.
First go to the Anim8or main website at http://www.anim8or.com. Click on the spinning “Enter” text on the bottom and you will be at the main page. From the menu at the left, select the “Download” link. When you get to that page, select the zip file right under the header “Download Anim8or Executable” and download the zip file to a target folder. Optionally you can go a little bit below that header and download the PDF manual for Anim8or in zip format. Once you have all the files downloaded, unzip the Anim8or zip file and look in the unzipped folder. You should only see just one item in the folder called “Anim8or.exe”. Double-click that to open it. Congratulations on obtaining and running Anim8or.
# Angry Birds/Structure materials

Angry Birds contains a variety of player destructible structures for the player to either avoid or leverage to their advantage.
* Glass - Easily Broken
* Wood - Moderately difficult to break.
* Stone - Hard to break
# Anim8or - Basics to Advanced/User Interface Overview

When you first start up Anim8or, after the splash screen goes away, you will get a grid in front of you with a bunch of buttons surrounding it.
Let's go over the buttons first. Here are the set of buttons on the left of the screen when you first start Anim8or:
These set of buttons are part of the Object/Edit mode in Anim8or. These tools allow you to create basic objects such as cubes, spheres, and other primitives. You can also do basic manipulation on these objects such as rotation, moving the object, and scaling the object.
We will now go over all these buttons to understand them more.
Next: Object/Edit buttons
# Anim8or - Basics to Advanced/QuickStart
## Part 1: Modeling

Welcome to Part 1 of the Anim8or - Basics to Advanced QuickStart. This first part of the Quickstart will show you how to model the shape of a Gingerbread man. Many of you may be familiar with the Gingerbread man modeling from the Blender book. This article will show you how to do exactly that with similar results, except we are going to use Anim8or, not Blender. So go ahead and open up Anim8or and let's start.

### Creating the Body

First off, start up the Anim8or program. Make sure you are in front view by pressing (NUM – 5). Also make sure you are in Object Edit mode by pressing (SHIFT – A).
We are going to draw a cube, which we will edit to form our gingerbread man. Select the Cube draw button by pressing (SHIFT – C). Move your mouse pointer to the workspace and click and drag the mouse to form a cube. Next, get the Select tool (A) and double-click the cube you just drew. Make sure the location of the cube is in the center by setting the x, y, and z parameters to 0. Then in the Divisions, set them to 2 in each direction. For the size, set x, y, and z to 20. Then hit the OK button:
# Astrodynamics/Time of Flight
## Eccentric Anomaly

Because the position of an orbiting body is not directly related to its true anomaly additional angular parameters must be introduced to determine the time of flight. The eccentric anomaly is defined as:
    $\tan {\frac {E}{2}}={\sqrt {\frac {1-e}{1+e}}}\tan {\frac {\nu }{2}}$
The trajectory equation in terms of eccentric anomaly is:
    $r=a(1-e\cos E)$
The mean anomaly is the angle that an orbiting body would travel in a certain time if it were in a circular orbit whose radius is the semi-major axis of its orbit. Recall the formula for mean motion:
    $M=nt=t{\sqrt {\frac {\mu }{a^{3}}}}$
The relation between eccentric and mean anomaly is expressed in Kepler's equation:
    $M=E-e\sin E$

## Time of Flight

From Kepler's Equation, the time since periapsis is:
    $t={\sqrt {\frac {a^{3}}{\mu }}}(E-e\sin E)$
More generally:
    $t-t_{0}={\sqrt {\frac {a^{3}}{\mu }}}(E-E_{0}-e\sin(E-E_{0}))$

## Non-Elliptical Trajectories
### Hyperbolic Trajectory

Kepler's equation for a hyperbolic trajectory is:
    $M=e\sinh H-H$
Where H is the hyperbolic anomaly and is analogous to eccentric anomaly:
    $\tanh {\frac {H}{2}}={\sqrt {\frac {e-1}{e+1}}}\tan {\frac {\nu }{2}}$
Note that these equations make use of hyperbolic sine and tangent functions.

### Parabolic Trajectory

The time since periapsis for a parabolic trajectory can be expressed via Barker's Equation:
    $t={\frac {1}{2}}{\sqrt {\frac {p^{3}}{\mu }}}\left(D+{\frac {D^{3}}{3}}\right)$
Where the parabolic anomaly, D is:
    $D=\tan {\frac {\nu }{2}}$
# Algorithm Implementation/Geometry/Rectangle difference

This code implements an efficient rectangle difference algorithm, based on the 4-zone Rectangle Difference Algorithm.
# Algorithm Implementation/Geometry/Tangents between two circles

This code finds the set of common tangents between two circles.

## External links

* Circle-Circle Tangents on MathWorld
* Visualizer for the above code is available. (Requires Java. Source is included in the jar archive.)
# Algorithm Implementation/Graphs/Depth-first search

In C++:
# Algorithm Implementation/Geometry/Convex hull
## Contents

* Andrew's monotone chain convex hull algorithm — 2D, O(n log n) complexity.
# Algorithm Implementation/Graphs
## Contents

* Breadth-first search
* Depth-first search
* Maximum flow
* Shortest path
* Maximum matching
# Algorithm Implementation/Geometry/Convex hull/Monotone chain

Andrew's monotone chain convex hull algorithm constructs the convex hull of a set of 2-dimensional points in $O(n\log n)$ time.
It does so by first sorting the points lexicographically (first by x-coordinate, and in case of a tie, by y-coordinate), and then constructing upper and lower hulls of the points in $O(n)$ time.
An upper hull is the part of the convex hull, which is visible from the above. It runs from its rightmost point to the leftmost point in counterclockwise order. Lower hull is the remaining part of the convex hull.

## Fortran

Note that this implementation works on sorted input points. The algorithm is array based.

## C

C sources taken from the Math::ConvexHull::MonotoneChain Perl module. Note that this implementation works on sorted input points. Otherwise, it's rather similar to the C++ implementation above.

## References

* De Berg, van Kreveld, Overmars, Schwarzkopf. Computational Geometry: Algorithms and Applications. 2nd edition, Springer-Verlag. ISBN 3540656200.
* Dan Sunday. The Convex Hull of a 2D Point Set or Polygon. (archived copy by webcite)
* A. M. Andrew, "Another Efficient Algorithm for Convex Hulls in Two Dimensions", Info. Proc. Letters 9, 216-219 (1979).
# Algorithm Implementation/Graphs/Maximum flow
## Contents

* Edmonds-Karp
* Dinic
* Boykov & Kolmogorov
* Sim Cut
* Simulation s-t Cut
# Algorithm Implementation/Date and time/Conversion of a Gregorian date to an International Fixed Calendar date

This Source code converts a Gregorian Calendar date into a International Fixed Calendar date. The Gregorian date can be abbreviated, or
nothing entered for today's date. The program is in 2 classes: IFCConverter and TestIFCConverter.
# Algorithm Implementation/Geometry
## Contents

* Convex hull
* Tangents between two circles
* Rectangle difference
# Branding a University Media Department/General Structure and sequence for development of a brand (JH)

* Brainstorm with an all encompassing, large group.
* Research, Build, Edit Test in small groups.
* Present and Adapt Test back in the large group.
* Research, Build, Edit Implement Larger Campaign = Large Groups
* Present and Adapt Test = Large Group
# Branding a University Media Department/A General Structure and sequence for development of a brand (JH)
## A General Structure for the Branding Process (JH)

* Brainstorm with an all encompassing, large group.
* Research, build, edit and test in small groups.
* Present and adapt test back in the large group.
* Research, build, edit Implement the larger campaign = Large Groups
* Present, adapt and test = Large Group
# Branding a University Media Department/In order to survive, universities must refine their niche

Discipline-based missions (“going into every person’s world”) might represent this university’s niche market, Is it possible to integrate missions in a course syllabus?
We have talked about a media major accompanying every mission. Who documents the experience? JH: Some students can't afford to participate in missions. (RB)
It's necessary to define "missions." (LH)
We cannot let the University’s idea of missions define our focus. (JH)
We should train students to tell God’s story unfolding in today’s world. (KA)
# Branding a University Media Department/A Definition for Branding

"Branding is easy to describe. It involves everything" - Bill Oeschler, President, Ethnographic Media.
Any company that is not well branded will fail in less than five years and smaller organizations don't have that long" - NBC VP for marketing
"Branding is a way to create an emotional connection with a specific audience" - Troika, a network branding company.
Branding is a collective set of single entity user experiences/touchpoints plotted as positive, negative or neutral. The brand becomes the recollection of these touchpoints from which brand preference is decided. (CEF)
# Branding a University Media Department/Are there unique issues related to the branding of a university media department?

How can a university media department develop a clear, consistent, unmistakable brand when the department itself is so diverse? The diversity of the audience (high school juniors, parents, transfer students, alumni, continuing education (older) students, current students, etc.) adds complexity to the problem.
Understanding primary and secondary target audiences is essential. This might be a reasonable market emphasis for recruiting purposes:
* 70% - High school juniors
* 20% - Parents (the ones who usually pay the bill)
* 10% - All others
For internal purposes, academic credibility requires a different emphasis. A reasonable mix
* 70% - High school juniors
* 20% - Parents (the ones who usually pay the bill)
* 10% - All others
# Branding a University Media Department/Is graduation in three years feasible?

Year round classes may be necessary. Trade schools, such as those at OSU are already year round, but tech burnout is a risk/]]
# Branding a University Media Department/Making room for new media in the curriculum

There's no room for new media within a media department's well established curriculum. Course work has been refined for decades until every professor in convinced that only the essentials remain.
Mobile media, social media, streaming media and a dozen other pervasive influences have never existed before in the form that we see them now. Yet these issues represent primary trends (if not THE trends) in modern media. Professors do their best to assimilate, but new tools and processes don’t fit into an established curriculum. And when new technologies require a significant learning curve, teachers have every incentive to minimize their importance.
It's not possible to add something new to an already over-stretched curriculum unless something is deleted. It's necessary to teach more in less time in order to make room for the "new" but there's already too much momentum in the wrong direction. Teachers must define their core content and almost NOTHING is "core" to a curriculum - there's very little that should be considered "sacred."
Faculty must "clean house" and define the fundamentals that should remain in their curriculum. What classes are outdated?
It's necessary to delete duplications in course content, but professors don't know what everyone else is teaching.
Perhaps a media department should record EVERYTHING that is repeated more than once, provide students a video link and quiz them the content for verification. (DE) There are technical barriers to effortless recording/publishing, so perhaps the only alternative is to stop teaching certain things.
The university has a responsibility to not only teach tools but theory and ethics. We must require students to apply these in projects which require industry best practices, critical thinking, and multivariate problem solving. Christian universities should extend this teaching to filter Christian worldview. Technology should be used as an app for this knowledge, not as a framework for course design.
# Brain Drain

Brain drain refers to the emigration of highly skilled and educated individuals from one country to another, often resulting in a loss of intellectual capital for the home country. This phenomenon has far-reaching implications on both the source and destination countries, impacting economies, innovation, and social structures.
# Branding a University Media Department/Is it in-advisable to design a curriculum around faculty?

Designing a curriculum can not be personality-specific, however, faculty teach through their strengths, while they address teaching outcomes. The syllabus defines outcomes and administrators must be verify that this learning has taken place.(LH)
# Branding a University Media Department
## This Wikibook has been established to develop a branding process for a small private university's media department . An on-line community will brainstorm and develop ideas related to this process.

* It's necessary to agree on a definition for branding and that branding is not optional.
* Are there unique branding requirements for a small private university’s media program?
* This discussion is for faculty, students, alumni, administrators, professional advisors and everyone involved with the media department's curriculum.

## Chapters For Initial Discussions

* A Definition for Branding
* Unique issues related to the branding of a university media department
* Who should be involved in the branding of a small private university media department?
* A General Structure and sequence for development of a brand (JH)
* What are the immediate priorities to begin a branding process?
* Premises for discussion and consideration

## Brainstorming Chapters

* What are the immediate obstacle to a media department's branding process?
* The structure of 15-week semester should be evaluated
* Is graduation in three years feasible?
* Universities must refine their niche
* Can Gen. Eds. be taken online during a "professional semester?"
* Is it in-advisable to design a curriculum around faculty?
* Making room for new media in the curriculum
* Who are our competitors?
# Circuit Theory/Superposition
## Goal

Split multisource circuit into smaller, simpler circuits, compute current or voltage and add.

## Procedure

Pick one source, turn off all or set to zero all others:
* Set Voltage Sources to V=0, doesn't care about current so is a short
* Set Current Sources to I=0, doesn't care about the voltage so turns into an open

## Example 1

Find the current through the 3 ohm resistor assuming moving left to right is positive:
* The original circuit is equal to
* this circuit where i = 24/5 plus
* this circuit where i = -14/5 (current divider) plus
* this circuit where i = -3/5.
The total current in the direction shown on the original diagram is going to be: ${\frac {24}{5}}-{\frac {14}{5}}-{\frac {3}{5}}={\frac {7}{5}}amp$

## Example 2

Find the current through the 4 ohm resistor assuming moving left to right is positive:
* The original circuit is equal to
* this circuit which can be re-drawn as
* this circuit where i = 35/3 = 11.67 plus
* this circuit which can be re-drawn as
* this circuit where i = -11/36 = -.3056 plus
* this circuit which can be re-drawn as
* this circuit where i = 25/18 = 1.3889 (current divider)
$i=35/3-11/36+25/18=51/4=12.75amps$
Simulation at circuit lab confirms the answer:
# Circuit Theory/Symmetry

Some very complicated circuits can be solved by seeing symmetry. Three examples are presented below:

## Example 1

Bridge Balance
* Original Complicated Circuit
* Redrawn up and down
* Z impedances are all equal, so middle Z has no current going through it, nodes on either side are at the same EMF
* middle Z can be replaced by short or open, since no current is going through it

## Example 2

Cube
* original flattened cube of resistors
* identifying identical EMF locations
* redrawing idential EMF as the same nodes, can see three groups of parallel resistors

## Example 3

2D-Grid Suppose there is an infinite 2 dimensional grid of impedances (Z). What is the input impedance if connected across (in parallel) with any given impedance?
* Current due to injection at any spot splits in quarters and then begins to fill the resistive grid like water filling an infinite bucket.
* Current removed at another spot splits in quarters and then begins to drain the resistive grid like draining an infinite bucket.
* Together the two create a steady state situtation where the question "What is the input impedance" can be asked. The current i is i/4 + i/4 = i/2. v = i/2*Z so v/i = Z/2 = input impedance.
If the grid were three dimensional, the current would split into 6 equal sections, thus the input impedance would be Z/3.
So what does this mean? It helps us understand that the infinity of space has an impedance: 376.730... ohms which is plank's impedance * 4π and is related to the speed of light, the permeability of free space and permitivity of free space.
Perhaps this is related entanglement and to the trinity since: ${\frac {Z}{3}}={\frac {1}{{\frac {1}{Z}}+{\frac {1}{Z}}+{\frac {1}{Z}}}}$
# Circuit Theory/Source Injection

Source injection is a trick used when parallel/series combinations don't exist in a circuit.
Source injection helps find the overall impedance of a circuit from V$_s$/I$_s$. Vs and Is are found in the phasor/complex frequency domain using node or mesh analysis.
* original complicated circuit, want to look at just the red part
* want to reduce middle resistors into one equivalent resistor
* remove middle part from circuit, inject source of 1 volt, find source current and compute the equivalent resistance
Suppose have a complicated circuit, want to break it up into smaller sections, find a clump of passive devices in the middle of it, want to find their equivalent, but can not combine in series or parallel.
This type of problem has to be done with source injection (or Y Δ Transform .. but that is later).
One is really not physically injecting anything into the circuit, one is just pretending so that node analysis can be used to find the overall real (in phasor/complex frequency domain) impedance.
For the circuit above, the node analysis shows that the overall current is:
    $I_{s}=0.2542735043$
This means that:
    $R_{eq}={\frac {V_{s}}{I_{s}}}={\frac {1}{0.2542735043}}=3.9328ohms$