diff --git a/README.md b/README.md
index 919404cbf02d22b2238cc86304fc887d052c1edc..458654f72fd73c6c2c5691a89b6db3deb9737769 100644
--- a/README.md
+++ b/README.md
@@ -9,6 +9,12 @@ To help Matlab-experienced users begin coding in Python. This includes a review
 of syntax differences, along with a brief introduction of the most commonly
 used libraries, and a quick overview of PEP8 coding conventions.
 
+## Who should come
+
+This workshop is geared primarily towards new Python users that have previously
+coded in Matlab. However, there are some topics that may be of use to more
+experienced users, such as the package tutorials and PEP8 coding conventions.
+
 ## Date
 
 The workshop date and location will be announced internally at DTU Risø. Please
@@ -28,14 +34,34 @@ arranging a new workshop.
 ## Prerequisites
 
 If you are attending the workshop, please do the following before attending:
-1. If you do not have Anaconda installed, please [install it](https://www.anaconda.com/download/)
-**with Python 3.6**
-2. If you have Anaconda installed, please either  
-    a) have your root environment be Python 3.6, or  
-    b) [create an environment](https://conda.io/docs/user-guide/tasks/manage-environments.html#creating-an-environment-with-commands)
-    that has Python 3.6
+1. If you didn't attend Workshop 1, do those prerequisites ([link](https://gitlab.windenergy.dtu.dk/python-at-risoe/scientific-python-workshops/1-intro-to-conda#prerequisites)).
+2. If you don't have git installed, [install it](https://git-scm.com/downloads)
+with the following options:
+    - Default git components
+    - Either git bash only or git bash & Windows command prompt
+    - Use OpenSSH
+    - Open SSL
+    - Checkout Windows-style, commit Unix-style
+    - Use MinTTY
+    - Default extra options
+3. Clone the workshop repository to your computer.
+    - In your git terminal (the application is called "Git bash" in Windows),
+    change to a directory where you want the new folder to be placed.  E.g.,  
+    `cd /c/Users/$USERNAME/Desktop`  
+    Note that, in git bash, file paths are similar to Unix, with forward slashes
+    and a different way to reference the C-drive. If you have a file path
+    with a space in it, put a single quote at the beginning and end of the path.
+    - Enter this command into the terminal:  
+    `git clone https://gitlab.windenergy.dtu.dk/python-at-risoe/scientific-python-workshops/2-getting-started.git`
+4. Test that git is set up properly by trying to pull.
+    - Change into the newly cloned folder  
+    `cd 2-getting-started/`
+    - Enter this command:  
+    `git pull origin master`
+5. Just before the workshop, update the folder by pulling the changes (same
+command as in Step 4).
 
 ## Contact
 
-Jenni Rinker
+Jenni Rinker  
 rink@dtu.dk
\ No newline at end of file
diff --git a/python_vs_matlab.md b/python_vs_matlab.md
new file mode 100644
index 0000000000000000000000000000000000000000..532863d13ecfd438cc5e887a5753f37254552337
--- /dev/null
+++ b/python_vs_matlab.md
@@ -0,0 +1,184 @@
+# Comparison of Python and Matlab
+
+Originally from [this page](http://reactorlab.net/resources-folder/matlab/P_to_M.html)
+but modified to 1) be in markdown, 2) fix some errors, and 3) add more detail.
+
+This is very much a work in progress. This re-formatting is taking some time.
+
+<table>
+  <tr>
+    <th>Python</th>
+    <th>Matlab</th>
+  </tr>
+  <tr>
+    <td><ul>
+        <li>numeric variables are double precision if decimal added</li>
+    </ul>
+    <pre><code>a = 5.  # this is a float
+a = 5  # this is an int</code></pre>
+    </td>
+    <td><ul>
+        <li>numeric variables are double precision by default</li>
+    </ul>
+    <pre><code>a = 5.0;  % this is a double</code></pre>
+    </td> 
+  </tr>
+  <tr>
+    <td>Eve</td>
+    <td>Jackson</td> 
+  </tr>
+</table>
+
+# test
+
+
+
+numeric arrays are objects defined in NumPy package <br /> indexes start at 0 in Python <br /> structures are defined by indentation, no 'end' <br /> `A = np.empty(10)  # initialize array A`| array indexes start at 1 in Matlab <br /> indentation is for readability only <br /> `for i=1:10` <br /> `    A(i) = i;`
+for i in range(1,11):	|	end
+    A.append(i)	|	A % display contents of A
+    print(A[i-1]) 	|	
+	|	
+# repeat which prints a series of	|	
+# values 	|	for i=0:2:10
+	|	    fprintf(' %i \n', i)
+for i in range(0,11,2):	|	end
+    print(i)	|	
+	|	
+# initialize an identity matrix 	|	
+	|	% MATLAB has built-in functions for
+# import the numpy library for matrix operations	|	% common array initializations
+	|	
+import numpy as np	|	B = eye(100);
+	|	
+B = np.identity(3)	|	
+	|	
+# declare and initialize an array,	|	C = [1, 2, 3];  % or C = [1 2 3];
+# known as a list in Python	|	
+	|	
+C = [1, 2, 3]	|	
+	|	
+# initialize and print an array	|	
+# array name = arange(start,stop,step)	|	% array name = [start:increment:end];
+	|	
+import numpy as np	|	
+C = np.arange(2,10,2)	|	C = [2:2:8] % leave off ; to display value
+print(C)	|	
+	|	
+# print an array element on screen	|	
+# array indexes start at 0  	|	% array indexes start at 1
+	|	
+print(C[1]) 	|	C(2)
+	|	
+# prints 4 using C from above table cell	|	% prints 4 using C from above table cell
+# note square brackets C[1]	|	% note parentheses C(2)
+	|	
+# declare and initialize an array	|	
+# with fixed interval between values	|	
+import numpy as np	|	
+C = np.linspace(2,8,4)	|	C = linspace(2,8,4);
+# third param is optional and = # points	|	
+# between and including 1st two points	|	% third param is optional and = # points
+# if third param left off, default	|	% between and including 1st two points
+# is 50 points	|	% if third param left off, default
+	|	% is 100 points
+# initialize a 2D array	|	% these three examples accomplish the
+	|	% same thing
+	|	
+D = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]	|	D = [1 2 3; 4 5 6; 7 8 9];
+	|	D = [1:3; 4:6; 7:9];
+	|	D = [1 2 3
+	|	     4 5 6
+	|	     7 8 9];
+# print element of 2D array 	|	% array indexes start at 1
+# array indexes start at 0 	|	  
+print(D[1][1]) # row 2, column 2	|	
+# prints 5 using D from above table cell	|	D(2,2) % row 2, column 2
+	|	% prints 5 using D from above table cell
+# print selected sub array of 2D array	|	
+# e.g., print rows 1 to 2 of column 1 	|	
+	|	D(1:2,1) % rows 1 to 2 of column 1
+for i in range(0,2):	|	
+    print(D[i][0])	|	
+	|	
+# print all rows of column 1 of 2D	|	
+# array	|	
+	|	
+import numpy as np	|	D(:,1) % all rows, column 1
+D = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])	|	
+Dsub = D[0:,0:1]	|	
+print(Dsub)	|	
+	|	
+# logical expression	|	
+	|	
+a = 1	|	a = 1
+b = 2	|	b = 2;
+if a == 1 or  b == 3:	|	if a == 1 || b == 3
+    print('a = 2 or b = 3')	|	    fprintf('a = 2 or b = 3 \n');
+	|	end 
+	|	
+# if structure	|	
+	|	
+if a == 1 and b != 3:	|	if a == 1 && b ~= 3
+    print('a=1 and b not 3');	|	    fprintf('a=1 and b not 3 \n');
+    print('OK?')	|	    fprintf('OK? \n');
+	|	end
+	|	
+# if, else structure	|	
+	|	a ~= 1
+if a != 1:	|	    fprintf('a is not 1 \n')
+    print('a is not 1')	|	elseif b ~= 3 
+elif b != 3:	|	    fprintf('b is not 3 \n')
+    print('b is not 3')	|	else
+else:	|	    fprintf('huh? \n')
+    print('huh?')	|	end
+	|	
+# switch structure	|	
+	|	switch menuChoice
+# Python doesn't have a switch structure	|	    case 1
+	|	        % can do any actions in a case, e.g.,
+# any switch structure can be	|	        % call a user-defined function
+# written as an if-else structure	|	        myMenuFunc01();
+	|	    case 2
+# switch structures may be quicker to	|	        myMenuFunc02();
+# read and write for applications such as menus	|	    case 3
+	|	        myMenuFunc03();
+	|	    otherwise
+	|	        fprintf('invalid selection, try again')
+	|	end
+	|	
+# program which calls a user-defined function	|	% main program and function definition must
+	|	% be in separate files and function file
+# define function, here I chose name myfunc	|	% must have same name as function name
+	|	
+def myfunc(x,y):	|	z = myfunc(2,3)
+    return x**y # ** is exponentiation operator	|	% prints 8 for this input
+	|	
+# call function	|	----- LISTING OF FILE myfunc.m ------
+	|	
+z = myfunc(2,3)	|	function returnValue = myfunc(x,y)
+print(z)	|	   returnValue = x^y; % ^ is exponentiation operator
+# prints 8 for this input	|	
+	|	   % function is a keyword
+	|	   % returnValue is arbitrary variable name
+	|	     
+# matrix multiplication	|	  
+	|	  
+import numpy as np	|	  
+	|	A = [2,3; 3,5];
+A = np.matrix( ((2,3), (3, 5)) )	|	B = [1,2; 5,-1];
+B = np.matrix( ((1,2), (5, -1)) )	|	
+	|	C = A * B
+C = A * B	|	
+print(C) 	|	
+	|	
+# plotting	|	
+	|	
+import numpy as np	|	
+import matplotlib.pyplot as plt	|	
+x = np.linspace(0,2*np.pi,100)	|	x = linspace(0,2*pi,100);
+y = np.sin(x)	|	y = sin(x);
+plt.plot(x,y)	|	plot(x,y)
+plt.ylabel('sin(x)')	|	ylabel('sin(x)')
+plt.xlabel('x')	|	xlabel('x') 
+plt.show() 	|	
+