<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://www.physicsbook.gatech.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pbale95</id>
	<title>Physics Book - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://www.physicsbook.gatech.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Pbale95"/>
	<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/Special:Contributions/Pbale95"/>
	<updated>2026-05-04T18:39:09Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.7</generator>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12557</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12557"/>
		<updated>2015-12-04T21:09:58Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Threading Library===&lt;br /&gt;
*threading.currentThread()&lt;br /&gt;
::Returns the count of threads under the control of the caller&lt;br /&gt;
*threading.activeCount()&lt;br /&gt;
::Returns the count of total active threads&lt;br /&gt;
*threading.enumerate()&lt;br /&gt;
::Returns a list of all active threads as Thread objects&lt;br /&gt;
&lt;br /&gt;
===Thread instance methods===&lt;br /&gt;
*run()&lt;br /&gt;
::Method for the starting point of a thread&lt;br /&gt;
*start()&lt;br /&gt;
::Calls the run method of a thread&lt;br /&gt;
*getName()&lt;br /&gt;
::Returns the name of a thread&lt;br /&gt;
*setName()&lt;br /&gt;
::Sets the name of a thread&lt;br /&gt;
*isAlive()&lt;br /&gt;
::Boolean value indicating whether the thread is still running or not&lt;br /&gt;
*join()&lt;br /&gt;
::Function that waits for other threads to terminate before continuing&lt;br /&gt;
&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
&lt;br /&gt;
Creating a thread is a 3 step process.&lt;br /&gt;
&lt;br /&gt;
# Create a Thread object with a target&lt;br /&gt;
# Cache your thread for maintenance&lt;br /&gt;
# Start your thread&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:import threading&lt;br /&gt;
:&lt;br /&gt;
:def ourTarget():&lt;br /&gt;
::print &#039;Thread Started&#039;&lt;br /&gt;
::return&lt;br /&gt;
:&lt;br /&gt;
:threads = []&lt;br /&gt;
:t = threading.thread(target=ourTarget)&lt;br /&gt;
:threads.append(t)&lt;br /&gt;
:t.start()&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
Thread synchronization is the process of waiting for another thread to complete before proceeding.  For instance, you may not want to begin rending objects on screen until a certain computation or input is received.  You may also want to wait for all threads to finish executing before terminating your program.&lt;br /&gt;
:&lt;br /&gt;
In python, we use the instance method &amp;quot;join&amp;quot; to tell a thread to wait for the completion of others.&lt;br /&gt;
:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:import threading&lt;br /&gt;
:from random import randrange&lt;br /&gt;
:&lt;br /&gt;
:def ourTarget():&lt;br /&gt;
::print &#039;Thread Started&#039;&lt;br /&gt;
::for i in range(randrange(100,10000)):&lt;br /&gt;
:::ball = sphere(pos=vector(0,0,0), color=color.red, radius = randrange(0, 100))&lt;br /&gt;
::return&lt;br /&gt;
:&lt;br /&gt;
:threads = []&lt;br /&gt;
:for i in range(20):&lt;br /&gt;
::t = threading.thread(target=ourTarget)&lt;br /&gt;
::threads.append(t)&lt;br /&gt;
::t.start()&lt;br /&gt;
:for t in threads:&lt;br /&gt;
::t.join()&lt;br /&gt;
:print &#039;All threads finished&#039;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
::::With coding, I know first hand that better performance is often needed--especially when running complex simulations.  I thought it would be fun to demonstrate multithreading in relation to VPython.&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
::::As a CS major, I spend a lot of my time coding. I run into situations that need multithreading quite often.&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
::::Yes! Almost every commercial application needs multithreading! It&#039;s a core requirement to when working on applications that are nontrivial!&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
[http://www.physicsbook.gatech.edu/VPython VPython Intro]&lt;br /&gt;
&lt;br /&gt;
[http://www.physicsbook.gatech.edu/VPython_basics VPython Basics] &lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[https://docs.python.org/2/library/threading.html Python Official Threading Docs]&lt;br /&gt;
&lt;br /&gt;
[https://docs.python.org/3/library/threading.html Python Thread Based Parallelism]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12556</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12556"/>
		<updated>2015-12-04T21:09:49Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* External links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Threading Library===&lt;br /&gt;
*threading.currentThread()&lt;br /&gt;
::Returns the count of threads under the control of the caller&lt;br /&gt;
*threading.activeCount()&lt;br /&gt;
::Returns the count of total active threads&lt;br /&gt;
*threading.enumerate()&lt;br /&gt;
::Returns a list of all active threads as Thread objects&lt;br /&gt;
&lt;br /&gt;
===Thread instance methods===&lt;br /&gt;
*run()&lt;br /&gt;
::Method for the starting point of a thread&lt;br /&gt;
*start()&lt;br /&gt;
::Calls the run method of a thread&lt;br /&gt;
*getName()&lt;br /&gt;
::Returns the name of a thread&lt;br /&gt;
*setName()&lt;br /&gt;
::Sets the name of a thread&lt;br /&gt;
*isAlive()&lt;br /&gt;
::Boolean value indicating whether the thread is still running or not&lt;br /&gt;
*join()&lt;br /&gt;
::Function that waits for other threads to terminate before continuing&lt;br /&gt;
&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
&lt;br /&gt;
Creating a thread is a 3 step process.&lt;br /&gt;
&lt;br /&gt;
# Create a Thread object with a target&lt;br /&gt;
# Cache your thread for maintenance&lt;br /&gt;
# Start your thread&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:import threading&lt;br /&gt;
:&lt;br /&gt;
:def ourTarget():&lt;br /&gt;
::print &#039;Thread Started&#039;&lt;br /&gt;
::return&lt;br /&gt;
:&lt;br /&gt;
:threads = []&lt;br /&gt;
:t = threading.thread(target=ourTarget)&lt;br /&gt;
:threads.append(t)&lt;br /&gt;
:t.start()&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
Thread synchronization is the process of waiting for another thread to complete before proceeding.  For instance, you may not want to begin rending objects on screen until a certain computation or input is received.  You may also want to wait for all threads to finish executing before terminating your program.&lt;br /&gt;
:&lt;br /&gt;
In python, we use the instance method &amp;quot;join&amp;quot; to tell a thread to wait for the completion of others.&lt;br /&gt;
:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:import threading&lt;br /&gt;
:from random import randrange&lt;br /&gt;
:&lt;br /&gt;
:def ourTarget():&lt;br /&gt;
::print &#039;Thread Started&#039;&lt;br /&gt;
::for i in range(randrange(100,10000)):&lt;br /&gt;
:::ball = sphere(pos=vector(0,0,0), color=color.red, radius = randrange(0, 100))&lt;br /&gt;
::return&lt;br /&gt;
:&lt;br /&gt;
:threads = []&lt;br /&gt;
:for i in range(20):&lt;br /&gt;
::t = threading.thread(target=ourTarget)&lt;br /&gt;
::threads.append(t)&lt;br /&gt;
::t.start()&lt;br /&gt;
:for t in threads:&lt;br /&gt;
::t.join()&lt;br /&gt;
:print &#039;All threads finished&#039;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
::::With coding, I know first hand that better performance is often needed--especially when running complex simulations.  I thought it would be fun to demonstrate multithreading in relation to VPython.&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
::::As a CS major, I spend a lot of my time coding. I run into situations that need multithreading quite often.&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
::::Yes! Almost every commercial application needs multithreading! It&#039;s a core requirement to when working on applications that are nontrivial!&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
[http://www.physicsbook.gatech.edu/VPython VPython Intro]&lt;br /&gt;
[http://www.physicsbook.gatech.edu/VPython_basics VPython Basics] &lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[https://docs.python.org/2/library/threading.html Python Official Threading Docs]&lt;br /&gt;
&lt;br /&gt;
[https://docs.python.org/3/library/threading.html Python Thread Based Parallelism]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12553</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12553"/>
		<updated>2015-12-04T21:09:40Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Threading Library===&lt;br /&gt;
*threading.currentThread()&lt;br /&gt;
::Returns the count of threads under the control of the caller&lt;br /&gt;
*threading.activeCount()&lt;br /&gt;
::Returns the count of total active threads&lt;br /&gt;
*threading.enumerate()&lt;br /&gt;
::Returns a list of all active threads as Thread objects&lt;br /&gt;
&lt;br /&gt;
===Thread instance methods===&lt;br /&gt;
*run()&lt;br /&gt;
::Method for the starting point of a thread&lt;br /&gt;
*start()&lt;br /&gt;
::Calls the run method of a thread&lt;br /&gt;
*getName()&lt;br /&gt;
::Returns the name of a thread&lt;br /&gt;
*setName()&lt;br /&gt;
::Sets the name of a thread&lt;br /&gt;
*isAlive()&lt;br /&gt;
::Boolean value indicating whether the thread is still running or not&lt;br /&gt;
*join()&lt;br /&gt;
::Function that waits for other threads to terminate before continuing&lt;br /&gt;
&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
&lt;br /&gt;
Creating a thread is a 3 step process.&lt;br /&gt;
&lt;br /&gt;
# Create a Thread object with a target&lt;br /&gt;
# Cache your thread for maintenance&lt;br /&gt;
# Start your thread&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:import threading&lt;br /&gt;
:&lt;br /&gt;
:def ourTarget():&lt;br /&gt;
::print &#039;Thread Started&#039;&lt;br /&gt;
::return&lt;br /&gt;
:&lt;br /&gt;
:threads = []&lt;br /&gt;
:t = threading.thread(target=ourTarget)&lt;br /&gt;
:threads.append(t)&lt;br /&gt;
:t.start()&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
Thread synchronization is the process of waiting for another thread to complete before proceeding.  For instance, you may not want to begin rending objects on screen until a certain computation or input is received.  You may also want to wait for all threads to finish executing before terminating your program.&lt;br /&gt;
:&lt;br /&gt;
In python, we use the instance method &amp;quot;join&amp;quot; to tell a thread to wait for the completion of others.&lt;br /&gt;
:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:import threading&lt;br /&gt;
:from random import randrange&lt;br /&gt;
:&lt;br /&gt;
:def ourTarget():&lt;br /&gt;
::print &#039;Thread Started&#039;&lt;br /&gt;
::for i in range(randrange(100,10000)):&lt;br /&gt;
:::ball = sphere(pos=vector(0,0,0), color=color.red, radius = randrange(0, 100))&lt;br /&gt;
::return&lt;br /&gt;
:&lt;br /&gt;
:threads = []&lt;br /&gt;
:for i in range(20):&lt;br /&gt;
::t = threading.thread(target=ourTarget)&lt;br /&gt;
::threads.append(t)&lt;br /&gt;
::t.start()&lt;br /&gt;
:for t in threads:&lt;br /&gt;
::t.join()&lt;br /&gt;
:print &#039;All threads finished&#039;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
::::With coding, I know first hand that better performance is often needed--especially when running complex simulations.  I thought it would be fun to demonstrate multithreading in relation to VPython.&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
::::As a CS major, I spend a lot of my time coding. I run into situations that need multithreading quite often.&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
::::Yes! Almost every commercial application needs multithreading! It&#039;s a core requirement to when working on applications that are nontrivial!&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
[http://www.physicsbook.gatech.edu/VPython VPython Intro]&lt;br /&gt;
[http://www.physicsbook.gatech.edu/VPython_basics VPython Basics] &lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[https://docs.python.org/2/library/threading.html Python Official Threading Docs]&lt;br /&gt;
[https://docs.python.org/3/library/threading.html Python Thread Based Parallelism]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12548</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12548"/>
		<updated>2015-12-04T21:07:58Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Threading Library===&lt;br /&gt;
*threading.currentThread()&lt;br /&gt;
::Returns the count of threads under the control of the caller&lt;br /&gt;
*threading.activeCount()&lt;br /&gt;
::Returns the count of total active threads&lt;br /&gt;
*threading.enumerate()&lt;br /&gt;
::Returns a list of all active threads as Thread objects&lt;br /&gt;
&lt;br /&gt;
===Thread instance methods===&lt;br /&gt;
*run()&lt;br /&gt;
::Method for the starting point of a thread&lt;br /&gt;
*start()&lt;br /&gt;
::Calls the run method of a thread&lt;br /&gt;
*getName()&lt;br /&gt;
::Returns the name of a thread&lt;br /&gt;
*setName()&lt;br /&gt;
::Sets the name of a thread&lt;br /&gt;
*isAlive()&lt;br /&gt;
::Boolean value indicating whether the thread is still running or not&lt;br /&gt;
*join()&lt;br /&gt;
::Function that waits for other threads to terminate before continuing&lt;br /&gt;
&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
&lt;br /&gt;
Creating a thread is a 3 step process.&lt;br /&gt;
&lt;br /&gt;
# Create a Thread object with a target&lt;br /&gt;
# Cache your thread for maintenance&lt;br /&gt;
# Start your thread&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:import threading&lt;br /&gt;
:&lt;br /&gt;
:def ourTarget():&lt;br /&gt;
::print &#039;Thread Started&#039;&lt;br /&gt;
::return&lt;br /&gt;
:&lt;br /&gt;
:threads = []&lt;br /&gt;
:t = threading.thread(target=ourTarget)&lt;br /&gt;
:threads.append(t)&lt;br /&gt;
:t.start()&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
Thread synchronization is the process of waiting for another thread to complete before proceeding.  For instance, you may not want to begin rending objects on screen until a certain computation or input is received.  You may also want to wait for all threads to finish executing before terminating your program.&lt;br /&gt;
:&lt;br /&gt;
In python, we use the instance method &amp;quot;join&amp;quot; to tell a thread to wait for the completion of others.&lt;br /&gt;
:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:import threading&lt;br /&gt;
:from random import randrange&lt;br /&gt;
:&lt;br /&gt;
:def ourTarget():&lt;br /&gt;
::print &#039;Thread Started&#039;&lt;br /&gt;
::for i in range(randrange(100,10000)):&lt;br /&gt;
:::ball = sphere(pos=vector(0,0,0), color=color.red, radius = randrange(0, 100))&lt;br /&gt;
::return&lt;br /&gt;
:&lt;br /&gt;
:threads = []&lt;br /&gt;
:for i in range(20):&lt;br /&gt;
::t = threading.thread(target=ourTarget)&lt;br /&gt;
::threads.append(t)&lt;br /&gt;
::t.start()&lt;br /&gt;
:for t in threads:&lt;br /&gt;
::t.join()&lt;br /&gt;
:print &#039;All threads finished&#039;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
::::With coding, I know first hand that better performance is often needed--especially when running complex simulations.  I thought it would be fun to demonstrate multithreading in relation to VPython.&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
::::As a CS major, I spend a lot of my time coding. I run into situations that need multithreading quite often.&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
::::Yes! Almost every commercial application needs multithreading! It&#039;s a core requirement to when working on applications that are nontrivial!&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
[[Link title] http://www.physicsbook.gatech.edu/VPython_basics]&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12546</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12546"/>
		<updated>2015-12-04T21:06:59Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Threading Library===&lt;br /&gt;
*threading.currentThread()&lt;br /&gt;
::Returns the count of threads under the control of the caller&lt;br /&gt;
*threading.activeCount()&lt;br /&gt;
::Returns the count of total active threads&lt;br /&gt;
*threading.enumerate()&lt;br /&gt;
::Returns a list of all active threads as Thread objects&lt;br /&gt;
&lt;br /&gt;
===Thread instance methods===&lt;br /&gt;
*run()&lt;br /&gt;
::Method for the starting point of a thread&lt;br /&gt;
*start()&lt;br /&gt;
::Calls the run method of a thread&lt;br /&gt;
*getName()&lt;br /&gt;
::Returns the name of a thread&lt;br /&gt;
*setName()&lt;br /&gt;
::Sets the name of a thread&lt;br /&gt;
*isAlive()&lt;br /&gt;
::Boolean value indicating whether the thread is still running or not&lt;br /&gt;
*join()&lt;br /&gt;
::Function that waits for other threads to terminate before continuing&lt;br /&gt;
&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
&lt;br /&gt;
Creating a thread is a 3 step process.&lt;br /&gt;
&lt;br /&gt;
# Create a Thread object with a target&lt;br /&gt;
# Cache your thread for maintenance&lt;br /&gt;
# Start your thread&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:import threading&lt;br /&gt;
:&lt;br /&gt;
:def ourTarget():&lt;br /&gt;
::print &#039;Thread Started&#039;&lt;br /&gt;
::return&lt;br /&gt;
:&lt;br /&gt;
:threads = []&lt;br /&gt;
:t = threading.thread(target=ourTarget)&lt;br /&gt;
:threads.append(t)&lt;br /&gt;
:t.start()&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
Thread synchronization is the process of waiting for another thread to complete before proceeding.  For instance, you may not want to begin rending objects on screen until a certain computation or input is received.  You may also want to wait for all threads to finish executing before terminating your program.&lt;br /&gt;
:&lt;br /&gt;
In python, we use the instance method &amp;quot;join&amp;quot; to tell a thread to wait for the completion of others.&lt;br /&gt;
:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:import threading&lt;br /&gt;
:from random import randrange&lt;br /&gt;
:&lt;br /&gt;
:def ourTarget():&lt;br /&gt;
::print &#039;Thread Started&#039;&lt;br /&gt;
::for i in range(randrange(100,10000)):&lt;br /&gt;
:::ball = sphere(pos=vector(0,0,0), color=color.red, radius = randrange(0, 100))&lt;br /&gt;
::return&lt;br /&gt;
:&lt;br /&gt;
:threads = []&lt;br /&gt;
:for i in range(20):&lt;br /&gt;
::t = threading.thread(target=ourTarget)&lt;br /&gt;
::threads.append(t)&lt;br /&gt;
::t.start()&lt;br /&gt;
:for t in threads:&lt;br /&gt;
::t.join()&lt;br /&gt;
:print &#039;All threads finished&#039;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
::::With coding, I know first hand that better performance is often needed--especially when running complex simulations.  I thought it would be fun to demonstrate multithreading in relation to VPython.&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
::::As a CS major, I spend a lot of my time coding. I run into situations that need multithreading quite often.&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
::::Yes! Almost every commercial application needs multithreading! It&#039;s a core requirement to when working on applications that are nontrivial!&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12545</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12545"/>
		<updated>2015-12-04T21:05:34Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Thread Synchronization */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Threading Library===&lt;br /&gt;
*threading.currentThread()&lt;br /&gt;
::Returns the count of threads under the control of the caller&lt;br /&gt;
*threading.activeCount()&lt;br /&gt;
::Returns the count of total active threads&lt;br /&gt;
*threading.enumerate()&lt;br /&gt;
::Returns a list of all active threads as Thread objects&lt;br /&gt;
&lt;br /&gt;
===Thread instance methods===&lt;br /&gt;
*run()&lt;br /&gt;
::Method for the starting point of a thread&lt;br /&gt;
*start()&lt;br /&gt;
::Calls the run method of a thread&lt;br /&gt;
*getName()&lt;br /&gt;
::Returns the name of a thread&lt;br /&gt;
*setName()&lt;br /&gt;
::Sets the name of a thread&lt;br /&gt;
*isAlive()&lt;br /&gt;
::Boolean value indicating whether the thread is still running or not&lt;br /&gt;
*join()&lt;br /&gt;
::Function that waits for other threads to terminate before continuing&lt;br /&gt;
&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
&lt;br /&gt;
Creating a thread is a 3 step process.&lt;br /&gt;
&lt;br /&gt;
# Create a Thread object with a target&lt;br /&gt;
# Cache your thread for maintenance&lt;br /&gt;
# Start your thread&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:import threading&lt;br /&gt;
:&lt;br /&gt;
:def ourTarget():&lt;br /&gt;
::print &#039;Thread Started&#039;&lt;br /&gt;
::return&lt;br /&gt;
:&lt;br /&gt;
:threads = []&lt;br /&gt;
:t = threading.thread(target=ourTarget)&lt;br /&gt;
:threads.append(t)&lt;br /&gt;
:t.start()&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
Thread synchronization is the process of waiting for another thread to complete before proceeding.  For instance, you may not want to begin rending objects on screen until a certain computation or input is received.  You may also want to wait for all threads to finish executing before terminating your program.&lt;br /&gt;
:&lt;br /&gt;
In python, we use the instance method &amp;quot;join&amp;quot; to tell a thread to wait for the completion of others.&lt;br /&gt;
:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:import threading&lt;br /&gt;
:from random import randrange&lt;br /&gt;
:&lt;br /&gt;
:def ourTarget():&lt;br /&gt;
::print &#039;Thread Started&#039;&lt;br /&gt;
::for i in range(randrange(100,10000)):&lt;br /&gt;
:::ball = sphere(pos=vector(0,0,0), color=color.red, radius = randrange(0, 100))&lt;br /&gt;
::return&lt;br /&gt;
:&lt;br /&gt;
:threads = []&lt;br /&gt;
:for i in range(20):&lt;br /&gt;
::t = threading.thread(target=ourTarget)&lt;br /&gt;
::threads.append(t)&lt;br /&gt;
::t.start()&lt;br /&gt;
:for t in threads:&lt;br /&gt;
::t.join()&lt;br /&gt;
:print &#039;All threads finished&#039;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
::::With coding, I know first hand that better performance is often needed--especially when running complex simulations.  I thought it would be fun to demonstrate multithreading in relation to VPython.&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
::::As a CS major, I spend a lot of my time coding. I run into situations that need multithreading quite often.&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
::::Yes! Almost every commercial application needs multithreading! It&#039;s a core requirement to when working on applications that are nontrivial!&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12542</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12542"/>
		<updated>2015-12-04T21:05:04Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Thread Synchronization */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Threading Library===&lt;br /&gt;
*threading.currentThread()&lt;br /&gt;
::Returns the count of threads under the control of the caller&lt;br /&gt;
*threading.activeCount()&lt;br /&gt;
::Returns the count of total active threads&lt;br /&gt;
*threading.enumerate()&lt;br /&gt;
::Returns a list of all active threads as Thread objects&lt;br /&gt;
&lt;br /&gt;
===Thread instance methods===&lt;br /&gt;
*run()&lt;br /&gt;
::Method for the starting point of a thread&lt;br /&gt;
*start()&lt;br /&gt;
::Calls the run method of a thread&lt;br /&gt;
*getName()&lt;br /&gt;
::Returns the name of a thread&lt;br /&gt;
*setName()&lt;br /&gt;
::Sets the name of a thread&lt;br /&gt;
*isAlive()&lt;br /&gt;
::Boolean value indicating whether the thread is still running or not&lt;br /&gt;
*join()&lt;br /&gt;
::Function that waits for other threads to terminate before continuing&lt;br /&gt;
&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
&lt;br /&gt;
Creating a thread is a 3 step process.&lt;br /&gt;
&lt;br /&gt;
# Create a Thread object with a target&lt;br /&gt;
# Cache your thread for maintenance&lt;br /&gt;
# Start your thread&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:import threading&lt;br /&gt;
:&lt;br /&gt;
:def ourTarget():&lt;br /&gt;
::print &#039;Thread Started&#039;&lt;br /&gt;
::return&lt;br /&gt;
:&lt;br /&gt;
:threads = []&lt;br /&gt;
:t = threading.thread(target=ourTarget)&lt;br /&gt;
:threads.append(t)&lt;br /&gt;
:t.start()&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
Thread synchronization is the process of waiting for another thread to complete before proceeding.  For instance, you may not want to begin rending objects on screen until a certain computation or input is received.  You may also want to wait for all threads to finish executing before terminating your program.&lt;br /&gt;
:&lt;br /&gt;
In python, we use the instance method &amp;quot;join&amp;quot; to tell a thread to wait for the completion of others.&lt;br /&gt;
:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:import threading&lt;br /&gt;
:from random import randrange&lt;br /&gt;
:&lt;br /&gt;
:def ourTarget():&lt;br /&gt;
::print &#039;Thread Started&#039;&lt;br /&gt;
::for i in range(randrange(100,10000)):&lt;br /&gt;
:::ball = sphere(pos=vector(0,0,0), color=color.red, radius = randrange(0, 100)&lt;br /&gt;
::return&lt;br /&gt;
:&lt;br /&gt;
:threads = []&lt;br /&gt;
:for i in range(20):&lt;br /&gt;
::t = threading.thread(target=ourTarget)&lt;br /&gt;
::threads.append(t)&lt;br /&gt;
::t.start()&lt;br /&gt;
:for t in threads:&lt;br /&gt;
::t.join()&lt;br /&gt;
:print &#039;All threads finished&#039;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
::::With coding, I know first hand that better performance is often needed--especially when running complex simulations.  I thought it would be fun to demonstrate multithreading in relation to VPython.&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
::::As a CS major, I spend a lot of my time coding. I run into situations that need multithreading quite often.&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
::::Yes! Almost every commercial application needs multithreading! It&#039;s a core requirement to when working on applications that are nontrivial!&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12529</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12529"/>
		<updated>2015-12-04T21:01:24Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Thread Synchronization */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Threading Library===&lt;br /&gt;
*threading.currentThread()&lt;br /&gt;
::Returns the count of threads under the control of the caller&lt;br /&gt;
*threading.activeCount()&lt;br /&gt;
::Returns the count of total active threads&lt;br /&gt;
*threading.enumerate()&lt;br /&gt;
::Returns a list of all active threads as Thread objects&lt;br /&gt;
&lt;br /&gt;
===Thread instance methods===&lt;br /&gt;
*run()&lt;br /&gt;
::Method for the starting point of a thread&lt;br /&gt;
*start()&lt;br /&gt;
::Calls the run method of a thread&lt;br /&gt;
*getName()&lt;br /&gt;
::Returns the name of a thread&lt;br /&gt;
*setName()&lt;br /&gt;
::Sets the name of a thread&lt;br /&gt;
*isAlive()&lt;br /&gt;
::Boolean value indicating whether the thread is still running or not&lt;br /&gt;
*join()&lt;br /&gt;
::Function that waits for other threads to terminate before continuing&lt;br /&gt;
&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
&lt;br /&gt;
Creating a thread is a 3 step process.&lt;br /&gt;
&lt;br /&gt;
# Create a Thread object with a target&lt;br /&gt;
# Cache your thread for maintenance&lt;br /&gt;
# Start your thread&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:import threading&lt;br /&gt;
:&lt;br /&gt;
:def ourTarget():&lt;br /&gt;
::print &#039;Thread Started&#039;&lt;br /&gt;
::return&lt;br /&gt;
:&lt;br /&gt;
:threads = []&lt;br /&gt;
:t = threading.thread(target=ourTarget)&lt;br /&gt;
:threads.append(t)&lt;br /&gt;
:t.start()&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
Thread synchronization is the process of waiting for another thread to complete before proceeding.  For instance, you may not want to begin rending objects on screen until a certain computation or input is received.  You may also want to wait for all threads to finish executing before terminating your program.&lt;br /&gt;
:&lt;br /&gt;
In python, we use the instance method &amp;quot;join&amp;quot; to tell a thread to wait for the completion of others.&lt;br /&gt;
:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:import threading&lt;br /&gt;
:&lt;br /&gt;
:def ourTarget():&lt;br /&gt;
::print &#039;Thread Started&#039;&lt;br /&gt;
::return&lt;br /&gt;
:&lt;br /&gt;
:threads = []&lt;br /&gt;
:for i in range(20):&lt;br /&gt;
::t = threading.thread(target=ourTarget)&lt;br /&gt;
::threads.append(t)&lt;br /&gt;
::t.start()&lt;br /&gt;
:for t in threads:&lt;br /&gt;
::t.join()&lt;br /&gt;
:print &#039;All threads finished&#039;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
::::With coding, I know first hand that better performance is often needed--especially when running complex simulations.  I thought it would be fun to demonstrate multithreading in relation to VPython.&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
::::As a CS major, I spend a lot of my time coding. I run into situations that need multithreading quite often.&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
::::Yes! Almost every commercial application needs multithreading! It&#039;s a core requirement to when working on applications that are nontrivial!&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12526</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12526"/>
		<updated>2015-12-04T20:59:32Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Thread Synchronization */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Threading Library===&lt;br /&gt;
*threading.currentThread()&lt;br /&gt;
::Returns the count of threads under the control of the caller&lt;br /&gt;
*threading.activeCount()&lt;br /&gt;
::Returns the count of total active threads&lt;br /&gt;
*threading.enumerate()&lt;br /&gt;
::Returns a list of all active threads as Thread objects&lt;br /&gt;
&lt;br /&gt;
===Thread instance methods===&lt;br /&gt;
*run()&lt;br /&gt;
::Method for the starting point of a thread&lt;br /&gt;
*start()&lt;br /&gt;
::Calls the run method of a thread&lt;br /&gt;
*getName()&lt;br /&gt;
::Returns the name of a thread&lt;br /&gt;
*setName()&lt;br /&gt;
::Sets the name of a thread&lt;br /&gt;
*isAlive()&lt;br /&gt;
::Boolean value indicating whether the thread is still running or not&lt;br /&gt;
*join()&lt;br /&gt;
::Function that waits for other threads to terminate before continuing&lt;br /&gt;
&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
&lt;br /&gt;
Creating a thread is a 3 step process.&lt;br /&gt;
&lt;br /&gt;
# Create a Thread object with a target&lt;br /&gt;
# Cache your thread for maintenance&lt;br /&gt;
# Start your thread&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:import threading&lt;br /&gt;
:&lt;br /&gt;
:def ourTarget():&lt;br /&gt;
::print &#039;Thread Started&#039;&lt;br /&gt;
::return&lt;br /&gt;
:&lt;br /&gt;
:threads = []&lt;br /&gt;
:t = threading.thread(target=ourTarget)&lt;br /&gt;
:threads.append(t)&lt;br /&gt;
:t.start()&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
Thread synchronization is the process of waiting for another thread to complete before proceeding.  For instance, you may not want to begin rending objects on screen until a certain computation or input is received.  You may also want to wait for all threads to finish executing before terminating your program.&lt;br /&gt;
:&lt;br /&gt;
In python, we use the instance method &amp;quot;join&amp;quot; to tell a thread to wait for the completion of others.&lt;br /&gt;
:&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
::::With coding, I know first hand that better performance is often needed--especially when running complex simulations.  I thought it would be fun to demonstrate multithreading in relation to VPython.&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
::::As a CS major, I spend a lot of my time coding. I run into situations that need multithreading quite often.&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
::::Yes! Almost every commercial application needs multithreading! It&#039;s a core requirement to when working on applications that are nontrivial!&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12498</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12498"/>
		<updated>2015-12-04T20:41:06Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Connectedness */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Threading Library===&lt;br /&gt;
*threading.currentThread()&lt;br /&gt;
::Returns the count of threads under the control of the caller&lt;br /&gt;
*threading.activeCount()&lt;br /&gt;
::Returns the count of total active threads&lt;br /&gt;
*threading.enumerate()&lt;br /&gt;
::Returns a list of all active threads as Thread objects&lt;br /&gt;
&lt;br /&gt;
===Thread instance methods===&lt;br /&gt;
*run()&lt;br /&gt;
::Method for the starting point of a thread&lt;br /&gt;
*start()&lt;br /&gt;
::Calls the run method of a thread&lt;br /&gt;
*getName()&lt;br /&gt;
::Returns the name of a thread&lt;br /&gt;
*setName()&lt;br /&gt;
::Sets the name of a thread&lt;br /&gt;
*isAlive()&lt;br /&gt;
::Boolean value indicating whether the thread is still running or not&lt;br /&gt;
*join()&lt;br /&gt;
::Function that waits for other threads to terminate before continuing&lt;br /&gt;
&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
&lt;br /&gt;
Creating a thread is a 3 step process.&lt;br /&gt;
&lt;br /&gt;
# Create a Thread object with a target&lt;br /&gt;
# Cache your thread for maintenance&lt;br /&gt;
# Start your thread&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:import threading&lt;br /&gt;
:&lt;br /&gt;
:def ourTarget():&lt;br /&gt;
::print &#039;Thread Started&#039;&lt;br /&gt;
::return&lt;br /&gt;
:&lt;br /&gt;
:threads = []&lt;br /&gt;
:t = threading.thread(target=ourTarget)&lt;br /&gt;
:threads.append(t)&lt;br /&gt;
:t.start()&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
::::With coding, I know first hand that better performance is often needed--especially when running complex simulations.  I thought it would be fun to demonstrate multithreading in relation to VPython.&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
::::As a CS major, I spend a lot of my time coding. I run into situations that need multithreading quite often.&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
::::Yes! Almost every commercial application needs multithreading! It&#039;s a core requirement to when working on applications that are nontrivial!&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12497</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12497"/>
		<updated>2015-12-04T20:40:51Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Connectedness */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Threading Library===&lt;br /&gt;
*threading.currentThread()&lt;br /&gt;
::Returns the count of threads under the control of the caller&lt;br /&gt;
*threading.activeCount()&lt;br /&gt;
::Returns the count of total active threads&lt;br /&gt;
*threading.enumerate()&lt;br /&gt;
::Returns a list of all active threads as Thread objects&lt;br /&gt;
&lt;br /&gt;
===Thread instance methods===&lt;br /&gt;
*run()&lt;br /&gt;
::Method for the starting point of a thread&lt;br /&gt;
*start()&lt;br /&gt;
::Calls the run method of a thread&lt;br /&gt;
*getName()&lt;br /&gt;
::Returns the name of a thread&lt;br /&gt;
*setName()&lt;br /&gt;
::Sets the name of a thread&lt;br /&gt;
*isAlive()&lt;br /&gt;
::Boolean value indicating whether the thread is still running or not&lt;br /&gt;
*join()&lt;br /&gt;
::Function that waits for other threads to terminate before continuing&lt;br /&gt;
&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
&lt;br /&gt;
Creating a thread is a 3 step process.&lt;br /&gt;
&lt;br /&gt;
# Create a Thread object with a target&lt;br /&gt;
# Cache your thread for maintenance&lt;br /&gt;
# Start your thread&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:import threading&lt;br /&gt;
:&lt;br /&gt;
:def ourTarget():&lt;br /&gt;
::print &#039;Thread Started&#039;&lt;br /&gt;
::return&lt;br /&gt;
:&lt;br /&gt;
:threads = []&lt;br /&gt;
:t = threading.thread(target=ourTarget)&lt;br /&gt;
:threads.append(t)&lt;br /&gt;
:t.start()&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
::With coding, I know first hand that better performance is often needed--especially when running complex simulations.  I thought it would be fun to demonstrate multithreading in relation to VPython.&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
As a CS major, I spend a lot of my time coding. I run into situations that need multithreading quite often.&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
Yes! Almost every commercial application needs multithreading! It&#039;s a core requirement to when working on applications that are nontrivial!&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12490</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12490"/>
		<updated>2015-12-04T20:38:11Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Threading Library===&lt;br /&gt;
*threading.currentThread()&lt;br /&gt;
::Returns the count of threads under the control of the caller&lt;br /&gt;
*threading.activeCount()&lt;br /&gt;
::Returns the count of total active threads&lt;br /&gt;
*threading.enumerate()&lt;br /&gt;
::Returns a list of all active threads as Thread objects&lt;br /&gt;
&lt;br /&gt;
===Thread instance methods===&lt;br /&gt;
*run()&lt;br /&gt;
::Method for the starting point of a thread&lt;br /&gt;
*start()&lt;br /&gt;
::Calls the run method of a thread&lt;br /&gt;
*getName()&lt;br /&gt;
::Returns the name of a thread&lt;br /&gt;
*setName()&lt;br /&gt;
::Sets the name of a thread&lt;br /&gt;
*isAlive()&lt;br /&gt;
::Boolean value indicating whether the thread is still running or not&lt;br /&gt;
*join()&lt;br /&gt;
::Function that waits for other threads to terminate before continuing&lt;br /&gt;
&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
&lt;br /&gt;
Creating a thread is a 3 step process.&lt;br /&gt;
&lt;br /&gt;
# Create a Thread object with a target&lt;br /&gt;
# Cache your thread for maintenance&lt;br /&gt;
# Start your thread&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:import threading&lt;br /&gt;
:&lt;br /&gt;
:def ourTarget():&lt;br /&gt;
::print &#039;Thread Started&#039;&lt;br /&gt;
::return&lt;br /&gt;
:&lt;br /&gt;
:threads = []&lt;br /&gt;
:t = threading.thread(target=ourTarget)&lt;br /&gt;
:threads.append(t)&lt;br /&gt;
:t.start()&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12487</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12487"/>
		<updated>2015-12-04T20:37:12Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Thread Creation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Threading Library===&lt;br /&gt;
*threading.currentThread()&lt;br /&gt;
::Returns the count of threads under the control of the caller&lt;br /&gt;
*threading.activeCount()&lt;br /&gt;
::Returns the count of total active threads&lt;br /&gt;
*threading.enumerate()&lt;br /&gt;
::Returns a list of all active threads as Thread objects&lt;br /&gt;
&lt;br /&gt;
===Thread instance methods===&lt;br /&gt;
*run()&lt;br /&gt;
::Method for the starting point of a thread&lt;br /&gt;
*start()&lt;br /&gt;
::Calls the run method of a thread&lt;br /&gt;
*getName()&lt;br /&gt;
::Returns the name of a thread&lt;br /&gt;
*setName()&lt;br /&gt;
::Sets the name of a thread&lt;br /&gt;
*isAlive()&lt;br /&gt;
::Boolean value indicating whether the thread is still running or not&lt;br /&gt;
*join()&lt;br /&gt;
::Function that waits for other threads to terminate before continuing&lt;br /&gt;
&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
&lt;br /&gt;
Creating a thread is a 3 step process.&lt;br /&gt;
&lt;br /&gt;
# Create a Thread object with a target&lt;br /&gt;
# Cache your thread for maintenance&lt;br /&gt;
# Start your thread&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
:import threading&lt;br /&gt;
:&lt;br /&gt;
:def ourTarget():&lt;br /&gt;
::print &#039;Thread Started&#039;&lt;br /&gt;
::return&lt;br /&gt;
:&lt;br /&gt;
:threads = []&lt;br /&gt;
:t = threading.thread(target=ourTarget)&lt;br /&gt;
:threads.append(t)&lt;br /&gt;
:t.start()&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12484</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12484"/>
		<updated>2015-12-04T20:36:13Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Thread Creation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Threading Library===&lt;br /&gt;
*threading.currentThread()&lt;br /&gt;
::Returns the count of threads under the control of the caller&lt;br /&gt;
*threading.activeCount()&lt;br /&gt;
::Returns the count of total active threads&lt;br /&gt;
*threading.enumerate()&lt;br /&gt;
::Returns a list of all active threads as Thread objects&lt;br /&gt;
&lt;br /&gt;
===Thread instance methods===&lt;br /&gt;
*run()&lt;br /&gt;
::Method for the starting point of a thread&lt;br /&gt;
*start()&lt;br /&gt;
::Calls the run method of a thread&lt;br /&gt;
*getName()&lt;br /&gt;
::Returns the name of a thread&lt;br /&gt;
*setName()&lt;br /&gt;
::Sets the name of a thread&lt;br /&gt;
*isAlive()&lt;br /&gt;
::Boolean value indicating whether the thread is still running or not&lt;br /&gt;
*join()&lt;br /&gt;
::Function that waits for other threads to terminate before continuing&lt;br /&gt;
&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
&lt;br /&gt;
Creating a thread is a 3 step process.&lt;br /&gt;
&lt;br /&gt;
# Create a Thread object with a target&lt;br /&gt;
# Cache your thread for maintenance&lt;br /&gt;
# Start your thread&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
import threading&lt;br /&gt;
&lt;br /&gt;
def ourTarget():&lt;br /&gt;
   print &#039;Thread Started&#039;&lt;br /&gt;
   return&lt;br /&gt;
&lt;br /&gt;
threads = []&lt;br /&gt;
t = threading.thread(target=ourTarget)&lt;br /&gt;
threads.append(t)&lt;br /&gt;
t.start()&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12483</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12483"/>
		<updated>2015-12-04T20:35:54Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Thread Creation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Threading Library===&lt;br /&gt;
*threading.currentThread()&lt;br /&gt;
::Returns the count of threads under the control of the caller&lt;br /&gt;
*threading.activeCount()&lt;br /&gt;
::Returns the count of total active threads&lt;br /&gt;
*threading.enumerate()&lt;br /&gt;
::Returns a list of all active threads as Thread objects&lt;br /&gt;
&lt;br /&gt;
===Thread instance methods===&lt;br /&gt;
*run()&lt;br /&gt;
::Method for the starting point of a thread&lt;br /&gt;
*start()&lt;br /&gt;
::Calls the run method of a thread&lt;br /&gt;
*getName()&lt;br /&gt;
::Returns the name of a thread&lt;br /&gt;
*setName()&lt;br /&gt;
::Sets the name of a thread&lt;br /&gt;
*isAlive()&lt;br /&gt;
::Boolean value indicating whether the thread is still running or not&lt;br /&gt;
*join()&lt;br /&gt;
::Function that waits for other threads to terminate before continuing&lt;br /&gt;
&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
&lt;br /&gt;
Creating a thread is a 3 step process.&lt;br /&gt;
&lt;br /&gt;
# Create a Thread object with a target&lt;br /&gt;
# Cache your thread for maintenance&lt;br /&gt;
# Start your thread&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
import threading&lt;br /&gt;
&lt;br /&gt;
def ourTarget():&lt;br /&gt;
   print &#039;Thread Started&#039;&lt;br /&gt;
   return&lt;br /&gt;
&lt;br /&gt;
threads = []&lt;br /&gt;
&lt;br /&gt;
t = threading.thread(target=ourTarget)&lt;br /&gt;
threads.append(t)&lt;br /&gt;
t.start()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12244</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12244"/>
		<updated>2015-12-04T18:24:52Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Thread Creation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Threading Library===&lt;br /&gt;
*threading.currentThread()&lt;br /&gt;
::Returns the count of threads under the control of the caller&lt;br /&gt;
*threading.activeCount()&lt;br /&gt;
::Returns the count of total active threads&lt;br /&gt;
*threading.enumerate()&lt;br /&gt;
::Returns a list of all active threads as Thread objects&lt;br /&gt;
&lt;br /&gt;
===Thread instance methods===&lt;br /&gt;
*run()&lt;br /&gt;
::Method for the starting point of a thread&lt;br /&gt;
*start()&lt;br /&gt;
::Calls the run method of a thread&lt;br /&gt;
*getName()&lt;br /&gt;
::Returns the name of a thread&lt;br /&gt;
*setName()&lt;br /&gt;
::Sets the name of a thread&lt;br /&gt;
*isAlive()&lt;br /&gt;
::Boolean value indicating whether the thread is still running or not&lt;br /&gt;
*join()&lt;br /&gt;
::Function that waits for other threads to terminate before continuing&lt;br /&gt;
&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
&lt;br /&gt;
Creating a thread is a 3 step process.&lt;br /&gt;
&lt;br /&gt;
# Create a Thread object with a target&lt;br /&gt;
# Cache your thread for maintenance&lt;br /&gt;
# Start your thread&lt;br /&gt;
&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12240</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12240"/>
		<updated>2015-12-04T18:22:49Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Threading Library===&lt;br /&gt;
*threading.currentThread()&lt;br /&gt;
::Returns the count of threads under the control of the caller&lt;br /&gt;
*threading.activeCount()&lt;br /&gt;
::Returns the count of total active threads&lt;br /&gt;
*threading.enumerate()&lt;br /&gt;
::Returns a list of all active threads as Thread objects&lt;br /&gt;
&lt;br /&gt;
===Thread instance methods===&lt;br /&gt;
*run()&lt;br /&gt;
::Method for the starting point of a thread&lt;br /&gt;
*start()&lt;br /&gt;
::Calls the run method of a thread&lt;br /&gt;
*getName()&lt;br /&gt;
::Returns the name of a thread&lt;br /&gt;
*setName()&lt;br /&gt;
::Sets the name of a thread&lt;br /&gt;
*isAlive()&lt;br /&gt;
::Boolean value indicating whether the thread is still running or not&lt;br /&gt;
*join()&lt;br /&gt;
::Function that waits for other threads to terminate before continuing&lt;br /&gt;
&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12238</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12238"/>
		<updated>2015-12-04T18:20:06Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Threading Library===&lt;br /&gt;
*threading.currentThread()&lt;br /&gt;
::Returns the count of threads under the control of the caller&lt;br /&gt;
*threading.activeCount()&lt;br /&gt;
::Returns the count of total active threads&lt;br /&gt;
*threading.enumerate()&lt;br /&gt;
::Returns a list of all active threads as Thread objects&lt;br /&gt;
&lt;br /&gt;
===Thread instance methods===&lt;br /&gt;
*run()&lt;br /&gt;
*start()&lt;br /&gt;
*getName()&lt;br /&gt;
*setName()&lt;br /&gt;
*isAlive()&lt;br /&gt;
*join()&lt;br /&gt;
&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12235</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12235"/>
		<updated>2015-12-04T18:17:08Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Thread Library */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Thread Library===&lt;br /&gt;
*threading.currentThread()&lt;br /&gt;
:Test&lt;br /&gt;
*threading.activeCount()&lt;br /&gt;
*threading.enumerate()&lt;br /&gt;
&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12234</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12234"/>
		<updated>2015-12-04T18:16:27Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Thread Library===&lt;br /&gt;
*threading.currentThread()&lt;br /&gt;
This is a test&lt;br /&gt;
#threading.activeCount()&lt;br /&gt;
#threading.enumerate()&lt;br /&gt;
&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12232</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12232"/>
		<updated>2015-12-04T18:15:46Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Thread Library */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Thread Library===&lt;br /&gt;
#threading.currentThread()&lt;br /&gt;
This is a test&lt;br /&gt;
#threading.activeCount()&lt;br /&gt;
#threading.enumerate()&lt;br /&gt;
&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12230</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12230"/>
		<updated>2015-12-04T18:15:31Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Thread Library */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Thread Library===&lt;br /&gt;
#threading.currentThread()&lt;br /&gt;
##Test&lt;br /&gt;
#threading.activeCount()&lt;br /&gt;
#threading.enumerate()&lt;br /&gt;
&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12229</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=12229"/>
		<updated>2015-12-04T18:14:27Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Thread Library===&lt;br /&gt;
====threading.activeCount()====&lt;br /&gt;
#threading.enumerate()&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:VPython]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11858</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11858"/>
		<updated>2015-12-04T07:53:32Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Thread Library===&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:Which Category did you place this in?]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11857</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11857"/>
		<updated>2015-12-04T07:52:42Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Thread Library===&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Multithreading first appeared in 1967 in OS/360 Multiprogramming with a Variable Number of Tasks or MVT.  This time-sliced system allowed &amp;quot;tasks&amp;quot; to be run simultaneously.  Timesharing at this point referred to multiple users sharing a single machine at different times.  This MVT, however, allowed for a new definition of timesharing applications.[https://en.wikipedia.org/wiki/OS/360_and_successors#MVT]&lt;br /&gt;
&lt;br /&gt;
== Headline text ==&lt;br /&gt;
&lt;br /&gt;
Put this idea in historical context. Give the reader the Who, What, When, Where, and Why.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:Which Category did you place this in?]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11818</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11818"/>
		<updated>2015-12-04T07:22:43Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Thread Library===&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Put this idea in historical context. Give the reader the Who, What, When, Where, and Why.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:Which Category did you place this in?]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11817</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11817"/>
		<updated>2015-12-04T07:21:55Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Implementation==&lt;br /&gt;
===Thread Library===&lt;br /&gt;
===Thread Creation===&lt;br /&gt;
===Thread Synchronization===&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
What are the mathematical equations that allow us to model this topic.  For example &amp;lt;math&amp;gt;{\frac{d\vec{p}}{dt}}_{system} = \vec{F}_{net}&amp;lt;/math&amp;gt; where &#039;&#039;&#039;p&#039;&#039;&#039; is the momentum of the system and &#039;&#039;&#039;F&#039;&#039;&#039; is the net force from the surroundings.&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Put this idea in historical context. Give the reader the Who, What, When, Where, and Why.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:Which Category did you place this in?]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11815</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11815"/>
		<updated>2015-12-04T07:20:01Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.  Threads are also light-weight and cheaper than processes.  Since threads can be interrupted and put on hold, they also afford a good amount of flexibility.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
What are the mathematical equations that allow us to model this topic.  For example &amp;lt;math&amp;gt;{\frac{d\vec{p}}{dt}}_{system} = \vec{F}_{net}&amp;lt;/math&amp;gt; where &#039;&#039;&#039;p&#039;&#039;&#039; is the momentum of the system and &#039;&#039;&#039;F&#039;&#039;&#039; is the net force from the surroundings.&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Put this idea in historical context. Give the reader the Who, What, When, Where, and Why.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:Which Category did you place this in?]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11814</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11814"/>
		<updated>2015-12-04T07:17:50Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.  There are cases when breaking up a single process into multiple threads is more costly due to memory and resource allocations.  From a programming standpoint, multithreaded applications are also more complex in terms of time and logic.  Thread scheduling can also cause program locks if not executed correctly.&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
What are the mathematical equations that allow us to model this topic.  For example &amp;lt;math&amp;gt;{\frac{d\vec{p}}{dt}}_{system} = \vec{F}_{net}&amp;lt;/math&amp;gt; where &#039;&#039;&#039;p&#039;&#039;&#039; is the momentum of the system and &#039;&#039;&#039;F&#039;&#039;&#039; is the net force from the surroundings.&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Put this idea in historical context. Give the reader the Who, What, When, Where, and Why.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:Which Category did you place this in?]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11773</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11773"/>
		<updated>2015-12-04T06:51:14Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
With multithreading comes risks and disadvantage--though not to be thought as zero-sum.&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
What are the mathematical equations that allow us to model this topic.  For example &amp;lt;math&amp;gt;{\frac{d\vec{p}}{dt}}_{system} = \vec{F}_{net}&amp;lt;/math&amp;gt; where &#039;&#039;&#039;p&#039;&#039;&#039; is the momentum of the system and &#039;&#039;&#039;F&#039;&#039;&#039; is the net force from the surroundings.&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Put this idea in historical context. Give the reader the Who, What, When, Where, and Why.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:Which Category did you place this in?]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11771</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11771"/>
		<updated>2015-12-04T06:49:52Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Advantages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.  Furthermore, various threads may share global objects.  This allows for mutual cooperation and sharing when necessary.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
Insert text here&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
What are the mathematical equations that allow us to model this topic.  For example &amp;lt;math&amp;gt;{\frac{d\vec{p}}{dt}}_{system} = \vec{F}_{net}&amp;lt;/math&amp;gt; where &#039;&#039;&#039;p&#039;&#039;&#039; is the momentum of the system and &#039;&#039;&#039;F&#039;&#039;&#039; is the net force from the surroundings.&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Put this idea in historical context. Give the reader the Who, What, When, Where, and Why.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:Which Category did you place this in?]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11770</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11770"/>
		<updated>2015-12-04T06:49:02Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.  The notion of multithreaded parallelism in computing is similar to multitasking in real life--the idea is to get more done at once.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Multithreading allows advanced and complex computations to be performed more efficiently due to concurrency.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.  While one thread is performing mathematical computations, another could be rendering models on screen, while another is taking user input.  The modularity of threading allows users to break down processes as they see fit.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
Insert text here&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
What are the mathematical equations that allow us to model this topic.  For example &amp;lt;math&amp;gt;{\frac{d\vec{p}}{dt}}_{system} = \vec{F}_{net}&amp;lt;/math&amp;gt; where &#039;&#039;&#039;p&#039;&#039;&#039; is the momentum of the system and &#039;&#039;&#039;F&#039;&#039;&#039; is the net force from the surroundings.&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Put this idea in historical context. Give the reader the Who, What, When, Where, and Why.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:Which Category did you place this in?]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11763</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11763"/>
		<updated>2015-12-04T06:43:16Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.&lt;br /&gt;
&lt;br /&gt;
Multithreading is very important to VPython.  Imagine a Solar System model.  Though it would be possible to model and update the entire system in a linear fashion, when it comes to movement and animation, the computation can get incredibly intense.  Since your computer shares it&#039;s process cycles with various other programs, you may notice significant lag while trying to achieve your task.  Multithreading, however, would allow you to model and update each Planet (or even subsystems of a planet, etc.) concurrently.  For a system of thousands of relevant objects, the speed improvement could be many orders of magnitude with multithreading.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Insert text here&lt;br /&gt;
As this relates to physics, it allows us advanced and complex computations to be performed more efficiently.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
Insert text here&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
What are the mathematical equations that allow us to model this topic.  For example &amp;lt;math&amp;gt;{\frac{d\vec{p}}{dt}}_{system} = \vec{F}_{net}&amp;lt;/math&amp;gt; where &#039;&#039;&#039;p&#039;&#039;&#039; is the momentum of the system and &#039;&#039;&#039;F&#039;&#039;&#039; is the net force from the surroundings.&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Put this idea in historical context. Give the reader the Who, What, When, Where, and Why.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:Which Category did you place this in?]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11743</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11743"/>
		<updated>2015-12-04T06:30:00Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed at once.  With multithreading, programs may no longer be executed strictly in a linear manner.&lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simply be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Insert text here&lt;br /&gt;
As this relates to physics, it allows us advanced and complex computations to be performed more efficiently.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
Insert text here&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
What are the mathematical equations that allow us to model this topic.  For example &amp;lt;math&amp;gt;{\frac{d\vec{p}}{dt}}_{system} = \vec{F}_{net}&amp;lt;/math&amp;gt; where &#039;&#039;&#039;p&#039;&#039;&#039; is the momentum of the system and &#039;&#039;&#039;F&#039;&#039;&#039; is the net force from the surroundings.&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Put this idea in historical context. Give the reader the Who, What, When, Where, and Why.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:Which Category did you place this in?]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11736</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11736"/>
		<updated>2015-12-04T06:27:51Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Overview */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  Instead of a single execution flow, multiple program paths may be followed as once.  &lt;br /&gt;
&lt;br /&gt;
As an analogy, think of multithreading as a single employee vs. an assembly line.  A car could simple be worked on by a singular person.  It may also, however, be worked on by multiple people performing their own tasks at the same time.  The idea of multiple tasks being executed at the same time is the essence of multithreading.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Insert text here&lt;br /&gt;
As this relates to physics, it allows us advanced and complex computations to be performed more efficiently.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.&lt;br /&gt;
&lt;br /&gt;
===Disadvantages===&lt;br /&gt;
Insert text here&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
What are the mathematical equations that allow us to model this topic.  For example &amp;lt;math&amp;gt;{\frac{d\vec{p}}{dt}}_{system} = \vec{F}_{net}&amp;lt;/math&amp;gt; where &#039;&#039;&#039;p&#039;&#039;&#039; is the momentum of the system and &#039;&#039;&#039;F&#039;&#039;&#039; is the net force from the surroundings.&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Put this idea in historical context. Give the reader the Who, What, When, Where, and Why.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:Which Category did you place this in?]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11721</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11721"/>
		<updated>2015-12-04T06:21:35Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Benefits */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  As this relates to physics, it allows us advanced and complex computations to be performed more efficiently.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.&lt;br /&gt;
&lt;br /&gt;
===Advantages===&lt;br /&gt;
Insert text here&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
What are the mathematical equations that allow us to model this topic.  For example &amp;lt;math&amp;gt;{\frac{d\vec{p}}{dt}}_{system} = \vec{F}_{net}&amp;lt;/math&amp;gt; where &#039;&#039;&#039;p&#039;&#039;&#039; is the momentum of the system and &#039;&#039;&#039;F&#039;&#039;&#039; is the net force from the surroundings.&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Put this idea in historical context. Give the reader the Who, What, When, Where, and Why.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:Which Category did you place this in?]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11715</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11715"/>
		<updated>2015-12-04T06:20:30Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss multithreading as it relates to advanced VPython physics computations&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  As this relates to physics, it allows us advanced and complex computations to be performed more efficiently.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.&lt;br /&gt;
&lt;br /&gt;
===Benefits===&lt;br /&gt;
Insert text here&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
What are the mathematical equations that allow us to model this topic.  For example &amp;lt;math&amp;gt;{\frac{d\vec{p}}{dt}}_{system} = \vec{F}_{net}&amp;lt;/math&amp;gt; where &#039;&#039;&#039;p&#039;&#039;&#039; is the momentum of the system and &#039;&#039;&#039;F&#039;&#039;&#039; is the net force from the surroundings.&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Put this idea in historical context. Give the reader the Who, What, When, Where, and Why.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:Which Category did you place this in?]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11635</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11635"/>
		<updated>2015-12-04T05:46:45Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Claimed by Philip Bale&lt;br /&gt;
&lt;br /&gt;
Multithreading is the ability to execute multiple processes (or threads) concurrently.  As this relates to physics, it allows us advanced and complex computations to be performed more efficiently.  The asynchronous potential of multithreaded programs supports smoother graphical renderings and more accurate user input as well.&lt;br /&gt;
&lt;br /&gt;
Here we discuss mulithreading and VPython as it relates to advanced physics computations&lt;br /&gt;
&lt;br /&gt;
==The Main Idea==&lt;br /&gt;
&lt;br /&gt;
State, in your own words, the main idea for this topic&lt;br /&gt;
Electric Field of Capacitor&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
What are the mathematical equations that allow us to model this topic.  For example &amp;lt;math&amp;gt;{\frac{d\vec{p}}{dt}}_{system} = \vec{F}_{net}&amp;lt;/math&amp;gt; where &#039;&#039;&#039;p&#039;&#039;&#039; is the momentum of the system and &#039;&#039;&#039;F&#039;&#039;&#039; is the net force from the surroundings.&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Put this idea in historical context. Give the reader the Who, What, When, Where, and Why.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:Which Category did you place this in?]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11611</id>
		<title>VPython Multithreading</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=VPython_Multithreading&amp;diff=11611"/>
		<updated>2015-12-04T05:39:57Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: Created page with &amp;quot;Philip Bale  Here we discuss mulithreading and VPython as it relates to advanced physics computations  ==The Main Idea==  State, in your own words, the main idea for this topi...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Philip Bale&lt;br /&gt;
&lt;br /&gt;
Here we discuss mulithreading and VPython as it relates to advanced physics computations&lt;br /&gt;
&lt;br /&gt;
==The Main Idea==&lt;br /&gt;
&lt;br /&gt;
State, in your own words, the main idea for this topic&lt;br /&gt;
Electric Field of Capacitor&lt;br /&gt;
&lt;br /&gt;
===A Mathematical Model===&lt;br /&gt;
&lt;br /&gt;
What are the mathematical equations that allow us to model this topic.  For example &amp;lt;math&amp;gt;{\frac{d\vec{p}}{dt}}_{system} = \vec{F}_{net}&amp;lt;/math&amp;gt; where &#039;&#039;&#039;p&#039;&#039;&#039; is the momentum of the system and &#039;&#039;&#039;F&#039;&#039;&#039; is the net force from the surroundings.&lt;br /&gt;
&lt;br /&gt;
===A Computational Model===&lt;br /&gt;
&lt;br /&gt;
How do we visualize or predict using this topic. Consider embedding some vpython code here [https://trinket.io/glowscript/31d0f9ad9e Teach hands-on with GlowScript]&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
Be sure to show all steps in your solution and include diagrams whenever possible&lt;br /&gt;
&lt;br /&gt;
===Simple===&lt;br /&gt;
===Middling===&lt;br /&gt;
===Difficult===&lt;br /&gt;
&lt;br /&gt;
==Connectedness==&lt;br /&gt;
#How is this topic connected to something that you are interested in?&lt;br /&gt;
#How is it connected to your major?&lt;br /&gt;
#Is there an interesting industrial application?&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
&lt;br /&gt;
Put this idea in historical context. Give the reader the Who, What, When, Where, and Why.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
Are there related topics or categories in this wiki resource for the curious reader to explore?  How does this topic fit into that context?&lt;br /&gt;
&lt;br /&gt;
===Further reading===&lt;br /&gt;
&lt;br /&gt;
Books, Articles or other print media on this topic&lt;br /&gt;
&lt;br /&gt;
===External links===&lt;br /&gt;
[http://www.scientificamerican.com/article/bring-science-home-reaction-time/]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
This section contains the the references you used while writing this page&lt;br /&gt;
&lt;br /&gt;
[[Category:Which Category did you place this in?]]&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=Main_Page&amp;diff=11604</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=Main_Page&amp;diff=11604"/>
		<updated>2015-12-04T05:37:21Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Computing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Welcome to the Georgia Tech Wiki for Intro Physics.  This resources was created so that students can contribute and curate content to help those with limited or no access to a textbook.  When reading this website, please correct any errors you may come across. If you read something that isn&#039;t clear, please consider revising it!&lt;br /&gt;
&lt;br /&gt;
Looking to make a contribution?&lt;br /&gt;
#Pick a specific topic from intro physics&lt;br /&gt;
#Add that topic, as a link to a new page, under the appropriate category listed below by editing this page.&lt;br /&gt;
#Copy and paste the default [[Template]] into your new page and start editing.&lt;br /&gt;
&lt;br /&gt;
Please remember that this is not a textbook and you are not limited to expressing your ideas with only text and equations.  Whenever possible embed: pictures, videos, diagrams, simulations, computational models (e.g. Glowscript), and whatever content you think makes learning physics easier for other students.&lt;br /&gt;
&lt;br /&gt;
== Source Material ==&lt;br /&gt;
All of the content added to this resource must be in the public domain or similar free resource.  If you are unsure about a source, contact the original author for permission. That said, there is a surprisingly large amount of introductory physics content scattered across the web.  Here is an incomplete list of intro physics resources (please update as needed).&lt;br /&gt;
* A physics resource written by experts for an expert audience [https://en.wikipedia.org/wiki/Portal:Physics Physics Portal]&lt;br /&gt;
* A wiki book on modern physics [https://en.wikibooks.org/wiki/Modern_Physics Modern Physics Wiki]&lt;br /&gt;
* The MIT open courseware for intro physics [http://ocw.mit.edu/resources/res-8-002-a-wikitextbook-for-introductory-mechanics-fall-2009/index.htm MITOCW Wiki]&lt;br /&gt;
* An online concept map of intro physics [http://hyperphysics.phy-astr.gsu.edu/hbase/hph.html HyperPhysics]&lt;br /&gt;
* Interactive physics simulations [https://phet.colorado.edu/en/simulations/category/physics PhET]&lt;br /&gt;
* OpenStax algebra based intro physics textbook [https://openstaxcollege.org/textbooks/college-physics College Physics]&lt;br /&gt;
* The Open Source Physics project is a collection of online physics resources [http://www.opensourcephysics.org/ OSP]&lt;br /&gt;
* A resource guide compiled by the [http://www.aapt.org/ AAPT] for educators [http://www.compadre.org/ ComPADRE]&lt;br /&gt;
&lt;br /&gt;
== Organizing Categories ==&lt;br /&gt;
These are the broad, overarching categories, that we cover in two semester of introductory physics.  You can add subcategories or make a new category as needed.  A single topic should direct readers to a page in one of these catagories.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
===Interactions===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Kinds of Matter]]&lt;br /&gt;
**[[Ball and Spring Model of Matter]]&lt;br /&gt;
*[[Detecting Interactions]]&lt;br /&gt;
*[[Fundamental Interactions]]&lt;br /&gt;
*[[Determinism]]&lt;br /&gt;
*[[System &amp;amp; Surroundings]] &lt;br /&gt;
*[[Newton&#039;s First Law of Motion]]&lt;br /&gt;
*[[Newton&#039;s Second Law of Motion]]&lt;br /&gt;
*[[Newton&#039;s Third Law of Motion]]&lt;br /&gt;
*[[Gravitational Force]]&lt;br /&gt;
*[[Electric Force]]&lt;br /&gt;
*[[Conservation of Energy]]&lt;br /&gt;
*[[Conservation of Charge]]&lt;br /&gt;
*[[Terminal Speed]]&lt;br /&gt;
*[[Simple Harmonic Motion]]&lt;br /&gt;
*[[Speed and Velocity]]&lt;br /&gt;
*[[Electric Polarization]]&lt;br /&gt;
*[[Perpetual Freefall (Orbit)]]&lt;br /&gt;
*[[2-Dimensional Motion]]&lt;br /&gt;
*[[Center of Mass]]&lt;br /&gt;
*[[Reaction Time]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Theory===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Einstein&#039;s Theory of Special Relativity]]&lt;br /&gt;
*[[Quantum Theory]]&lt;br /&gt;
*[[Maxwell&#039;s Electromagnetic Theory]]&lt;br /&gt;
*[[Atomic Theory]]&lt;br /&gt;
*[[String Theory]]&lt;br /&gt;
*[[Elementary Particles and Particle Physics Theory]]&lt;br /&gt;
*[[Law of Gravitation]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Notable Scientists===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Christian Doppler]]&lt;br /&gt;
*[[Albert Einstein]]&lt;br /&gt;
*[[Ernest Rutherford]]&lt;br /&gt;
*[[Joseph Henry]]&lt;br /&gt;
*[[Michael Faraday]]&lt;br /&gt;
*[[J.J. Thomson]]&lt;br /&gt;
*[[James Maxwell]]&lt;br /&gt;
*[[Robert Hooke]]&lt;br /&gt;
*[[Carl Friedrich Gauss]]&lt;br /&gt;
*[[Nikola Tesla]]&lt;br /&gt;
*[[Andre Marie Ampere]]&lt;br /&gt;
*[[Sir Isaac Newton]]&lt;br /&gt;
*[[J. Robert Oppenheimer]]&lt;br /&gt;
*[[Oliver Heaviside]]&lt;br /&gt;
*[[Rosalind Franklin]]&lt;br /&gt;
*[[Erwin Schrödinger]]&lt;br /&gt;
*[[Enrico Fermi]]&lt;br /&gt;
*[[Robert J. Van de Graaff]]&lt;br /&gt;
*[[Charles de Coulomb]]&lt;br /&gt;
*[[Hans Christian Ørsted]]&lt;br /&gt;
*[[Philo Farnsworth]]&lt;br /&gt;
*[[Niels Bohr]]&lt;br /&gt;
*[[Georg Ohm]]&lt;br /&gt;
*[[Galileo Galilei]]&lt;br /&gt;
*[[Gustav Kirchhoff]]&lt;br /&gt;
*[[Max Planck]]&lt;br /&gt;
*[[Heinrich Hertz]]&lt;br /&gt;
*[[Edwin Hall]]&lt;br /&gt;
*[[James Watt]]&lt;br /&gt;
*[[Count Alessandro Volta]]&lt;br /&gt;
*[[Josiah Willard Gibbs]]&lt;br /&gt;
*[[Richard Phillips Feynman]]&lt;br /&gt;
*[[Sir David Brewster]]&lt;br /&gt;
*[[Daniel Bernoulli]]&lt;br /&gt;
*[[William Thomson]]&lt;br /&gt;
*[[Leonhard Euler]]&lt;br /&gt;
*[[Robert Fox Bacher]]&lt;br /&gt;
*[[Stephen Hawking]]&lt;br /&gt;
*[[Amedeo Avogadro]]&lt;br /&gt;
*[[Wilhelm Conrad Roentgen]]&lt;br /&gt;
*[[Pierre Laplace]]&lt;br /&gt;
*[[Thomas Edison]]&lt;br /&gt;
*[[Hendrik Lorentz]]&lt;br /&gt;
*[[Jean-Baptiste Biot]]&lt;br /&gt;
*[[Lise Meitner]]&lt;br /&gt;
*[[Lisa Randall]]&lt;br /&gt;
*[[Felix Savart]]&lt;br /&gt;
*[[Heinrich Lenz]]&lt;br /&gt;
*[[Max Born]]&lt;br /&gt;
*[[Archimedes]]&lt;br /&gt;
*[[Jean Baptiste Biot]]&lt;br /&gt;
*[[Carl Sagan]]&lt;br /&gt;
*[[Eugene Wigner]]&lt;br /&gt;
*[[Marie Curie]]&lt;br /&gt;
*[[Pierre Curie]]&lt;br /&gt;
*[[Werner Heisenberg]]&lt;br /&gt;
*[[Johannes Diderik van der Waals]]&lt;br /&gt;
*[[Louis de Broglie]]&lt;br /&gt;
*[[Aristotle]]&lt;br /&gt;
*[[Émilie du Châtelet]]&lt;br /&gt;
*[[Blaise Pascal]]&lt;br /&gt;
*[[Benjamin Franklin]]&lt;br /&gt;
*[[James Chadwick]]&lt;br /&gt;
*[[Henry Cavendish]]&lt;br /&gt;
*[[Thomas Young]]&lt;br /&gt;
*[[James Prescott Joule]]&lt;br /&gt;
*[[John Bardeen]]&lt;br /&gt;
*[[Leo Baekeland]]&lt;br /&gt;
*[[Alhazen]]&lt;br /&gt;
*[[Willebrod Snell]]&lt;br /&gt;
*[[Fritz Walther Meissner]]&lt;br /&gt;
*[[Johannes Kepler]]&lt;br /&gt;
*[[Johann Wilhelm Ritter]]&lt;br /&gt;
*[[Philipp Lenard]]&lt;br /&gt;
*[[Xuesen Qian]]&lt;br /&gt;
*[[Robert A. Millikan]]&lt;br /&gt;
*[[Joseph Louis Gay-Lussac]]&lt;br /&gt;
*[[Guglielmo Marconi]]&lt;br /&gt;
*[[Luis Walter Alvarez]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Properties of Matter===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Mass]]&lt;br /&gt;
*[[Velocity]]&lt;br /&gt;
*[[Relative Velocity]]&lt;br /&gt;
*[[Density]]&lt;br /&gt;
*[[Charge]]&lt;br /&gt;
*[[Spin]]&lt;br /&gt;
*[[SI Units]]&lt;br /&gt;
*[[Heat Capacity]]&lt;br /&gt;
*[[Specific Heat]]&lt;br /&gt;
*[[Wavelength]]&lt;br /&gt;
*[[Conductivity]]&lt;br /&gt;
*[[Malleability]]&lt;br /&gt;
*[[Weight]]&lt;br /&gt;
*[[Boiling Point]]&lt;br /&gt;
*[[Melting Point]]&lt;br /&gt;
*[[Inertia]]&lt;br /&gt;
*[[Non-Newtonian Fluids]]&lt;br /&gt;
*[[Color]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Contact Interactions===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
* [[Young&#039;s Modulus]]&lt;br /&gt;
* [[Friction]]&lt;br /&gt;
* [[Tension]]&lt;br /&gt;
* [[Hooke&#039;s Law]]&lt;br /&gt;
*[[Centripetal Force and Curving Motion]]&lt;br /&gt;
*[[Compression or Normal Force]]&lt;br /&gt;
* [[Length and Stiffness of an Interatomic Bond]]&lt;br /&gt;
* [[Speed of Sound in a Solid]]&lt;br /&gt;
* [[Iterative Prediction of Spring-Mass System]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Momentum===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
* [[Vectors]]&lt;br /&gt;
* [[Kinematics]]&lt;br /&gt;
* [[Conservation of Momentum]]&lt;br /&gt;
* [[Predicting Change in multiple dimensions]]&lt;br /&gt;
* [[Derivation of the Momentum Principle]]&lt;br /&gt;
* [[Momentum Principle]]&lt;br /&gt;
* [[Impulse Momentum]]&lt;br /&gt;
* [[Curving Motion]]&lt;br /&gt;
* [[Projectile Motion]]&lt;br /&gt;
* [[Multi-particle Analysis of Momentum]]&lt;br /&gt;
* [[Iterative Prediction]]&lt;br /&gt;
* [[Analytical Prediction]]&lt;br /&gt;
* [[Newton&#039;s Laws and Linear Momentum]]&lt;br /&gt;
* [[Net Force]]&lt;br /&gt;
* [[Center of Mass]]&lt;br /&gt;
* [[Momentum at High Speeds]]&lt;br /&gt;
* [[Change in Momentum in Time for Curving Motion]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Angular Momentum===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
* [[The Moments of Inertia]]&lt;br /&gt;
* [[Moment of Inertia for a ring]]&lt;br /&gt;
* [[Rotation]]&lt;br /&gt;
* [[Torque]]&lt;br /&gt;
* [[Systems with Zero Torque]]&lt;br /&gt;
* [[Systems with Nonzero Torque]]&lt;br /&gt;
* [[Right Hand Rule]]&lt;br /&gt;
* [[Angular Velocity]]&lt;br /&gt;
* [[Predicting the Position of a Rotating System]]&lt;br /&gt;
* [[Translational Angular Momentum]]&lt;br /&gt;
* [[The Angular Momentum Principle]]&lt;br /&gt;
* [[Angular Momentum of Multiparticle Systems]]&lt;br /&gt;
* [[Rotational Angular Momentum]]&lt;br /&gt;
* [[Total Angular Momentum]]&lt;br /&gt;
* [[Gyroscopes]]&lt;br /&gt;
* [[Angular Momentum Compared to Linear Momentum]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Energy===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[The Photoelectric Effect]]&lt;br /&gt;
*[[Photons]]&lt;br /&gt;
*[[The Energy Principle]]&lt;br /&gt;
*[[Predicting Change]]&lt;br /&gt;
*[[Rest Mass Energy]]&lt;br /&gt;
*[[Kinetic Energy]]&lt;br /&gt;
*[[Potential Energy]]&lt;br /&gt;
**[[Potential Energy for a Magnetic Dipole]]&lt;br /&gt;
**[[Potential Energy of a Multiparticle System]]&lt;br /&gt;
*[[Work]]&lt;br /&gt;
*[[Work and Energy for an Extended System]]&lt;br /&gt;
*[[Thermal Energy]]&lt;br /&gt;
*[[Conservation of Energy]]&lt;br /&gt;
*[[Electric Potential]]&lt;br /&gt;
*[[Energy Transfer due to a Temperature Difference]]&lt;br /&gt;
*[[Gravitational Potential Energy]]&lt;br /&gt;
*[[Point Particle Systems]]&lt;br /&gt;
*[[Real Systems]]&lt;br /&gt;
*[[Spring Potential Energy]]&lt;br /&gt;
**[[Ball and Spring Model]]&lt;br /&gt;
*[[Internal Energy]]&lt;br /&gt;
**[[Potential Energy of a Pair of Neutral Atoms]]&lt;br /&gt;
*[[Translational, Rotational and Vibrational Energy]]&lt;br /&gt;
*[[Franck-Hertz Experiment]]&lt;br /&gt;
*[[Power (Mechanical)]]&lt;br /&gt;
*[[Transformation of Energy]]&lt;br /&gt;
&lt;br /&gt;
*[[Energy Graphs]]&lt;br /&gt;
**[[Energy graphs and the Bohr model]]&lt;br /&gt;
*[[Air Resistance]]&lt;br /&gt;
*[[Electronic Energy Levels]]&lt;br /&gt;
*[[Second Law of Thermodynamics and Entropy]]&lt;br /&gt;
*[[Specific Heat Capacity]]&lt;br /&gt;
*[[Electronic Energy Levels and Photons]]&lt;br /&gt;
*[[Energy Density]]&lt;br /&gt;
*[[Bohr Model]]&lt;br /&gt;
*[[Quantized energy levels]]&lt;br /&gt;
**[[Spontaneous Photon Emission]]&lt;br /&gt;
*[[Path Independence of Electric Potential]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Collisions===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Collisions]]&lt;br /&gt;
*[[Maximally Inelastic Collision]]&lt;br /&gt;
*[[Elastic Collisions]]&lt;br /&gt;
*[[Inelastic Collisions]]&lt;br /&gt;
*[[Head-on Collision of Equal Masses]]&lt;br /&gt;
*[[Head-on Collision of Unequal Masses]]&lt;br /&gt;
*[[Frame of Reference]]&lt;br /&gt;
*[[Rutherford Experiment and Atomic Collisions]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fields===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
* [[Electric Field]] of a&lt;br /&gt;
** [[Point Charge]]&lt;br /&gt;
** [[Electric Dipole]]&lt;br /&gt;
** [[Capacitor]]&lt;br /&gt;
** [[Charged Rod]]&lt;br /&gt;
** [[Charged Ring]]&lt;br /&gt;
** [[Charged Disk]]&lt;br /&gt;
** [[Charged Spherical Shell]]&lt;br /&gt;
** [[Charged Cylinder]]&lt;br /&gt;
** [[Charge Density]]&lt;br /&gt;
**[[A Solid Sphere Charged Throughout Its Volume]]&lt;br /&gt;
*[[Electric Potential]] &lt;br /&gt;
**[[Potential Difference Path Independence]]&lt;br /&gt;
**[[Potential Difference in a Uniform Field]]&lt;br /&gt;
**[[Potential Difference of point charge in a non-Uniform Field]]&lt;br /&gt;
**[[Sign of Potential Difference]]&lt;br /&gt;
**[[Potential Difference in an Insulator]]&lt;br /&gt;
**[[Energy Density and Electric Field]]&lt;br /&gt;
** [[Systems of Charged Objects]]&lt;br /&gt;
*[[Electric Force]]&lt;br /&gt;
*[[Polarization]]&lt;br /&gt;
**[[Polarization of an Atom]]&lt;br /&gt;
*[[Charge Motion in Metals]]&lt;br /&gt;
*[[Charge Transfer]]&lt;br /&gt;
*[[Magnetic Field]]&lt;br /&gt;
**[[Right-Hand Rule]]&lt;br /&gt;
**[[Direction of Magnetic Field]]&lt;br /&gt;
**[[Magnetic Field of a Long Straight Wire]]&lt;br /&gt;
**[[Magnetic Field of a Loop]]&lt;br /&gt;
**[[Magnetic Field of a Solenoid]]&lt;br /&gt;
**[[Bar Magnet]]&lt;br /&gt;
**[[Magnetic Dipole Moment]]&lt;br /&gt;
***[[Stern-Gerlach Experiment]]&lt;br /&gt;
**[[Magnetic Force]]&lt;br /&gt;
**[[Earth&#039;s Magnetic Field]]&lt;br /&gt;
**[[Atomic Structure of Magnets]]&lt;br /&gt;
*[[Combining Electric and Magnetic Forces]]&lt;br /&gt;
**[[Magnetic Torque]]&lt;br /&gt;
**[[Hall Effect]]&lt;br /&gt;
**[[Lorentz Force]]&lt;br /&gt;
**[[Biot-Savart Law]]&lt;br /&gt;
**[[Biot-Savart Law for Currents]]&lt;br /&gt;
**[[Integration Techniques for Magnetic Field]]&lt;br /&gt;
**[[Sparks in Air]]&lt;br /&gt;
**[[Motional Emf]]&lt;br /&gt;
**[[Detecting a Magnetic Field]]&lt;br /&gt;
**[[Moving Point Charge]]&lt;br /&gt;
**[[Non-Coulomb Electric Field]]&lt;br /&gt;
**[[Motors and Generators]]&lt;br /&gt;
**[[Solenoid Applications]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Simple Circuits===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Components]]&lt;br /&gt;
*[[Steady State]]&lt;br /&gt;
*[[Non Steady State]]&lt;br /&gt;
*[[Charging and Discharging a Capacitor]]&lt;br /&gt;
*[[Thin and Thick Wires]]&lt;br /&gt;
*[[Node Rule]]&lt;br /&gt;
*[[Loop Rule]]&lt;br /&gt;
*[[Resistivity]]&lt;br /&gt;
*[[Power in a circuit]]&lt;br /&gt;
*[[Ammeters,Voltmeters,Ohmmeters]]&lt;br /&gt;
*[[Current]]&lt;br /&gt;
**[[AC]]&lt;br /&gt;
*[[Ohm&#039;s Law]]&lt;br /&gt;
*[[Series Circuits]]&lt;br /&gt;
*[[Parallel Circuits]]&lt;br /&gt;
*[[RC]]&lt;br /&gt;
*[[AC vs DC]]&lt;br /&gt;
*[[Charge in a RC Circuit]]&lt;br /&gt;
*[[Current in a RC circuit]]&lt;br /&gt;
*[[Circular Loop of Wire]]&lt;br /&gt;
*[[Current in a RL Circuit]]&lt;br /&gt;
*[[RL Circuit]]&lt;br /&gt;
*[[LC Circuit]]&lt;br /&gt;
*[[Surface Charge Distributions]]&lt;br /&gt;
*[[Feedback]]&lt;br /&gt;
*[[Transformers (Circuits)]]&lt;br /&gt;
*[[Resistors and Conductivity]]&lt;br /&gt;
*[[Semiconductor Devices]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Maxwell&#039;s Equations===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Gauss&#039;s Flux Theorem]]&lt;br /&gt;
**[[Electric Fields]]&lt;br /&gt;
**[[Magnetic Fields]]&lt;br /&gt;
*[[Ampere&#039;s Law]]&lt;br /&gt;
**[[Magnetic Field of Coaxial Cable Using Ampere&#039;s Law]]&lt;br /&gt;
**[[Magnetic Field of a Long Thick Wire Using Ampere&#039;s Law]]&lt;br /&gt;
**[[Magnetic Field of a Toroid Using Ampere&#039;s Law]]&lt;br /&gt;
*[[Faraday&#039;s Law]]&lt;br /&gt;
**[[Curly Electric Fields]]&lt;br /&gt;
**[[Inductance]]&lt;br /&gt;
***[[Transformers from a physics standpoint]]&lt;br /&gt;
***[[Energy Density]]&lt;br /&gt;
**[[Lenz&#039;s Law]]&lt;br /&gt;
***[[Lenz Effect and the Jumping Ring]]&lt;br /&gt;
**[[Motional Emf using Faraday&#039;s Law]]&lt;br /&gt;
*[[Ampere-Maxwell Law]]&lt;br /&gt;
*[[Superconductors]]&lt;br /&gt;
**[[Meissner effect]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Radiation===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Producing a Radiative Electric Field]]&lt;br /&gt;
*[[Sinusoidal Electromagnetic Radiaton]]&lt;br /&gt;
*[[Lenses]]&lt;br /&gt;
*[[Energy and Momentum Analysis in Radiation]]&lt;br /&gt;
**[[Poynting Vector]]&lt;br /&gt;
*[[Electromagnetic Propagation]]&lt;br /&gt;
**[[Wavelength and Frequency]]&lt;br /&gt;
*[[Snell&#039;s Law]]&lt;br /&gt;
*[[Effects of Radiation on Matter]]&lt;br /&gt;
*[[Light Propagation Through a Medium]]&lt;br /&gt;
*[[Light Scaterring: Why is the Sky Blue]]&lt;br /&gt;
*[[Light Refraction: Bending of light]]&lt;br /&gt;
*[[Cherenkov Radiation]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Doppler Effect]]&lt;br /&gt;
*[[Nature, Behavior, and Properties of Sound]]&lt;br /&gt;
*[[Resonance]]&lt;br /&gt;
*[[Sound Barrier]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Waves===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Multisource Interference: Diffraction]]&lt;br /&gt;
*[[Standing waves]]&lt;br /&gt;
*[[Gravitational waves]]&lt;br /&gt;
*[[Plasma waves]]&lt;br /&gt;
*[[Wave-Particle Duality]]&lt;br /&gt;
*[[Electromagnetic Waves]]&lt;br /&gt;
*[[Electromagnetic Spectrum]]&lt;br /&gt;
*[[Color Light Wave]]&lt;br /&gt;
*[[Mechanical Waves]]&lt;br /&gt;
*[[Pendulum Motion]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Real Life Applications of Electromagnetic Principles===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Electromagnetic Junkyard Cranes]]&lt;br /&gt;
*[[Maglev Trains]]&lt;br /&gt;
*[[Spark Plugs]]&lt;br /&gt;
*[[Metal Detectors]]&lt;br /&gt;
*[[Speakers]]&lt;br /&gt;
*[[Radios]]&lt;br /&gt;
*[[Ampullae of Lorenzini]]&lt;br /&gt;
*[[Generator]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Optics===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Mirrors]]&lt;br /&gt;
*[[Refraction]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computing===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[VPython]]&lt;br /&gt;
*[[VPython basics]]&lt;br /&gt;
*[[VPython Multithreading]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Commonly used wiki commands [https://en.wikipedia.org/wiki/Help:Cheatsheet Wiki Cheatsheet]&lt;br /&gt;
* A guide to representing equations in math mode [https://en.wikipedia.org/wiki/Help:Displaying_a_formula Wiki Math Mode]&lt;br /&gt;
* A page to keep track of all the physics [[Constants]]&lt;br /&gt;
* A page for review of [[Vectors]] and vector operations&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=Main_Page&amp;diff=11595</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=Main_Page&amp;diff=11595"/>
		<updated>2015-12-04T05:34:29Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Computing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Welcome to the Georgia Tech Wiki for Intro Physics.  This resources was created so that students can contribute and curate content to help those with limited or no access to a textbook.  When reading this website, please correct any errors you may come across. If you read something that isn&#039;t clear, please consider revising it!&lt;br /&gt;
&lt;br /&gt;
Looking to make a contribution?&lt;br /&gt;
#Pick a specific topic from intro physics&lt;br /&gt;
#Add that topic, as a link to a new page, under the appropriate category listed below by editing this page.&lt;br /&gt;
#Copy and paste the default [[Template]] into your new page and start editing.&lt;br /&gt;
&lt;br /&gt;
Please remember that this is not a textbook and you are not limited to expressing your ideas with only text and equations.  Whenever possible embed: pictures, videos, diagrams, simulations, computational models (e.g. Glowscript), and whatever content you think makes learning physics easier for other students.&lt;br /&gt;
&lt;br /&gt;
== Source Material ==&lt;br /&gt;
All of the content added to this resource must be in the public domain or similar free resource.  If you are unsure about a source, contact the original author for permission. That said, there is a surprisingly large amount of introductory physics content scattered across the web.  Here is an incomplete list of intro physics resources (please update as needed).&lt;br /&gt;
* A physics resource written by experts for an expert audience [https://en.wikipedia.org/wiki/Portal:Physics Physics Portal]&lt;br /&gt;
* A wiki book on modern physics [https://en.wikibooks.org/wiki/Modern_Physics Modern Physics Wiki]&lt;br /&gt;
* The MIT open courseware for intro physics [http://ocw.mit.edu/resources/res-8-002-a-wikitextbook-for-introductory-mechanics-fall-2009/index.htm MITOCW Wiki]&lt;br /&gt;
* An online concept map of intro physics [http://hyperphysics.phy-astr.gsu.edu/hbase/hph.html HyperPhysics]&lt;br /&gt;
* Interactive physics simulations [https://phet.colorado.edu/en/simulations/category/physics PhET]&lt;br /&gt;
* OpenStax algebra based intro physics textbook [https://openstaxcollege.org/textbooks/college-physics College Physics]&lt;br /&gt;
* The Open Source Physics project is a collection of online physics resources [http://www.opensourcephysics.org/ OSP]&lt;br /&gt;
* A resource guide compiled by the [http://www.aapt.org/ AAPT] for educators [http://www.compadre.org/ ComPADRE]&lt;br /&gt;
&lt;br /&gt;
== Organizing Categories ==&lt;br /&gt;
These are the broad, overarching categories, that we cover in two semester of introductory physics.  You can add subcategories or make a new category as needed.  A single topic should direct readers to a page in one of these catagories.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
===Interactions===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Kinds of Matter]]&lt;br /&gt;
**[[Ball and Spring Model of Matter]]&lt;br /&gt;
*[[Detecting Interactions]]&lt;br /&gt;
*[[Fundamental Interactions]]&lt;br /&gt;
*[[Determinism]]&lt;br /&gt;
*[[System &amp;amp; Surroundings]] &lt;br /&gt;
*[[Newton&#039;s First Law of Motion]]&lt;br /&gt;
*[[Newton&#039;s Second Law of Motion]]&lt;br /&gt;
*[[Newton&#039;s Third Law of Motion]]&lt;br /&gt;
*[[Gravitational Force]]&lt;br /&gt;
*[[Electric Force]]&lt;br /&gt;
*[[Conservation of Energy]]&lt;br /&gt;
*[[Conservation of Charge]]&lt;br /&gt;
*[[Terminal Speed]]&lt;br /&gt;
*[[Simple Harmonic Motion]]&lt;br /&gt;
*[[Speed and Velocity]]&lt;br /&gt;
*[[Electric Polarization]]&lt;br /&gt;
*[[Perpetual Freefall (Orbit)]]&lt;br /&gt;
*[[2-Dimensional Motion]]&lt;br /&gt;
*[[Center of Mass]]&lt;br /&gt;
*[[Reaction Time]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Theory===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Einstein&#039;s Theory of Special Relativity]]&lt;br /&gt;
*[[Quantum Theory]]&lt;br /&gt;
*[[Maxwell&#039;s Electromagnetic Theory]]&lt;br /&gt;
*[[Atomic Theory]]&lt;br /&gt;
*[[String Theory]]&lt;br /&gt;
*[[Elementary Particles and Particle Physics Theory]]&lt;br /&gt;
*[[Law of Gravitation]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Notable Scientists===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Christian Doppler]]&lt;br /&gt;
*[[Albert Einstein]]&lt;br /&gt;
*[[Ernest Rutherford]]&lt;br /&gt;
*[[Joseph Henry]]&lt;br /&gt;
*[[Michael Faraday]]&lt;br /&gt;
*[[J.J. Thomson]]&lt;br /&gt;
*[[James Maxwell]]&lt;br /&gt;
*[[Robert Hooke]]&lt;br /&gt;
*[[Carl Friedrich Gauss]]&lt;br /&gt;
*[[Nikola Tesla]]&lt;br /&gt;
*[[Andre Marie Ampere]]&lt;br /&gt;
*[[Sir Isaac Newton]]&lt;br /&gt;
*[[J. Robert Oppenheimer]]&lt;br /&gt;
*[[Oliver Heaviside]]&lt;br /&gt;
*[[Rosalind Franklin]]&lt;br /&gt;
*[[Erwin Schrödinger]]&lt;br /&gt;
*[[Enrico Fermi]]&lt;br /&gt;
*[[Robert J. Van de Graaff]]&lt;br /&gt;
*[[Charles de Coulomb]]&lt;br /&gt;
*[[Hans Christian Ørsted]]&lt;br /&gt;
*[[Philo Farnsworth]]&lt;br /&gt;
*[[Niels Bohr]]&lt;br /&gt;
*[[Georg Ohm]]&lt;br /&gt;
*[[Galileo Galilei]]&lt;br /&gt;
*[[Gustav Kirchhoff]]&lt;br /&gt;
*[[Max Planck]]&lt;br /&gt;
*[[Heinrich Hertz]]&lt;br /&gt;
*[[Edwin Hall]]&lt;br /&gt;
*[[James Watt]]&lt;br /&gt;
*[[Count Alessandro Volta]]&lt;br /&gt;
*[[Josiah Willard Gibbs]]&lt;br /&gt;
*[[Richard Phillips Feynman]]&lt;br /&gt;
*[[Sir David Brewster]]&lt;br /&gt;
*[[Daniel Bernoulli]]&lt;br /&gt;
*[[William Thomson]]&lt;br /&gt;
*[[Leonhard Euler]]&lt;br /&gt;
*[[Robert Fox Bacher]]&lt;br /&gt;
*[[Stephen Hawking]]&lt;br /&gt;
*[[Amedeo Avogadro]]&lt;br /&gt;
*[[Wilhelm Conrad Roentgen]]&lt;br /&gt;
*[[Pierre Laplace]]&lt;br /&gt;
*[[Thomas Edison]]&lt;br /&gt;
*[[Hendrik Lorentz]]&lt;br /&gt;
*[[Jean-Baptiste Biot]]&lt;br /&gt;
*[[Lise Meitner]]&lt;br /&gt;
*[[Lisa Randall]]&lt;br /&gt;
*[[Felix Savart]]&lt;br /&gt;
*[[Heinrich Lenz]]&lt;br /&gt;
*[[Max Born]]&lt;br /&gt;
*[[Archimedes]]&lt;br /&gt;
*[[Jean Baptiste Biot]]&lt;br /&gt;
*[[Carl Sagan]]&lt;br /&gt;
*[[Eugene Wigner]]&lt;br /&gt;
*[[Marie Curie]]&lt;br /&gt;
*[[Pierre Curie]]&lt;br /&gt;
*[[Werner Heisenberg]]&lt;br /&gt;
*[[Johannes Diderik van der Waals]]&lt;br /&gt;
*[[Louis de Broglie]]&lt;br /&gt;
*[[Aristotle]]&lt;br /&gt;
*[[Émilie du Châtelet]]&lt;br /&gt;
*[[Blaise Pascal]]&lt;br /&gt;
*[[Benjamin Franklin]]&lt;br /&gt;
*[[James Chadwick]]&lt;br /&gt;
*[[Henry Cavendish]]&lt;br /&gt;
*[[Thomas Young]]&lt;br /&gt;
*[[James Prescott Joule]]&lt;br /&gt;
*[[John Bardeen]]&lt;br /&gt;
*[[Leo Baekeland]]&lt;br /&gt;
*[[Alhazen]]&lt;br /&gt;
*[[Willebrod Snell]]&lt;br /&gt;
*[[Fritz Walther Meissner]]&lt;br /&gt;
*[[Johannes Kepler]]&lt;br /&gt;
*[[Johann Wilhelm Ritter]]&lt;br /&gt;
*[[Philipp Lenard]]&lt;br /&gt;
*[[Xuesen Qian]]&lt;br /&gt;
*[[Robert A. Millikan]]&lt;br /&gt;
*[[Joseph Louis Gay-Lussac]]&lt;br /&gt;
*[[Guglielmo Marconi]]&lt;br /&gt;
*[[Luis Walter Alvarez]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Properties of Matter===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Mass]]&lt;br /&gt;
*[[Velocity]]&lt;br /&gt;
*[[Relative Velocity]]&lt;br /&gt;
*[[Density]]&lt;br /&gt;
*[[Charge]]&lt;br /&gt;
*[[Spin]]&lt;br /&gt;
*[[SI Units]]&lt;br /&gt;
*[[Heat Capacity]]&lt;br /&gt;
*[[Specific Heat]]&lt;br /&gt;
*[[Wavelength]]&lt;br /&gt;
*[[Conductivity]]&lt;br /&gt;
*[[Malleability]]&lt;br /&gt;
*[[Weight]]&lt;br /&gt;
*[[Boiling Point]]&lt;br /&gt;
*[[Melting Point]]&lt;br /&gt;
*[[Inertia]]&lt;br /&gt;
*[[Non-Newtonian Fluids]]&lt;br /&gt;
*[[Color]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Contact Interactions===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
* [[Young&#039;s Modulus]]&lt;br /&gt;
* [[Friction]]&lt;br /&gt;
* [[Tension]]&lt;br /&gt;
* [[Hooke&#039;s Law]]&lt;br /&gt;
*[[Centripetal Force and Curving Motion]]&lt;br /&gt;
*[[Compression or Normal Force]]&lt;br /&gt;
* [[Length and Stiffness of an Interatomic Bond]]&lt;br /&gt;
* [[Speed of Sound in a Solid]]&lt;br /&gt;
* [[Iterative Prediction of Spring-Mass System]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Momentum===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
* [[Vectors]]&lt;br /&gt;
* [[Kinematics]]&lt;br /&gt;
* [[Conservation of Momentum]]&lt;br /&gt;
* [[Predicting Change in multiple dimensions]]&lt;br /&gt;
* [[Derivation of the Momentum Principle]]&lt;br /&gt;
* [[Momentum Principle]]&lt;br /&gt;
* [[Impulse Momentum]]&lt;br /&gt;
* [[Curving Motion]]&lt;br /&gt;
* [[Projectile Motion]]&lt;br /&gt;
* [[Multi-particle Analysis of Momentum]]&lt;br /&gt;
* [[Iterative Prediction]]&lt;br /&gt;
* [[Analytical Prediction]]&lt;br /&gt;
* [[Newton&#039;s Laws and Linear Momentum]]&lt;br /&gt;
* [[Net Force]]&lt;br /&gt;
* [[Center of Mass]]&lt;br /&gt;
* [[Momentum at High Speeds]]&lt;br /&gt;
* [[Change in Momentum in Time for Curving Motion]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Angular Momentum===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
* [[The Moments of Inertia]]&lt;br /&gt;
* [[Moment of Inertia for a ring]]&lt;br /&gt;
* [[Rotation]]&lt;br /&gt;
* [[Torque]]&lt;br /&gt;
* [[Systems with Zero Torque]]&lt;br /&gt;
* [[Systems with Nonzero Torque]]&lt;br /&gt;
* [[Right Hand Rule]]&lt;br /&gt;
* [[Angular Velocity]]&lt;br /&gt;
* [[Predicting the Position of a Rotating System]]&lt;br /&gt;
* [[Translational Angular Momentum]]&lt;br /&gt;
* [[The Angular Momentum Principle]]&lt;br /&gt;
* [[Angular Momentum of Multiparticle Systems]]&lt;br /&gt;
* [[Rotational Angular Momentum]]&lt;br /&gt;
* [[Total Angular Momentum]]&lt;br /&gt;
* [[Gyroscopes]]&lt;br /&gt;
* [[Angular Momentum Compared to Linear Momentum]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Energy===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[The Photoelectric Effect]]&lt;br /&gt;
*[[Photons]]&lt;br /&gt;
*[[The Energy Principle]]&lt;br /&gt;
*[[Predicting Change]]&lt;br /&gt;
*[[Rest Mass Energy]]&lt;br /&gt;
*[[Kinetic Energy]]&lt;br /&gt;
*[[Potential Energy]]&lt;br /&gt;
**[[Potential Energy for a Magnetic Dipole]]&lt;br /&gt;
**[[Potential Energy of a Multiparticle System]]&lt;br /&gt;
*[[Work]]&lt;br /&gt;
*[[Work and Energy for an Extended System]]&lt;br /&gt;
*[[Thermal Energy]]&lt;br /&gt;
*[[Conservation of Energy]]&lt;br /&gt;
*[[Electric Potential]]&lt;br /&gt;
*[[Energy Transfer due to a Temperature Difference]]&lt;br /&gt;
*[[Gravitational Potential Energy]]&lt;br /&gt;
*[[Point Particle Systems]]&lt;br /&gt;
*[[Real Systems]]&lt;br /&gt;
*[[Spring Potential Energy]]&lt;br /&gt;
**[[Ball and Spring Model]]&lt;br /&gt;
*[[Internal Energy]]&lt;br /&gt;
**[[Potential Energy of a Pair of Neutral Atoms]]&lt;br /&gt;
*[[Translational, Rotational and Vibrational Energy]]&lt;br /&gt;
*[[Franck-Hertz Experiment]]&lt;br /&gt;
*[[Power (Mechanical)]]&lt;br /&gt;
*[[Transformation of Energy]]&lt;br /&gt;
&lt;br /&gt;
*[[Energy Graphs]]&lt;br /&gt;
**[[Energy graphs and the Bohr model]]&lt;br /&gt;
*[[Air Resistance]]&lt;br /&gt;
*[[Electronic Energy Levels]]&lt;br /&gt;
*[[Second Law of Thermodynamics and Entropy]]&lt;br /&gt;
*[[Specific Heat Capacity]]&lt;br /&gt;
*[[Electronic Energy Levels and Photons]]&lt;br /&gt;
*[[Energy Density]]&lt;br /&gt;
*[[Bohr Model]]&lt;br /&gt;
*[[Quantized energy levels]]&lt;br /&gt;
**[[Spontaneous Photon Emission]]&lt;br /&gt;
*[[Path Independence of Electric Potential]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Collisions===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Collisions]]&lt;br /&gt;
*[[Maximally Inelastic Collision]]&lt;br /&gt;
*[[Elastic Collisions]]&lt;br /&gt;
*[[Inelastic Collisions]]&lt;br /&gt;
*[[Head-on Collision of Equal Masses]]&lt;br /&gt;
*[[Head-on Collision of Unequal Masses]]&lt;br /&gt;
*[[Frame of Reference]]&lt;br /&gt;
*[[Rutherford Experiment and Atomic Collisions]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fields===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
* [[Electric Field]] of a&lt;br /&gt;
** [[Point Charge]]&lt;br /&gt;
** [[Electric Dipole]]&lt;br /&gt;
** [[Capacitor]]&lt;br /&gt;
** [[Charged Rod]]&lt;br /&gt;
** [[Charged Ring]]&lt;br /&gt;
** [[Charged Disk]]&lt;br /&gt;
** [[Charged Spherical Shell]]&lt;br /&gt;
** [[Charged Cylinder]]&lt;br /&gt;
** [[Charge Density]]&lt;br /&gt;
**[[A Solid Sphere Charged Throughout Its Volume]]&lt;br /&gt;
*[[Electric Potential]] &lt;br /&gt;
**[[Potential Difference Path Independence]]&lt;br /&gt;
**[[Potential Difference in a Uniform Field]]&lt;br /&gt;
**[[Potential Difference of point charge in a non-Uniform Field]]&lt;br /&gt;
**[[Sign of Potential Difference]]&lt;br /&gt;
**[[Potential Difference in an Insulator]]&lt;br /&gt;
**[[Energy Density and Electric Field]]&lt;br /&gt;
** [[Systems of Charged Objects]]&lt;br /&gt;
*[[Electric Force]]&lt;br /&gt;
*[[Polarization]]&lt;br /&gt;
**[[Polarization of an Atom]]&lt;br /&gt;
*[[Charge Motion in Metals]]&lt;br /&gt;
*[[Charge Transfer]]&lt;br /&gt;
*[[Magnetic Field]]&lt;br /&gt;
**[[Right-Hand Rule]]&lt;br /&gt;
**[[Direction of Magnetic Field]]&lt;br /&gt;
**[[Magnetic Field of a Long Straight Wire]]&lt;br /&gt;
**[[Magnetic Field of a Loop]]&lt;br /&gt;
**[[Magnetic Field of a Solenoid]]&lt;br /&gt;
**[[Bar Magnet]]&lt;br /&gt;
**[[Magnetic Dipole Moment]]&lt;br /&gt;
***[[Stern-Gerlach Experiment]]&lt;br /&gt;
**[[Magnetic Force]]&lt;br /&gt;
**[[Earth&#039;s Magnetic Field]]&lt;br /&gt;
**[[Atomic Structure of Magnets]]&lt;br /&gt;
*[[Combining Electric and Magnetic Forces]]&lt;br /&gt;
**[[Magnetic Torque]]&lt;br /&gt;
**[[Hall Effect]]&lt;br /&gt;
**[[Lorentz Force]]&lt;br /&gt;
**[[Biot-Savart Law]]&lt;br /&gt;
**[[Biot-Savart Law for Currents]]&lt;br /&gt;
**[[Integration Techniques for Magnetic Field]]&lt;br /&gt;
**[[Sparks in Air]]&lt;br /&gt;
**[[Motional Emf]]&lt;br /&gt;
**[[Detecting a Magnetic Field]]&lt;br /&gt;
**[[Moving Point Charge]]&lt;br /&gt;
**[[Non-Coulomb Electric Field]]&lt;br /&gt;
**[[Motors and Generators]]&lt;br /&gt;
**[[Solenoid Applications]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Simple Circuits===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Components]]&lt;br /&gt;
*[[Steady State]]&lt;br /&gt;
*[[Non Steady State]]&lt;br /&gt;
*[[Charging and Discharging a Capacitor]]&lt;br /&gt;
*[[Thin and Thick Wires]]&lt;br /&gt;
*[[Node Rule]]&lt;br /&gt;
*[[Loop Rule]]&lt;br /&gt;
*[[Resistivity]]&lt;br /&gt;
*[[Power in a circuit]]&lt;br /&gt;
*[[Ammeters,Voltmeters,Ohmmeters]]&lt;br /&gt;
*[[Current]]&lt;br /&gt;
**[[AC]]&lt;br /&gt;
*[[Ohm&#039;s Law]]&lt;br /&gt;
*[[Series Circuits]]&lt;br /&gt;
*[[Parallel Circuits]]&lt;br /&gt;
*[[RC]]&lt;br /&gt;
*[[AC vs DC]]&lt;br /&gt;
*[[Charge in a RC Circuit]]&lt;br /&gt;
*[[Current in a RC circuit]]&lt;br /&gt;
*[[Circular Loop of Wire]]&lt;br /&gt;
*[[Current in a RL Circuit]]&lt;br /&gt;
*[[RL Circuit]]&lt;br /&gt;
*[[LC Circuit]]&lt;br /&gt;
*[[Surface Charge Distributions]]&lt;br /&gt;
*[[Feedback]]&lt;br /&gt;
*[[Transformers (Circuits)]]&lt;br /&gt;
*[[Resistors and Conductivity]]&lt;br /&gt;
*[[Semiconductor Devices]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Maxwell&#039;s Equations===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Gauss&#039;s Flux Theorem]]&lt;br /&gt;
**[[Electric Fields]]&lt;br /&gt;
**[[Magnetic Fields]]&lt;br /&gt;
*[[Ampere&#039;s Law]]&lt;br /&gt;
**[[Magnetic Field of Coaxial Cable Using Ampere&#039;s Law]]&lt;br /&gt;
**[[Magnetic Field of a Long Thick Wire Using Ampere&#039;s Law]]&lt;br /&gt;
**[[Magnetic Field of a Toroid Using Ampere&#039;s Law]]&lt;br /&gt;
*[[Faraday&#039;s Law]]&lt;br /&gt;
**[[Curly Electric Fields]]&lt;br /&gt;
**[[Inductance]]&lt;br /&gt;
***[[Transformers from a physics standpoint]]&lt;br /&gt;
***[[Energy Density]]&lt;br /&gt;
**[[Lenz&#039;s Law]]&lt;br /&gt;
***[[Lenz Effect and the Jumping Ring]]&lt;br /&gt;
**[[Motional Emf using Faraday&#039;s Law]]&lt;br /&gt;
*[[Ampere-Maxwell Law]]&lt;br /&gt;
*[[Superconductors]]&lt;br /&gt;
**[[Meissner effect]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Radiation===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Producing a Radiative Electric Field]]&lt;br /&gt;
*[[Sinusoidal Electromagnetic Radiaton]]&lt;br /&gt;
*[[Lenses]]&lt;br /&gt;
*[[Energy and Momentum Analysis in Radiation]]&lt;br /&gt;
**[[Poynting Vector]]&lt;br /&gt;
*[[Electromagnetic Propagation]]&lt;br /&gt;
**[[Wavelength and Frequency]]&lt;br /&gt;
*[[Snell&#039;s Law]]&lt;br /&gt;
*[[Effects of Radiation on Matter]]&lt;br /&gt;
*[[Light Propagation Through a Medium]]&lt;br /&gt;
*[[Light Scaterring: Why is the Sky Blue]]&lt;br /&gt;
*[[Light Refraction: Bending of light]]&lt;br /&gt;
*[[Cherenkov Radiation]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Doppler Effect]]&lt;br /&gt;
*[[Nature, Behavior, and Properties of Sound]]&lt;br /&gt;
*[[Resonance]]&lt;br /&gt;
*[[Sound Barrier]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Waves===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Multisource Interference: Diffraction]]&lt;br /&gt;
*[[Standing waves]]&lt;br /&gt;
*[[Gravitational waves]]&lt;br /&gt;
*[[Plasma waves]]&lt;br /&gt;
*[[Wave-Particle Duality]]&lt;br /&gt;
*[[Electromagnetic Waves]]&lt;br /&gt;
*[[Electromagnetic Spectrum]]&lt;br /&gt;
*[[Color Light Wave]]&lt;br /&gt;
*[[Mechanical Waves]]&lt;br /&gt;
*[[Pendulum Motion]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Real Life Applications of Electromagnetic Principles===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Electromagnetic Junkyard Cranes]]&lt;br /&gt;
*[[Maglev Trains]]&lt;br /&gt;
*[[Spark Plugs]]&lt;br /&gt;
*[[Metal Detectors]]&lt;br /&gt;
*[[Speakers]]&lt;br /&gt;
*[[Radios]]&lt;br /&gt;
*[[Ampullae of Lorenzini]]&lt;br /&gt;
*[[Generator]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Optics===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Mirrors]]&lt;br /&gt;
*[[Refraction]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computing===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[VPython]]&lt;br /&gt;
*[[VPython basics]]&lt;br /&gt;
*[[VPython Advanced Computation]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Commonly used wiki commands [https://en.wikipedia.org/wiki/Help:Cheatsheet Wiki Cheatsheet]&lt;br /&gt;
* A guide to representing equations in math mode [https://en.wikipedia.org/wiki/Help:Displaying_a_formula Wiki Math Mode]&lt;br /&gt;
* A page to keep track of all the physics [[Constants]]&lt;br /&gt;
* A page for review of [[Vectors]] and vector operations&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
	<entry>
		<id>http://www.physicsbook.gatech.edu/index.php?title=Main_Page&amp;diff=11594</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://www.physicsbook.gatech.edu/index.php?title=Main_Page&amp;diff=11594"/>
		<updated>2015-12-04T05:34:03Z</updated>

		<summary type="html">&lt;p&gt;Pbale95: /* Computing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
Welcome to the Georgia Tech Wiki for Intro Physics.  This resources was created so that students can contribute and curate content to help those with limited or no access to a textbook.  When reading this website, please correct any errors you may come across. If you read something that isn&#039;t clear, please consider revising it!&lt;br /&gt;
&lt;br /&gt;
Looking to make a contribution?&lt;br /&gt;
#Pick a specific topic from intro physics&lt;br /&gt;
#Add that topic, as a link to a new page, under the appropriate category listed below by editing this page.&lt;br /&gt;
#Copy and paste the default [[Template]] into your new page and start editing.&lt;br /&gt;
&lt;br /&gt;
Please remember that this is not a textbook and you are not limited to expressing your ideas with only text and equations.  Whenever possible embed: pictures, videos, diagrams, simulations, computational models (e.g. Glowscript), and whatever content you think makes learning physics easier for other students.&lt;br /&gt;
&lt;br /&gt;
== Source Material ==&lt;br /&gt;
All of the content added to this resource must be in the public domain or similar free resource.  If you are unsure about a source, contact the original author for permission. That said, there is a surprisingly large amount of introductory physics content scattered across the web.  Here is an incomplete list of intro physics resources (please update as needed).&lt;br /&gt;
* A physics resource written by experts for an expert audience [https://en.wikipedia.org/wiki/Portal:Physics Physics Portal]&lt;br /&gt;
* A wiki book on modern physics [https://en.wikibooks.org/wiki/Modern_Physics Modern Physics Wiki]&lt;br /&gt;
* The MIT open courseware for intro physics [http://ocw.mit.edu/resources/res-8-002-a-wikitextbook-for-introductory-mechanics-fall-2009/index.htm MITOCW Wiki]&lt;br /&gt;
* An online concept map of intro physics [http://hyperphysics.phy-astr.gsu.edu/hbase/hph.html HyperPhysics]&lt;br /&gt;
* Interactive physics simulations [https://phet.colorado.edu/en/simulations/category/physics PhET]&lt;br /&gt;
* OpenStax algebra based intro physics textbook [https://openstaxcollege.org/textbooks/college-physics College Physics]&lt;br /&gt;
* The Open Source Physics project is a collection of online physics resources [http://www.opensourcephysics.org/ OSP]&lt;br /&gt;
* A resource guide compiled by the [http://www.aapt.org/ AAPT] for educators [http://www.compadre.org/ ComPADRE]&lt;br /&gt;
&lt;br /&gt;
== Organizing Categories ==&lt;br /&gt;
These are the broad, overarching categories, that we cover in two semester of introductory physics.  You can add subcategories or make a new category as needed.  A single topic should direct readers to a page in one of these catagories.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
===Interactions===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Kinds of Matter]]&lt;br /&gt;
**[[Ball and Spring Model of Matter]]&lt;br /&gt;
*[[Detecting Interactions]]&lt;br /&gt;
*[[Fundamental Interactions]]&lt;br /&gt;
*[[Determinism]]&lt;br /&gt;
*[[System &amp;amp; Surroundings]] &lt;br /&gt;
*[[Newton&#039;s First Law of Motion]]&lt;br /&gt;
*[[Newton&#039;s Second Law of Motion]]&lt;br /&gt;
*[[Newton&#039;s Third Law of Motion]]&lt;br /&gt;
*[[Gravitational Force]]&lt;br /&gt;
*[[Electric Force]]&lt;br /&gt;
*[[Conservation of Energy]]&lt;br /&gt;
*[[Conservation of Charge]]&lt;br /&gt;
*[[Terminal Speed]]&lt;br /&gt;
*[[Simple Harmonic Motion]]&lt;br /&gt;
*[[Speed and Velocity]]&lt;br /&gt;
*[[Electric Polarization]]&lt;br /&gt;
*[[Perpetual Freefall (Orbit)]]&lt;br /&gt;
*[[2-Dimensional Motion]]&lt;br /&gt;
*[[Center of Mass]]&lt;br /&gt;
*[[Reaction Time]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Theory===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Einstein&#039;s Theory of Special Relativity]]&lt;br /&gt;
*[[Quantum Theory]]&lt;br /&gt;
*[[Maxwell&#039;s Electromagnetic Theory]]&lt;br /&gt;
*[[Atomic Theory]]&lt;br /&gt;
*[[String Theory]]&lt;br /&gt;
*[[Elementary Particles and Particle Physics Theory]]&lt;br /&gt;
*[[Law of Gravitation]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Notable Scientists===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Christian Doppler]]&lt;br /&gt;
*[[Albert Einstein]]&lt;br /&gt;
*[[Ernest Rutherford]]&lt;br /&gt;
*[[Joseph Henry]]&lt;br /&gt;
*[[Michael Faraday]]&lt;br /&gt;
*[[J.J. Thomson]]&lt;br /&gt;
*[[James Maxwell]]&lt;br /&gt;
*[[Robert Hooke]]&lt;br /&gt;
*[[Carl Friedrich Gauss]]&lt;br /&gt;
*[[Nikola Tesla]]&lt;br /&gt;
*[[Andre Marie Ampere]]&lt;br /&gt;
*[[Sir Isaac Newton]]&lt;br /&gt;
*[[J. Robert Oppenheimer]]&lt;br /&gt;
*[[Oliver Heaviside]]&lt;br /&gt;
*[[Rosalind Franklin]]&lt;br /&gt;
*[[Erwin Schrödinger]]&lt;br /&gt;
*[[Enrico Fermi]]&lt;br /&gt;
*[[Robert J. Van de Graaff]]&lt;br /&gt;
*[[Charles de Coulomb]]&lt;br /&gt;
*[[Hans Christian Ørsted]]&lt;br /&gt;
*[[Philo Farnsworth]]&lt;br /&gt;
*[[Niels Bohr]]&lt;br /&gt;
*[[Georg Ohm]]&lt;br /&gt;
*[[Galileo Galilei]]&lt;br /&gt;
*[[Gustav Kirchhoff]]&lt;br /&gt;
*[[Max Planck]]&lt;br /&gt;
*[[Heinrich Hertz]]&lt;br /&gt;
*[[Edwin Hall]]&lt;br /&gt;
*[[James Watt]]&lt;br /&gt;
*[[Count Alessandro Volta]]&lt;br /&gt;
*[[Josiah Willard Gibbs]]&lt;br /&gt;
*[[Richard Phillips Feynman]]&lt;br /&gt;
*[[Sir David Brewster]]&lt;br /&gt;
*[[Daniel Bernoulli]]&lt;br /&gt;
*[[William Thomson]]&lt;br /&gt;
*[[Leonhard Euler]]&lt;br /&gt;
*[[Robert Fox Bacher]]&lt;br /&gt;
*[[Stephen Hawking]]&lt;br /&gt;
*[[Amedeo Avogadro]]&lt;br /&gt;
*[[Wilhelm Conrad Roentgen]]&lt;br /&gt;
*[[Pierre Laplace]]&lt;br /&gt;
*[[Thomas Edison]]&lt;br /&gt;
*[[Hendrik Lorentz]]&lt;br /&gt;
*[[Jean-Baptiste Biot]]&lt;br /&gt;
*[[Lise Meitner]]&lt;br /&gt;
*[[Lisa Randall]]&lt;br /&gt;
*[[Felix Savart]]&lt;br /&gt;
*[[Heinrich Lenz]]&lt;br /&gt;
*[[Max Born]]&lt;br /&gt;
*[[Archimedes]]&lt;br /&gt;
*[[Jean Baptiste Biot]]&lt;br /&gt;
*[[Carl Sagan]]&lt;br /&gt;
*[[Eugene Wigner]]&lt;br /&gt;
*[[Marie Curie]]&lt;br /&gt;
*[[Pierre Curie]]&lt;br /&gt;
*[[Werner Heisenberg]]&lt;br /&gt;
*[[Johannes Diderik van der Waals]]&lt;br /&gt;
*[[Louis de Broglie]]&lt;br /&gt;
*[[Aristotle]]&lt;br /&gt;
*[[Émilie du Châtelet]]&lt;br /&gt;
*[[Blaise Pascal]]&lt;br /&gt;
*[[Benjamin Franklin]]&lt;br /&gt;
*[[James Chadwick]]&lt;br /&gt;
*[[Henry Cavendish]]&lt;br /&gt;
*[[Thomas Young]]&lt;br /&gt;
*[[James Prescott Joule]]&lt;br /&gt;
*[[John Bardeen]]&lt;br /&gt;
*[[Leo Baekeland]]&lt;br /&gt;
*[[Alhazen]]&lt;br /&gt;
*[[Willebrod Snell]]&lt;br /&gt;
*[[Fritz Walther Meissner]]&lt;br /&gt;
*[[Johannes Kepler]]&lt;br /&gt;
*[[Johann Wilhelm Ritter]]&lt;br /&gt;
*[[Philipp Lenard]]&lt;br /&gt;
*[[Xuesen Qian]]&lt;br /&gt;
*[[Robert A. Millikan]]&lt;br /&gt;
*[[Joseph Louis Gay-Lussac]]&lt;br /&gt;
*[[Guglielmo Marconi]]&lt;br /&gt;
*[[Luis Walter Alvarez]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Properties of Matter===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Mass]]&lt;br /&gt;
*[[Velocity]]&lt;br /&gt;
*[[Relative Velocity]]&lt;br /&gt;
*[[Density]]&lt;br /&gt;
*[[Charge]]&lt;br /&gt;
*[[Spin]]&lt;br /&gt;
*[[SI Units]]&lt;br /&gt;
*[[Heat Capacity]]&lt;br /&gt;
*[[Specific Heat]]&lt;br /&gt;
*[[Wavelength]]&lt;br /&gt;
*[[Conductivity]]&lt;br /&gt;
*[[Malleability]]&lt;br /&gt;
*[[Weight]]&lt;br /&gt;
*[[Boiling Point]]&lt;br /&gt;
*[[Melting Point]]&lt;br /&gt;
*[[Inertia]]&lt;br /&gt;
*[[Non-Newtonian Fluids]]&lt;br /&gt;
*[[Color]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Contact Interactions===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
* [[Young&#039;s Modulus]]&lt;br /&gt;
* [[Friction]]&lt;br /&gt;
* [[Tension]]&lt;br /&gt;
* [[Hooke&#039;s Law]]&lt;br /&gt;
*[[Centripetal Force and Curving Motion]]&lt;br /&gt;
*[[Compression or Normal Force]]&lt;br /&gt;
* [[Length and Stiffness of an Interatomic Bond]]&lt;br /&gt;
* [[Speed of Sound in a Solid]]&lt;br /&gt;
* [[Iterative Prediction of Spring-Mass System]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Momentum===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
* [[Vectors]]&lt;br /&gt;
* [[Kinematics]]&lt;br /&gt;
* [[Conservation of Momentum]]&lt;br /&gt;
* [[Predicting Change in multiple dimensions]]&lt;br /&gt;
* [[Derivation of the Momentum Principle]]&lt;br /&gt;
* [[Momentum Principle]]&lt;br /&gt;
* [[Impulse Momentum]]&lt;br /&gt;
* [[Curving Motion]]&lt;br /&gt;
* [[Projectile Motion]]&lt;br /&gt;
* [[Multi-particle Analysis of Momentum]]&lt;br /&gt;
* [[Iterative Prediction]]&lt;br /&gt;
* [[Analytical Prediction]]&lt;br /&gt;
* [[Newton&#039;s Laws and Linear Momentum]]&lt;br /&gt;
* [[Net Force]]&lt;br /&gt;
* [[Center of Mass]]&lt;br /&gt;
* [[Momentum at High Speeds]]&lt;br /&gt;
* [[Change in Momentum in Time for Curving Motion]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Angular Momentum===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
* [[The Moments of Inertia]]&lt;br /&gt;
* [[Moment of Inertia for a ring]]&lt;br /&gt;
* [[Rotation]]&lt;br /&gt;
* [[Torque]]&lt;br /&gt;
* [[Systems with Zero Torque]]&lt;br /&gt;
* [[Systems with Nonzero Torque]]&lt;br /&gt;
* [[Right Hand Rule]]&lt;br /&gt;
* [[Angular Velocity]]&lt;br /&gt;
* [[Predicting the Position of a Rotating System]]&lt;br /&gt;
* [[Translational Angular Momentum]]&lt;br /&gt;
* [[The Angular Momentum Principle]]&lt;br /&gt;
* [[Angular Momentum of Multiparticle Systems]]&lt;br /&gt;
* [[Rotational Angular Momentum]]&lt;br /&gt;
* [[Total Angular Momentum]]&lt;br /&gt;
* [[Gyroscopes]]&lt;br /&gt;
* [[Angular Momentum Compared to Linear Momentum]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Energy===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[The Photoelectric Effect]]&lt;br /&gt;
*[[Photons]]&lt;br /&gt;
*[[The Energy Principle]]&lt;br /&gt;
*[[Predicting Change]]&lt;br /&gt;
*[[Rest Mass Energy]]&lt;br /&gt;
*[[Kinetic Energy]]&lt;br /&gt;
*[[Potential Energy]]&lt;br /&gt;
**[[Potential Energy for a Magnetic Dipole]]&lt;br /&gt;
**[[Potential Energy of a Multiparticle System]]&lt;br /&gt;
*[[Work]]&lt;br /&gt;
*[[Work and Energy for an Extended System]]&lt;br /&gt;
*[[Thermal Energy]]&lt;br /&gt;
*[[Conservation of Energy]]&lt;br /&gt;
*[[Electric Potential]]&lt;br /&gt;
*[[Energy Transfer due to a Temperature Difference]]&lt;br /&gt;
*[[Gravitational Potential Energy]]&lt;br /&gt;
*[[Point Particle Systems]]&lt;br /&gt;
*[[Real Systems]]&lt;br /&gt;
*[[Spring Potential Energy]]&lt;br /&gt;
**[[Ball and Spring Model]]&lt;br /&gt;
*[[Internal Energy]]&lt;br /&gt;
**[[Potential Energy of a Pair of Neutral Atoms]]&lt;br /&gt;
*[[Translational, Rotational and Vibrational Energy]]&lt;br /&gt;
*[[Franck-Hertz Experiment]]&lt;br /&gt;
*[[Power (Mechanical)]]&lt;br /&gt;
*[[Transformation of Energy]]&lt;br /&gt;
&lt;br /&gt;
*[[Energy Graphs]]&lt;br /&gt;
**[[Energy graphs and the Bohr model]]&lt;br /&gt;
*[[Air Resistance]]&lt;br /&gt;
*[[Electronic Energy Levels]]&lt;br /&gt;
*[[Second Law of Thermodynamics and Entropy]]&lt;br /&gt;
*[[Specific Heat Capacity]]&lt;br /&gt;
*[[Electronic Energy Levels and Photons]]&lt;br /&gt;
*[[Energy Density]]&lt;br /&gt;
*[[Bohr Model]]&lt;br /&gt;
*[[Quantized energy levels]]&lt;br /&gt;
**[[Spontaneous Photon Emission]]&lt;br /&gt;
*[[Path Independence of Electric Potential]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Collisions===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Collisions]]&lt;br /&gt;
*[[Maximally Inelastic Collision]]&lt;br /&gt;
*[[Elastic Collisions]]&lt;br /&gt;
*[[Inelastic Collisions]]&lt;br /&gt;
*[[Head-on Collision of Equal Masses]]&lt;br /&gt;
*[[Head-on Collision of Unequal Masses]]&lt;br /&gt;
*[[Frame of Reference]]&lt;br /&gt;
*[[Rutherford Experiment and Atomic Collisions]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fields===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
* [[Electric Field]] of a&lt;br /&gt;
** [[Point Charge]]&lt;br /&gt;
** [[Electric Dipole]]&lt;br /&gt;
** [[Capacitor]]&lt;br /&gt;
** [[Charged Rod]]&lt;br /&gt;
** [[Charged Ring]]&lt;br /&gt;
** [[Charged Disk]]&lt;br /&gt;
** [[Charged Spherical Shell]]&lt;br /&gt;
** [[Charged Cylinder]]&lt;br /&gt;
** [[Charge Density]]&lt;br /&gt;
**[[A Solid Sphere Charged Throughout Its Volume]]&lt;br /&gt;
*[[Electric Potential]] &lt;br /&gt;
**[[Potential Difference Path Independence]]&lt;br /&gt;
**[[Potential Difference in a Uniform Field]]&lt;br /&gt;
**[[Potential Difference of point charge in a non-Uniform Field]]&lt;br /&gt;
**[[Sign of Potential Difference]]&lt;br /&gt;
**[[Potential Difference in an Insulator]]&lt;br /&gt;
**[[Energy Density and Electric Field]]&lt;br /&gt;
** [[Systems of Charged Objects]]&lt;br /&gt;
*[[Electric Force]]&lt;br /&gt;
*[[Polarization]]&lt;br /&gt;
**[[Polarization of an Atom]]&lt;br /&gt;
*[[Charge Motion in Metals]]&lt;br /&gt;
*[[Charge Transfer]]&lt;br /&gt;
*[[Magnetic Field]]&lt;br /&gt;
**[[Right-Hand Rule]]&lt;br /&gt;
**[[Direction of Magnetic Field]]&lt;br /&gt;
**[[Magnetic Field of a Long Straight Wire]]&lt;br /&gt;
**[[Magnetic Field of a Loop]]&lt;br /&gt;
**[[Magnetic Field of a Solenoid]]&lt;br /&gt;
**[[Bar Magnet]]&lt;br /&gt;
**[[Magnetic Dipole Moment]]&lt;br /&gt;
***[[Stern-Gerlach Experiment]]&lt;br /&gt;
**[[Magnetic Force]]&lt;br /&gt;
**[[Earth&#039;s Magnetic Field]]&lt;br /&gt;
**[[Atomic Structure of Magnets]]&lt;br /&gt;
*[[Combining Electric and Magnetic Forces]]&lt;br /&gt;
**[[Magnetic Torque]]&lt;br /&gt;
**[[Hall Effect]]&lt;br /&gt;
**[[Lorentz Force]]&lt;br /&gt;
**[[Biot-Savart Law]]&lt;br /&gt;
**[[Biot-Savart Law for Currents]]&lt;br /&gt;
**[[Integration Techniques for Magnetic Field]]&lt;br /&gt;
**[[Sparks in Air]]&lt;br /&gt;
**[[Motional Emf]]&lt;br /&gt;
**[[Detecting a Magnetic Field]]&lt;br /&gt;
**[[Moving Point Charge]]&lt;br /&gt;
**[[Non-Coulomb Electric Field]]&lt;br /&gt;
**[[Motors and Generators]]&lt;br /&gt;
**[[Solenoid Applications]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Simple Circuits===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Components]]&lt;br /&gt;
*[[Steady State]]&lt;br /&gt;
*[[Non Steady State]]&lt;br /&gt;
*[[Charging and Discharging a Capacitor]]&lt;br /&gt;
*[[Thin and Thick Wires]]&lt;br /&gt;
*[[Node Rule]]&lt;br /&gt;
*[[Loop Rule]]&lt;br /&gt;
*[[Resistivity]]&lt;br /&gt;
*[[Power in a circuit]]&lt;br /&gt;
*[[Ammeters,Voltmeters,Ohmmeters]]&lt;br /&gt;
*[[Current]]&lt;br /&gt;
**[[AC]]&lt;br /&gt;
*[[Ohm&#039;s Law]]&lt;br /&gt;
*[[Series Circuits]]&lt;br /&gt;
*[[Parallel Circuits]]&lt;br /&gt;
*[[RC]]&lt;br /&gt;
*[[AC vs DC]]&lt;br /&gt;
*[[Charge in a RC Circuit]]&lt;br /&gt;
*[[Current in a RC circuit]]&lt;br /&gt;
*[[Circular Loop of Wire]]&lt;br /&gt;
*[[Current in a RL Circuit]]&lt;br /&gt;
*[[RL Circuit]]&lt;br /&gt;
*[[LC Circuit]]&lt;br /&gt;
*[[Surface Charge Distributions]]&lt;br /&gt;
*[[Feedback]]&lt;br /&gt;
*[[Transformers (Circuits)]]&lt;br /&gt;
*[[Resistors and Conductivity]]&lt;br /&gt;
*[[Semiconductor Devices]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Maxwell&#039;s Equations===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Gauss&#039;s Flux Theorem]]&lt;br /&gt;
**[[Electric Fields]]&lt;br /&gt;
**[[Magnetic Fields]]&lt;br /&gt;
*[[Ampere&#039;s Law]]&lt;br /&gt;
**[[Magnetic Field of Coaxial Cable Using Ampere&#039;s Law]]&lt;br /&gt;
**[[Magnetic Field of a Long Thick Wire Using Ampere&#039;s Law]]&lt;br /&gt;
**[[Magnetic Field of a Toroid Using Ampere&#039;s Law]]&lt;br /&gt;
*[[Faraday&#039;s Law]]&lt;br /&gt;
**[[Curly Electric Fields]]&lt;br /&gt;
**[[Inductance]]&lt;br /&gt;
***[[Transformers from a physics standpoint]]&lt;br /&gt;
***[[Energy Density]]&lt;br /&gt;
**[[Lenz&#039;s Law]]&lt;br /&gt;
***[[Lenz Effect and the Jumping Ring]]&lt;br /&gt;
**[[Motional Emf using Faraday&#039;s Law]]&lt;br /&gt;
*[[Ampere-Maxwell Law]]&lt;br /&gt;
*[[Superconductors]]&lt;br /&gt;
**[[Meissner effect]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Radiation===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Producing a Radiative Electric Field]]&lt;br /&gt;
*[[Sinusoidal Electromagnetic Radiaton]]&lt;br /&gt;
*[[Lenses]]&lt;br /&gt;
*[[Energy and Momentum Analysis in Radiation]]&lt;br /&gt;
**[[Poynting Vector]]&lt;br /&gt;
*[[Electromagnetic Propagation]]&lt;br /&gt;
**[[Wavelength and Frequency]]&lt;br /&gt;
*[[Snell&#039;s Law]]&lt;br /&gt;
*[[Effects of Radiation on Matter]]&lt;br /&gt;
*[[Light Propagation Through a Medium]]&lt;br /&gt;
*[[Light Scaterring: Why is the Sky Blue]]&lt;br /&gt;
*[[Light Refraction: Bending of light]]&lt;br /&gt;
*[[Cherenkov Radiation]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Sound===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Doppler Effect]]&lt;br /&gt;
*[[Nature, Behavior, and Properties of Sound]]&lt;br /&gt;
*[[Resonance]]&lt;br /&gt;
*[[Sound Barrier]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Waves===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Multisource Interference: Diffraction]]&lt;br /&gt;
*[[Standing waves]]&lt;br /&gt;
*[[Gravitational waves]]&lt;br /&gt;
*[[Plasma waves]]&lt;br /&gt;
*[[Wave-Particle Duality]]&lt;br /&gt;
*[[Electromagnetic Waves]]&lt;br /&gt;
*[[Electromagnetic Spectrum]]&lt;br /&gt;
*[[Color Light Wave]]&lt;br /&gt;
*[[Mechanical Waves]]&lt;br /&gt;
*[[Pendulum Motion]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Real Life Applications of Electromagnetic Principles===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Electromagnetic Junkyard Cranes]]&lt;br /&gt;
*[[Maglev Trains]]&lt;br /&gt;
*[[Spark Plugs]]&lt;br /&gt;
*[[Metal Detectors]]&lt;br /&gt;
*[[Speakers]]&lt;br /&gt;
*[[Radios]]&lt;br /&gt;
*[[Ampullae of Lorenzini]]&lt;br /&gt;
*[[Generator]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Optics===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[Mirrors]]&lt;br /&gt;
*[[Refraction]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;toccolours mw-collapsible mw-collapsed&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Computing===&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
*[[VPython]]&lt;br /&gt;
*[[VPython basics]]&lt;br /&gt;
*[[VPython Advanced Computations]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
* Commonly used wiki commands [https://en.wikipedia.org/wiki/Help:Cheatsheet Wiki Cheatsheet]&lt;br /&gt;
* A guide to representing equations in math mode [https://en.wikipedia.org/wiki/Help:Displaying_a_formula Wiki Math Mode]&lt;br /&gt;
* A page to keep track of all the physics [[Constants]]&lt;br /&gt;
* A page for review of [[Vectors]] and vector operations&lt;/div&gt;</summary>
		<author><name>Pbale95</name></author>
	</entry>
</feed>