OpenLLM-France/wikimedia huggingface dataset:
# Introduction to Robotics/Electrical Components/Lab/Teachers

Electrical Components: Lecture (For Students) (For Teachers) — Lab (For Students) (For Teachers) — Assignment (For Students) (For Teachers) — Quiz (For Students) (For Teachers)

## Preparation

Each group of students is going to need the following components:
* Breadboard
* Voltage/current/Ohm meters, or a DMM
* Power supply

### Note: Soldering

Some instructors may wish to introduce the students to the concept of soldering. This is useful because it's a practical skill that future engineering students will make use of. However, because the BoeBots come with breadboards, soldering won't be a useful task unless the student wants to create a very complicated circuit for their final projects.
If the instructor does decide to teach soldering, the lab should begin with a lesson on techniques and safety. The instructor should ensure that students who are soldering be properly supervised.
An optional portion at the end of the student lab assignment about soldering has been added. The instructor should feel free to remove this section if soldering will not be covered, or modify it if different projects are going to be used.

### Simulation Software

The instructor may choose to do some of the laboratory work using simulation software such as PSpice or Electronics Workbench. Simulation is a good idea, especially if a large number of examples need to be worked through in a limited amount of time, or if the prototyping hardware available to the students are of low quality.
Students should be exposed to some physical circuit construction using breadboards, because all circuits on the BoeBot will be constructed in this way.

## Lecture Part

We want to introduce the electrical equipment, and demonstrate how to use the meters to measure voltage, current, and resistance.

### Measuring Circuits

When measuring various circuit quantities, make sure to reiterate these points:
* Measure voltage across an element.
* Measure current at a break in the circuit, never across an element.
* Take care not to short your circuit with your probes and wires.
In terms of safety, it is important to reiterate this point: 2 amps of current is enough to kill a person. 1 amp of current is enough to injure a person. When working with circuits, make sure students understand not to play with the power source, and to always use appropriate resistance to keep their current under control.

### Current Meters

Some students will want to know why we must break a circuit to measure the current. Repeat the point that an Amp-meter has zero resistance. Point out that the power supply is at a constant value, such as 5 volts. Now, ask the student:
    You have 5 volts and 0 Ohms resistance, what is the current?
Let the student think about it, and if they appear confused, repeat for them Ohm's law: V = I R. Let the student try to solve the equation on paper, if needed, but let the student come to the solution on their own: With zero resistance, the amount of current going through the ammeter will approach infinity, and infinity is bad.
# Introduction to Robotics/Electrical Components/Lecture/Students

Electrical Components: Lecture (For Students) (For Teachers) — Lab (For Students) (For Teachers) — Assignment (For Students) (For Teachers) — Quiz (For Students) (For Teachers)
# Introduction to Robotics/Memory and Learning/Assignment/Students

Memory and Learning: Lecture (For Students) (For Teachers) — Lab (For Students) (For Teachers) — Assignment (For Students) (For Teachers) — Quiz (For Students) (For Teachers)

## Part 1

Re-Read the chapter about data types at b:PBASIC Programming/Variables and Constants. Pay close attention to the section about arrays.
# Introduction to Robotics/Electrical Components/Lecture

Electrical Components: Lecture (For Students) (For Teachers) — Lab (For Students) (For Teachers) — Assignment (For Students) (For Teachers) — Quiz (For Students) (For Teachers)
In this lecture we are going to introduce the flow of electricity as being analogous to the flow of water through tubes. We will introduce resistors, diodes, and buttons. We will discuss Ohm's law.
# Introduction to Robotics/Example Syllabus

This page is going to serve as an example of a syllabus. Instructors should fill in the details according to their own policies and timeframes.

## Syllabus
### Part 1 Fundamentals of Robotics

1. Introduction 2. Fundamentals of Robot Technology, Programming, and Applications

### Part 2 Robot Technology: The Robot and its Peripherals

3. Control Systems and Components 4. Robot Motion Analysis and Control 5. Robot End Effectors 6. Sensors in Robotics 7. Machine Vision

### Part 3 Robot Programming and Languages

8. Robot Programming 9. Robot Languages 10. Artificial Intelligence

### Part 4 Applications Engineering for Manufacturing

11. Robot Cell Design and Control 12. Economic Analysis for Robotics

### Part 5 Robot Applications in Manufacturing

13. Material Transfer and Machine Loading/Unloading 14. Processing Operations 15. Assembly and Inspection

### Part 6 Implementation Principles and Issues

16. An Approach for Implementing Robotics 17. Safety, Training, Maintenance, And Quality

### Part 7 Social Issues and the Future of Robotics

18. Social and Labor Issues 19. Robotics Technology of the Future 20. Future Applications
# Introduction to Robotics/Interfacing/Lab

Interfacing: Lecture (For Students) (For Teachers) — Lab (For Students) (For Teachers) — Assignment (For Students) (For Teachers) — Quiz (For Students) (For Teachers)
In this lab we are going to use our knowledge of electrical circuits to create interface circuits for the BoeBot. We will construct our small circuits on the breadboard that is on top of the BoeBot.
# Introduction to Robotics/Electrical Components/Lecture/Teachers

Electrical Components: Lecture (For Students) (For Teachers) — Lab (For Students) (For Teachers) — Assignment (For Students) (For Teachers) — Quiz (For Students) (For Teachers)

## Electricity Flowing in a Circuit

Electricity flows through circuits in the same way as water flows through pipes. Water only flows where the pipes are properly connected. Likewise, electricity will only flow where the components and wires are properly connected.
Notice also that electricity will only flow in a "complete circuit". Electricity must come from a source, and must go to a ground.
There are two quantities that we need to measure when dealing with electricity: Voltage and Current.

### Voltage

    Voltage is a measure of the "pressure" of the electricity. More voltage means more potential for the electricity to flow.

### Current

    Current is a measure of the "amount" of the electricity. More current means more electrons are flowing.

## Resistors: Resisting current

Resistors are said to "resist current". At the same pressure (voltage), resistors cause less current to flow. Resistors are measured in units called "Ohms", and are labled with a Ω (greek capital omega).
For the same pressure, more ohms means less current, and fewer ohms means more current.

## Ohm's Law

The relationship between current, voltage, and resistance is shown by Ohm's Law:
    $V=IR$

## Resistor Color Codes

* 0
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
Resistor values are shown using a special color code. A resistor will have 4 colored bands on it, one of the bands will be gold or silver. To read a resistor, put the gold/silver band on the right. The first two bands on the left are the digits, and the third band is an exponent.
To calculate the value of a resistor, we take the first two digits to form a 2-digit number, and we multiply it by 10 to the power of the third band. For instance, if our resistor was:
| red | green | yellow | gold |
Then the value of the resistor would be:
    $25\times 10^{4}=250000=250k\Omega$
The fourth band is a "tolerance" band, or an error code. Silver means the resistor has a 10% error, and gold means the resistor has a 5% error.
* 0
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
| red green yellow gold | $25\times 10^{4}=250000=250k\Omega$ |
| red green yellow gold | $25\times 10^{4}=250000=250k\Omega$ |
| red green yellow gold | $25\times 10^{4}=250000=250k\Omega$ |
| red green yellow gold | $25\times 10^{4}=250000=250k\Omega$ |
| red green yellow gold | $25\times 10^{4}=250000=250k\Omega$ |
# Introduction to Robotics/Electrical Components/Assignment/Students

Electrical Components: Lecture (For Students) (For Teachers) — Lab (For Students) (For Teachers) — Assignment (For Students) (For Teachers) — Quiz (For Students) (For Teachers)

## Reading

* Read Circuit Theory: Resistors
* Read PBASIC Programming: Input and Output

## Questions
### Ohm's Law

* A computer serial port cable has a few requirements: the signal is 5 volts, and the total current flowing into the port can be up to 2 milliamps. If the current is too high, the circuit will be ruined. How much resistance must a serial cable have at 5 volts to keep the current below 2 milliamps?
* If we have a circuit with a set resistance R, we want to change the voltage and measure the current. Which of the following shapes is our graph likely to have:
** Parabola
** Hyperbola
** Line
** Sine Wave

### Resistors

You have the following resistor color codes, what resistance do these correspond to?
| 1. | brown black brown gold |
| 2. | orange orange red gold |
| 3. | brown black yellow gold |
| 4. | green green blue gold |

### Ports

* We have a sensor that outputs values between 0 and 116. How many parallel input ports do we need?
* If we have the statement "DIRS = %1100110101001110", what ports are inputs, and what ports are outputs?
# Introduction to Robotics/Memory and Learning/Lab/Students

Memory and Learning: Lecture (For Students) (For Teachers) — Lab (For Students) (For Teachers) — Assignment (For Students) (For Teachers) — Quiz (For Students) (For Teachers)

## Introduction

In this lab, we will be using learning techniques and sensors to enable our robot to navigate a maze. The best robots will have two modes: An exploration mode where the robot explores the maze and creates an internal map of it, and a map-solving mode where the robot uses it's maps to navigate the maze quickly and efficiently.
In order to perform this task, the student must:
* Have good, reliable routines for traveling a fixed distance and turning 90° to the left and right. Turns and measurements should be precise.
* Have good, reliable routines for operating the ultrasonic sensor, including routines to turn the sensor 90°, and converting sensor readings into reliable distance measurements. This may require the student to take temperature measurements and make calculations concerning the speed of sound.
* Be proficient in the use of loops, branches, subroutines, and arrays.
# Programming Fundamentals/Variables/Clojure
## Try It

Copy and paste the code above into one of the following free online development environments or use your own Clojure compiler / interpreter / IDE.
* CodeChef
* Ideone
* paiza.IO
* repl.it
* RexTester
* TutorialsPoint

## See Also

* Wikibooks: Clojure Programming
* TutorialsPoint: Clojure
* ClojureDocs: Clojure Core
# Programming Fundamentals/Variables/C Sharp
## Try It

Copy and paste the code above into one of the following free online development environments or use your own C Sharp compiler / interpreter / IDE.
* CodeChef
* C# Pad
* .NET Fiddle
* Ideone
* paiza.IO
* Rextester
* repl.it
* TutorialsPoint

## See Also

* C Sharp
* Wikibooks: C Sharp Programming
# Programming Fundamentals/Variables/Flowchart
## Try It
### Free Online Flowchart Tools

* Diagramo
* Draw.io

### Free Downloadable Flowchart IDEs

* Flowgorithm
* LARP
* RAPTOR
* Visual Logic

## See Also

* Flowgorithm
* Raptor (programming)
# Programming Fundamentals/Variables/Bash
## Try It

Copy and paste the code above into one of the following free online development environments or use your own Bash compiler / interpreter / IDE.
* CodeChef
* Ideone
* paiza.IO
* repl.it
* TutorialsPoint

## See Also

* Bash programming
* Wikibooks: Bash Shell Scripting
* tldp.org: BASH Programming - Introduction HOW-TO
# Programming Fundamentals/Variables/C
## Try It

Copy
* CodeChef
* GDB Online
* Ideone
* InterviewBit
* paiza.IO
* PythonTutor
* repl.it
* TutorialsPoint

## See Also

* Wikibooks: C Programming
# Programming Fundamentals/Variables/BASIC
## Try It

Copy and paste the code above into one of the following free online development environments or use your own BASIC compiler / interpreter.
* repl.it - (Doesn't support LONG or Assignment Operators)
* TutorialsPoint

## See Also

* Wikibooks: BASIC Programming
# Programming Fundamentals/Variables/C++
## Try It

Copy and paste the code above into one of the following free online development environments or use your own C++ compiler / interpreter / IDE.
* CodeChef
* GDB Online
* Ideone
* paiza.IO
* PythonTutor
* repl.it
* TutorialsPoint

## See Also

* C++
* Wikibooks: C++ Programming
# Programming Fundamentals/Variables/COBOL
## Try It

Copy and paste the code above into one of the following free online development environments or use your own COBOL compiler / interpreter / IDE.
* JDoodle
* paiza.IO
* TutorialsPoint

## See Also

* TutorialsPoint: COBOL
* GnuCOBOL Manual
# Programming Fundamentals/Variables/Block
## Try It

Go to Blockly Demo or use your own Block compiler / interpreter / IDE.
* Blockly
* Gameblox
* Micro:bit
* Scratch
* Snap
* Tynker

## See Also

* Blockly
# Introduction to Political Science
## Course Description

POLS 100 is designed to equip students with the very basics of the Political Science discipline. There will be four units that cover the four pillars of Political Science: Political Theory, Government & Politics, Comparative Politics, and International Relations. Each unit is designed to provide students with a broad overview of how each pillar supports the Political Science Construct. In subsequent classes you will go into more depth about the various pillars. In POLS 100 you will learn the origins of major political theories from both Western and Eastern schools. The Government & Politics unit will introduce the prevailing governmental structures of the world to include democracy, socialism, and autocracy. Comparative Politics will introduce you to methodoligies in making substantive links between similar government structures while equipping you with tools to articulate their differences. Finally, the International Relations Unit will give you a broad overview of the major international institutions that effect international policymakers from the governmental and non-governmental perspectives.

## Course Objectives

* Introduce basic political theory concepts. Topics will include:
** Classic Political Theorists and Concepts
*** Thucydides - Introduce Thucydides as a core theorist in Political Science for both Realism and Liberalism in his work, the Peloponessian Wars
*** Socrates and Plato - Introduce the works of theorists Socrates and Plato while exploring the major tenets of their work, The Republic
*** Aristotle - Introduce the theorist Aristotle and his thoughts on virtue in politics in his work The Politics
*** Niccolo Machiavelli - Introduce the theorist Niccolo Machiavelli and his Realist work The Prince
*** Confucius - Introduce a great Eastern Philosopher and explore some of the major tenets of his work Great Learning
* Introduce basic government & politics concepts. Topics include:
* Introduce basic comparative politics concepts. Topics include:
* Introduce basic international relations concepts. Topics include:

## Syllabus by Instructor

* Jaylan Haley

## Classes by Instructor

* Jaylan Haley

## Course Material

This section will provide you with the very basics across the courses, no matter which instructor you choose. It's important to read the subject matter that the instructor provides so that you can adequately accomplish the various assignments that will be provided by the instructor. Remember, you only get out of this experience what you put into it. Instructors understand that they are taking on a responsibility to provide feedback in a professional and timely manner. Utilize all materials available to you to make your learning experience worthwhile.

### Textbooks
## Instructor's Office

* Jaylan Haley
# Introduction to graph theory/Proof of Theorem 1
## Statement

The sum of the degrees of the vertices of a graph $G$ is precisely twice the size of $G$.

## Proof

Let $S=\{(v,e):v\in V(G),e\in E(G),v$ incident with $e\$. We will count the number of elements of $S$ in two different ways, using the method of double counting.
The degree of a vertex is defined to be the number of edges incident with that vertex. Therefore vertex $v$ is the vertex-part of precisely $d(v)$ elements of $S$. Thus the number of elements of $S$ is the sum of the degrees of the vertices.
The other obvious way to count the number of elements of $S$ is in terms of the edges. Clearly each edge is incident with precisely two vertices. Therefore edge $e$ is the edge-part of precisely 2 elements of $S$. Thus the number of elements of $S$ is twice the number of edges.
Since a set has the same number of elements, regardless of how you count them (unless, of course, you miscount them), it follows that the sum of the degrees of the vertices is twice the number of edges.

## Alternate Proof

In combinatorics, you can prove most results a number of different ways. Here is an alternate proof by induction on the number of edges $m$. If $m=0$, there are no edges and hence each degree is 0, so the total of the degrees is indeed twice the number of edges.
Now suppose that we have proved the theorem for all graphs with $m-1$ edges, and that graph $G$ has $m$ edges. Let $uv$ be an edge of $G$. Denote by $G-uv$ the graph identical to $G$ in all respects, save the omission of the edge $uv$. Then clearly $G-uv$ has $m-1$ edges, and so its degrees sum to $2m-2$. $G$ has identical degrees to $G-uv$, except for an increase by one at the vertices $u$ and $v$. Thus the sum of the degrees of $G$ is $(2m-2)+2=2m$, proving the theorem by induction.

## Comments

The method of double counting is often used in Combinatorics, and is worth getting to know well.
# Introduction to graph theory/Proof of Corollary 3
## Statement

A graph is a tree if and only if for every pair of distinct vertices $u,v$, there is exactly one $u,v$-path.

## Corollary of

Theorem 2: A graph is a forest if and only if for every pair of distinct vertices $u,v$, there is at most one $u,v$-path.

## Proof

A tree is defined to be a connected forest. Furthermore, a graph is defined to be connected if and only if for every pair of distinct vertices $u,v$, there is at least one $u,v$-path. The proof should now be evident, but for completeness:
If graph $G$ is not a tree, it is either not a forest, or not connected. If $G$ is not a forest, by Theorem 2, there exists a pair of vertices $u,v$ with more than one $u,v$-path. If $G$ is not connected, there exists a pair of vertices $u,v$ with no $u,v$-path. Thus if $G$ is not a tree, it is not the case that each pair of vertices has precisely one $u,v$-path.
If graph $G$ is a tree, fix a pair of vertices $u,v$. As G is a forest, by Theorem 2, there exists at most one $u,v$-path. Since $G$ is connected, there is at least one $u,v$-path. Thus there is exactly one $u,v$-path. Since we have proved this for any fixed pair of vertices $u,v$, it follows that if G is a tree, each pair of vertices has precisely one path.
# Introduction to graph theory/Problems 1

Okay... here's my algorithm for determining graph isomorphims.
Let G1 and G2 be graphs. G1 has m,n vertices and edges; G2 has x,y vertices and edges.
First, does m =x ? If yes = they are potentially isomorphims (as they have the same number of vertices) Next, does n = y ? If yes = they are potentially isomorphims (as they have the same number of edges)
Next, compute eatch vertex degree in G1, and G2. (that is, count how many edges are associated with each vertex).
For G1, sort the vetrex degrees in decending order - we'll call this S1 For G2, sort the vertex degrees in decending order - we'll call this S2
If S1 = S2, they could be isomorphic as they are equal in the sense that the vertex weights are the same.
Loop:
Now from G1 remove all vertices with the weight of (m-1). Now from G2 remove all vertices with the weight of (m-1). Now the number of edges and the sorted vertex weights may be different! Update the edge count of all vertices
For G1, sort the vetrex degrees in decending order - we'll call this S3 For G2, sort the vertex degrees in decending order - we'll call this S4 If S3 = S4 they could be isomorphic as they are equal in the sense that the vertex weights are the same. Count the number of edges in G1 and G2; if equal, we're still portentially isomorphic
Go back to Loop: and repeat with (m-2), (m-3) until it is 0.
Copyright August 2007, Andrew Walduck. Permission granted to Wikiversity to licences under the GFDL.
andrew.walduck@gmail.com
I tried to prove this: for I = 0 - trival case for I = 1 - trival case assume its true for I = N, then prove N+1. Consider the graph X1 with n, Y1 with n nodes also - they're isomorphisms Add node P to graph X1, and Q to Y1 (the N+1 part) ( If P == Q then the sorted node weight graphs will be the same, if p != Q then the sorted node weight graphs will be different. 3825CJ2N4QJF1
# Introduction to graph theory/Problems 2
## Problems 2: Lecture 6-10
### Planar Graphs

The n-dimensional Cube $Q_{n}$ or hypercube can be seen as a graph. Its nodes are the words of length $n$ over the alphabet $\{0,1\}$, or $V(Q_{n})=\{0,1\}^{n}$. Two nodes are adjacent if and only if they differ in exactly one position.
* How many nodes does $Q_{n}$ have? How many edges?
* Describe the degrees of the nodes in $Q_{n}$.
* Embed $Q_{1},Q_{2},Q_{3}$ and $Q_{4}$ into the plane - without intersections, if possible.
* Embed $Q_{4}$ intersection-free on the surface of a torus.
Skewness
The skewness of a graph is the minimum number of edges which have to be removed from $G$ so that the resulting graph is planar.
* Show that for a simple graph $G$ with $n\geq 3$ nodes and $m$ edges the following equation holds:
       $skewness(G)\geq m-3n+6$
* Calculate the skewness for $K_{3},K_{5},K_{3,3}$
Trees
Show the equivalence of the following statements for a graph $G$ with $n$:
* $G$ is a tree, i.e. $G$ is connected and has circle-free.
* $G$ is connected and has $n-1$ edges.
* $G$ is circle-free and has $n-1$ edges.
# Introduction to graph theory/Proof of Theorem 2
## Statement

A graph is a forest if and only if for every pair of distinct vertices $u,v$, there is at most one $u,v$-path.

## Proof

Suppose you have a graph $G$ which is not a forest. Since a forest is defined to be a graph containing no cycles, it is clear that $G$ must have a cycle $C$. All cycles have at least three vertices. Let $v_{1},v_{2},\ldots ,v_{n}$ (with $n\geq 3$) be the vertices on $C$ in order. Then there are two distinct $v_{1},v_{2}$-paths, namely $v_{1}v_{2}$ and $v_{1}v_{n}v_{n-1}\ldots v_{3}v_{2}$.
Now suppose that $G$ is a forest, but has two distinct $u,v$-paths, namely $ua_{1}a_{2}\ldots a_{n}v$ and $ub_{1}b_{2}\ldots b_{m}v$. We would like to say that these create a cycle $ua_{1}\ldots a_{n}vb_{m}b_{m-1}\ldots b_{1}u$. However, a cycle can only include each vertex once, and it is possible that one of the $b_{i}$ is equal to one of the $a_{j}$. To that end, write $a_{0}=b_{0}=u$ and $a_{n+1}=b_{m+1}=v$. Let $i$ be the largest value of $i<=n$ such that $a_{i}=b_{j}$ for some $j$. Then we find a cycle, namely $a_{i}a_{i+1}\ldots a_{n}vb_{m}b_{m-1}\ldots b_{j}$. By our choice of $i$, clearly no vertex appears more than once.