From ab5be3106cdc4b5dc30ee68dfa953c397c0be855 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B8rn=20Sand=20Jensen?= <bjje@dtu.dk>
Date: Thu, 30 Jan 2025 19:58:03 +0100
Subject: [PATCH] Updated structure of lecture plan and file names (needs to be
 double checked)

---
 .../02450Toolbox_Python/Scripts/ex0_4_2.py    | 44 +++++++++++++++++++
 .../02450Toolbox_Python/Scripts/ex0_4_3.py    |  6 ++-
 .../02450Toolbox_Python/Scripts/ex1_5_1.py    |  1 +
 .../02450Toolbox_Python/Scripts/ex1_6_2.py    |  2 +-
 .../02450Toolbox_Python/Scripts/ex1_6_3.py    |  4 +-
 .../02450Toolbox_Python/Scripts/ex1_6_4.py    |  4 +-
 .../02450Toolbox_Python/Scripts/ex1_6_5.py    |  4 +-
 .../02450Toolbox_Python/Scripts/ex2_1_1.py    |  4 +-
 .../02450Toolbox_Python/Scripts/ex2_2_1.py    |  2 +-
 .../02450Toolbox_Python/Scripts/ex2_2_2.py    |  2 +-
 .../02450Toolbox_Python/Scripts/ex2_3_1.py    |  4 +-
 .../02450Toolbox_Python/Scripts/ex2_3_2.py    |  8 ++--
 .../02450Toolbox_Python/Scripts/ex2_3_3.py    |  7 ++-
 .../02450Toolbox_Python/Scripts/ex2_3_4.py    |  4 +-
 .../02450Toolbox_Python/Scripts/ex2_3_5.py    | 10 ++---
 .../02450Toolbox_Python/Scripts/ex2_3_6.py    |  6 +--
 .../02450Toolbox_Python/Scripts/ex2_3_7.py    |  6 +--
 .../02450Toolbox_Python/Scripts/ex2_4_1.py    |  4 +-
 .../02450Toolbox_Python/Scripts/ex2_4_2.py    |  4 +-
 .../02450Toolbox_Python/Scripts/ex3_1_1.py    |  4 +-
 .../02450Toolbox_Python/Scripts/ex3_1_2.py    | 13 +++---
 .../02450Toolbox_Python/Scripts/ex3_1_3.py    |  6 +--
 .../02450Toolbox_Python/Scripts/ex3_1_4.py    |  4 +-
 .../02450Toolbox_Python/Scripts/ex3_1_5.py    |  2 +-
 .../02450Toolbox_Python/Scripts/ex3_1_6.py    |  4 +-
 .../02450Toolbox_Python/Scripts/ex3_2_1.py    |  3 +-
 .../02450Toolbox_Python/Scripts/ex3_2_2.py    |  4 +-
 .../02450Toolbox_Python/Scripts/ex3_3_1.py    |  4 +-
 .../02450Toolbox_Python/Scripts/ex4_1_1.py    |  2 +-
 .../02450Toolbox_Python/Scripts/ex4_1_2.py    |  1 -
 .../02450Toolbox_Python/Scripts/ex4_1_3.py    |  1 -
 .../02450Toolbox_Python/Scripts/ex4_1_5.py    |  2 +-
 .../02450Toolbox_Python/Scripts/ex4_1_6.py    |  1 -
 .../02450Toolbox_Python/Scripts/ex4_1_7.py    |  1 -
 exercises/02450Toolbox_R/Scripts/ex1_6_2.R    |  2 +-
 exercises/02450Toolbox_R/Scripts/ex1_6_3.R    |  2 +-
 exercises/02450Toolbox_R/Scripts/ex1_6_4.R    |  2 +-
 exercises/02450Toolbox_R/Scripts/ex1_6_5.R    |  2 +-
 exercises/02450Toolbox_R/Scripts/ex2_1_1.R    |  2 +-
 exercises/02450Toolbox_R/Scripts/ex2_2_1.R    |  2 +-
 exercises/02450Toolbox_R/Scripts/ex2_2_2.R    |  2 +-
 exercises/02450Toolbox_R/Scripts/ex2_3_1.R    |  2 +-
 exercises/02450Toolbox_R/Scripts/ex2_3_2.R    |  2 +-
 exercises/02450Toolbox_R/Scripts/ex2_3_3.R    |  2 +-
 exercises/02450Toolbox_R/Scripts/ex2_3_4.R    |  2 +-
 exercises/02450Toolbox_R/Scripts/ex2_3_5.R    |  2 +-
 exercises/02450Toolbox_R/Scripts/ex2_3_6.R    |  2 +-
 exercises/02450Toolbox_R/Scripts/ex2_3_7.R    |  2 +-
 exercises/02450Toolbox_R/Scripts/ex2_4_1.R    |  2 +-
 exercises/02450Toolbox_R/Scripts/ex2_4_2.R    |  2 +-
 exercises/02450Toolbox_R/Scripts/ex3_1_1.R    |  2 +-
 exercises/02450Toolbox_R/Scripts/ex3_1_2.R    |  2 +-
 exercises/02450Toolbox_R/Scripts/ex3_1_3.R    |  2 +-
 exercises/02450Toolbox_R/Scripts/ex3_1_4.R    |  4 +-
 exercises/02450Toolbox_R/Scripts/ex3_1_5.R    |  2 +-
 exercises/02450Toolbox_R/Scripts/ex3_1_6.R    |  2 +-
 exercises/02450Toolbox_R/Scripts/ex3_2_1.R    |  2 +-
 exercises/02450Toolbox_R/Scripts/ex3_2_2.R    |  2 +-
 exercises/02450Toolbox_R/Scripts/ex3_3_1.R    |  2 +-
 59 files changed, 132 insertions(+), 98 deletions(-)
 create mode 100644 exercises/02450Toolbox_Python/Scripts/ex0_4_2.py

diff --git a/exercises/02450Toolbox_Python/Scripts/ex0_4_2.py b/exercises/02450Toolbox_Python/Scripts/ex0_4_2.py
new file mode 100644
index 0000000..38b97db
--- /dev/null
+++ b/exercises/02450Toolbox_Python/Scripts/ex0_4_2.py
@@ -0,0 +1,44 @@
+# Exercise 0.4.2 - using the VScode editor (ignore if you are not )
+#
+
+## Option I
+# Standard python code will look like the 4 lines below
+# and this is the way all scripts are 
+# displayed/implemented in this course
+#
+# To run it you need to press the run symbol or F5 or Ctrl+F5
+#
+a = 1
+print(a)
+b = a + 1
+print(b)
+
+#%%[markdown] 
+# ## Option II
+# If you prefer, you can get an 
+# interactive experience in VScode if 
+# you use the #%% tag, e.g.
+
+#%%[markdown]  
+# This is a cell you can run without running the rest of the code
+# and get some pretty formatted output. 
+c = 2
+print(c)
+
+#%%[markdown] 
+# This is an other cell
+# In the interactive mode you can even use markdown and include equations in teh output
+# $$ b = c + \frac{1}{2} $$
+#
+# Note here the cell depends on the value of a variable from an other cell
+# whcih must be run before this cell.
+#
+b = c + 1/2
+print(b)
+
+
+#%%[markdown]
+# If you want this behavior you simply add the #%% or #%%[markdown] to the provided
+# scripts in for you useful places.
+#
+# %%
diff --git a/exercises/02450Toolbox_Python/Scripts/ex0_4_3.py b/exercises/02450Toolbox_Python/Scripts/ex0_4_3.py
index 7e13f89..e91b2a9 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex0_4_3.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex0_4_3.py
@@ -7,8 +7,8 @@
 # now we can write 'np.sum(X)' instead of 'numpy.sum(X)'.
 import numpy as np
 
-# Remember you can mark a part of the code and press
-# F9 to run that part alone.
+# Remember you can use the #%% tag to define a cell
+# and run this cell alone in interactive model, if you want. 
 
 # define variable a with numbers in the range from 0 to 7 (not inclusive)
 a = np.arange(start=0, stop=7)
@@ -22,3 +22,5 @@ c = np.arange(100, 95, -1)
 d = np.arange(1.2, 1.9, 0.1)
 
 e = np.pi * np.arange(0, 2.5, 0.5)
+
+
diff --git a/exercises/02450Toolbox_Python/Scripts/ex1_5_1.py b/exercises/02450Toolbox_Python/Scripts/ex1_5_1.py
index 41c5373..331faf5 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex1_5_1.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex1_5_1.py
@@ -11,6 +11,7 @@ filename = importlib_resources.files("dtuimldmtools").joinpath("data/iris.csv")
 print("\nLocation of the iris.csv file: {}".format(filename))
 
 # Load the iris.csv file using pandas
+# Note you do not need to undersatnd the details of the panda package
 df = pd.read_csv(filename)
 
 # Pandas returns a dataframe, (df) which could be used for handling the data.
diff --git a/exercises/02450Toolbox_Python/Scripts/ex1_6_2.py b/exercises/02450Toolbox_Python/Scripts/ex1_6_2.py
index 60a39cf..53697ff 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex1_6_2.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex1_6_2.py
@@ -1,4 +1,4 @@
-# exercise 3.1.4
+# exercise 1.6.2
 import importlib_resources
 import numpy as np
 from sklearn.feature_extraction.text import CountVectorizer
diff --git a/exercises/02450Toolbox_Python/Scripts/ex1_6_3.py b/exercises/02450Toolbox_Python/Scripts/ex1_6_3.py
index c3ac96c..c61d0a0 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex1_6_3.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex1_6_3.py
@@ -1,4 +1,4 @@
-# exercise 3.1.4
+# exercise 1.6.3
 import importlib_resources
 from sklearn.feature_extraction.text import CountVectorizer
 
@@ -37,4 +37,4 @@ print()
 print("Document-term matrix:")
 print(X.toarray())
 print()
-print("Ran Exercise 3.1.3")
+print("Ran Exercise 1.6.3")
diff --git a/exercises/02450Toolbox_Python/Scripts/ex1_6_4.py b/exercises/02450Toolbox_Python/Scripts/ex1_6_4.py
index e33ee98..4c8602b 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex1_6_4.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex1_6_4.py
@@ -1,4 +1,4 @@
-# exercise 3.1.4
+# exercise 1.6.4
 import importlib_resources
 
 # We'll use a widely used stemmer based:
@@ -62,5 +62,5 @@ print()
 print("Document-term matrix:")
 print(X)
 print()
-print("Ran Exercise 3.1.4")
+print("Ran Exercise 1.6.4")
 print()
diff --git a/exercises/02450Toolbox_Python/Scripts/ex1_6_5.py b/exercises/02450Toolbox_Python/Scripts/ex1_6_5.py
index eb3b3b3..857b49a 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex1_6_5.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex1_6_5.py
@@ -1,4 +1,4 @@
-# exercise 3.1.5
+# exercise 1.6.5
 import numpy as np
 import scipy.linalg as linalg
 from ex1_6_4 import *
@@ -35,4 +35,4 @@ sim = similarity(X, q, "cos")
 print("Query vector:\n {0}\n".format(q))
 print("Similarity results:\n {0}".format(sim))
 
-print("Ran Exercise 3.1.5")
+print("Ran Exercise 1.6.5")
diff --git a/exercises/02450Toolbox_Python/Scripts/ex2_1_1.py b/exercises/02450Toolbox_Python/Scripts/ex2_1_1.py
index dbc1dc0..2a35baa 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex2_1_1.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex2_1_1.py
@@ -1,4 +1,4 @@
-# exercise 3.2.1
+# exercise 2.1.1
 import numpy as np
 
 x = np.array([-0.68, -2.11, 2.39, 0.26, 1.46, 1.33, 1.03, -0.41, -0.33, 0.47])
@@ -16,4 +16,4 @@ print("Standard Deviation:", std_x)
 print("Median:", median_x)
 print("Range:", range_x)
 
-print("Ran Exercise 3.2.1")
+print("Ran Exercise 2.1.1")
diff --git a/exercises/02450Toolbox_Python/Scripts/ex2_2_1.py b/exercises/02450Toolbox_Python/Scripts/ex2_2_1.py
index f5cfc46..2958613 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex2_2_1.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex2_2_1.py
@@ -74,4 +74,4 @@ for ms in range(5):
     
 plt.show()
 
-print('Ran Exercise 3.3.1')
+print('Ran Exercise 2.2.1')
diff --git a/exercises/02450Toolbox_Python/Scripts/ex2_2_2.py b/exercises/02450Toolbox_Python/Scripts/ex2_2_2.py
index e7abec8..6d1590f 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex2_2_2.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex2_2_2.py
@@ -39,4 +39,4 @@ print(
     % (similarity(x, y, "cor") - similarity(b + x, y, "cor"))[0, 0]
 )
 
-print("Ran Exercise 3.2.2")
+print("Ran Exercise 2.2.2")
diff --git a/exercises/02450Toolbox_Python/Scripts/ex2_3_1.py b/exercises/02450Toolbox_Python/Scripts/ex2_3_1.py
index e6b46e8..7a3afe6 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex2_3_1.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex2_3_1.py
@@ -1,4 +1,4 @@
-# exercise 4.2.1
+# exercise 2.3.1
 
 import importlib_resources
 import numpy as np
@@ -30,4 +30,4 @@ N = len(y)
 M = len(attributeNames)
 C = len(classNames)
 
-print("Ran Exercise 4.2.1")
+print("Ran Exercise 2.3.1")
diff --git a/exercises/02450Toolbox_Python/Scripts/ex2_3_2.py b/exercises/02450Toolbox_Python/Scripts/ex2_3_2.py
index 4066902..0136f79 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex2_3_2.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex2_3_2.py
@@ -1,8 +1,6 @@
-# Exercise 4.2.2
-
+# Exercise 2.3.2
 import numpy as np
-
-# requires data from exercise 4.2.1
+# (requires data from exercise 2.3.1 so will run that script first)
 from ex2_3_1 import *
 from matplotlib.pyplot import figure, hist, show, subplot, xlabel, ylim
 
@@ -17,4 +15,4 @@ for i in range(M):
 
 show()
 
-print("Ran Exercise 4.2.2")
+print("Ran Exercise 2.3.2")
diff --git a/exercises/02450Toolbox_Python/Scripts/ex2_3_3.py b/exercises/02450Toolbox_Python/Scripts/ex2_3_3.py
index d19cace..437b1bf 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex2_3_3.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex2_3_3.py
@@ -1,6 +1,5 @@
-# Exercise 4.2.3
-
-# requires data from exercise 4.2.1
+# Exercise 2.3.3
+# (requires data from exercise 2.3.1)
 from ex2_3_1 import *
 from matplotlib.pyplot import boxplot, show, title, xticks, ylabel
 
@@ -10,4 +9,4 @@ ylabel("cm")
 title("Fisher's Iris data set - boxplot")
 show()
 
-print("Ran Exercise 4.2.3")
+print("Ran Exercise 2.3.3")
diff --git a/exercises/02450Toolbox_Python/Scripts/ex2_3_4.py b/exercises/02450Toolbox_Python/Scripts/ex2_3_4.py
index d45db38..5a33d4d 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex2_3_4.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex2_3_4.py
@@ -1,4 +1,4 @@
-# Exercise 4.2.4
+# Exercise 2.3.4
 # requires data from exercise 4.1.1
 from ex2_3_1 import *
 from matplotlib.pyplot import boxplot, figure, show, subplot, title, xticks, ylim
@@ -21,4 +21,4 @@ for c in range(C):
 
 show()
 
-print("Ran Exercise 4.2.4")
+print("Ran Exercise 2.3.4")
diff --git a/exercises/02450Toolbox_Python/Scripts/ex2_3_5.py b/exercises/02450Toolbox_Python/Scripts/ex2_3_5.py
index eaac941..e2b9836 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex2_3_5.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex2_3_5.py
@@ -1,6 +1,5 @@
-# Exercise 4.2.5
-
-# requires data from exercise 4.2.1
+# Exercise 2.3.5
+# (requires data from exercise 2.3.1)
 from ex2_3_1 import *
 from matplotlib.pyplot import (
     figure,
@@ -29,10 +28,9 @@ for m1 in range(M):
                 ylabel(attributeNames[m1])
             else:
                 yticks([])
-            # ylim(0,X.max()*1.1)
-            # xlim(0,X.max()*1.1)
+                            
 legend(classNames)
 
 show()
 
-print("Ran Exercise 4.2.5")
+print("Ran Exercise 2.3.5")
diff --git a/exercises/02450Toolbox_Python/Scripts/ex2_3_6.py b/exercises/02450Toolbox_Python/Scripts/ex2_3_6.py
index f881cc8..5684aa7 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex2_3_6.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex2_3_6.py
@@ -1,6 +1,6 @@
-# Exercise 4.2.6
+# Exercise 2.3.6
 
-# requires data from exercise 4.1.1
+# requires data from exercise 2.3.1
 from ex2_3_1 import *
 from matplotlib.pyplot import figure, show
 from mpl_toolkits.mplot3d import Axes3D
@@ -24,4 +24,4 @@ ax.set_zlabel(attributeNames[ind[2]])
 
 show()
 
-print("Ran Exercise 4.2.6")
+print("Ran Exercise 2.3.6")
diff --git a/exercises/02450Toolbox_Python/Scripts/ex2_3_7.py b/exercises/02450Toolbox_Python/Scripts/ex2_3_7.py
index 08c9dbf..587367d 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex2_3_7.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex2_3_7.py
@@ -1,6 +1,6 @@
-# Exercise 4.2.7
+# Exercise 2.3.7
 
-# requires data from exercise 4.2.1
+# requires data from exercise 2.3.7
 from ex2_3_1 import *
 from matplotlib.pyplot import (
     cm,
@@ -27,4 +27,4 @@ colorbar()
 
 show()
 
-print("Ran Exercise 4.2.7")
+print("Ran Exercise 2.3.7")
diff --git a/exercises/02450Toolbox_Python/Scripts/ex2_4_1.py b/exercises/02450Toolbox_Python/Scripts/ex2_4_1.py
index 646d4d5..3bbc0bd 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex2_4_1.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex2_4_1.py
@@ -1,4 +1,4 @@
-# exercise 4.3.1
+# exercise 2.4.1
 
 import importlib_resources
 import numpy as np
@@ -116,4 +116,4 @@ for i in range(M):
 
 show()
 
-print("Ran Exercise 4.3.1")
+print("Ran Exercise 2.4.1")
diff --git a/exercises/02450Toolbox_Python/Scripts/ex2_4_2.py b/exercises/02450Toolbox_Python/Scripts/ex2_4_2.py
index 5667029..3c362f0 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex2_4_2.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex2_4_2.py
@@ -1,4 +1,4 @@
-# exercise 4.3.2
+# exercise 2.4.2
 
 import importlib_resources
 import numpy as np
@@ -69,4 +69,4 @@ for m1 in range(NumAtr):
 legend(classNames)
 show()
 
-print("Ran Exercise 4.3.2")
+print("Ran Exercise 2.4.2")
diff --git a/exercises/02450Toolbox_Python/Scripts/ex3_1_1.py b/exercises/02450Toolbox_Python/Scripts/ex3_1_1.py
index b210d13..b2da3d6 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex3_1_1.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex3_1_1.py
@@ -1,4 +1,4 @@
-# exercise 2.1.1
+# exercise 3.1.1
 import importlib_resources
 import numpy as np
 import xlrd
@@ -29,4 +29,4 @@ N = len(y)
 M = len(attributeNames)
 C = len(classNames)
 
-print("Ran Exercise 2.1.1")
+print("Ran Exercise 3.1.1")
diff --git a/exercises/02450Toolbox_Python/Scripts/ex3_1_2.py b/exercises/02450Toolbox_Python/Scripts/ex3_1_2.py
index 6af386a..98d81d3 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex3_1_2.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex3_1_2.py
@@ -1,12 +1,9 @@
-# exercise 2.1.2
-
-# Imports the numpy and xlrd package, then runs the ex2_1_1 code
+# exercise 3.1.2
+# (requires data structures from ex. 3.1.1)
+# Imports the numpy and xlrd package, then runs the ex3_1_1 code
 from ex3_1_1 import *
 from matplotlib.pyplot import figure, legend, plot, show, title, xlabel, ylabel
 
-# (requires data structures from ex. 2.1.1)
-
-
 # Data attributes to be plotted
 i = 0
 j = 1
@@ -17,7 +14,7 @@ j = 1
 # X = np.array(X) #Try to uncomment this line
 plot(X[:, i], X[:, j], "o")
 
-# %%
+##
 # Make another more fancy plot that includes legend, class labels,
 # attribute names, and a title.
 f = figure()
@@ -34,4 +31,4 @@ ylabel(attributeNames[j])
 
 # Output result to screen
 show()
-print("Ran Exercise 2.1.2")
+print("Ran Exercise 3.1.2")
diff --git a/exercises/02450Toolbox_Python/Scripts/ex3_1_3.py b/exercises/02450Toolbox_Python/Scripts/ex3_1_3.py
index 75b9c6b..947bd45 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex3_1_3.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex3_1_3.py
@@ -1,5 +1,5 @@
-# exercise 2.1.3
-# (requires data structures from ex. 2.2.1)
+# exercise 3.1.3
+# (requires data structures from ex. 3.1.1)
 import matplotlib.pyplot as plt
 from ex3_1_1 import *
 from scipy.linalg import svd
@@ -27,4 +27,4 @@ plt.legend(["Individual", "Cumulative", "Threshold"])
 plt.grid()
 plt.show()
 
-print("Ran Exercise 2.1.3")
+print("Ran Exercise 3.1.3")
diff --git a/exercises/02450Toolbox_Python/Scripts/ex3_1_4.py b/exercises/02450Toolbox_Python/Scripts/ex3_1_4.py
index 87f40a7..11fc4ab 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex3_1_4.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex3_1_4.py
@@ -1,4 +1,4 @@
-# exercise 2.1.4
+# exercise 3.1.4
 # (requires data structures from ex. 2.2.1 and 2.2.3)
 from ex3_1_1 import *
 from matplotlib.pyplot import figure, legend, plot, show, title, xlabel, ylabel
@@ -35,4 +35,4 @@ ylabel("PC{0}".format(j + 1))
 # Output result to screen
 show()
 
-print("Ran Exercise 2.1.4")
+print("Ran Exercise 3.1.4")
diff --git a/exercises/02450Toolbox_Python/Scripts/ex3_1_5.py b/exercises/02450Toolbox_Python/Scripts/ex3_1_5.py
index b17766d..395b113 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex3_1_5.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex3_1_5.py
@@ -1,4 +1,4 @@
-# exercise 2.2.4
+# exercise 3.1.5
 
 # (requires data structures from ex. 2.2.1)
 import matplotlib.pyplot as plt
diff --git a/exercises/02450Toolbox_Python/Scripts/ex3_1_6.py b/exercises/02450Toolbox_Python/Scripts/ex3_1_6.py
index 25cf520..3045c79 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex3_1_6.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex3_1_6.py
@@ -1,4 +1,4 @@
-## exercise 2.1.6
+## exercise 3.1.6
 import matplotlib.pyplot as plt
 from ex3_1_1 import *
 from scipy.linalg import svd
@@ -12,7 +12,7 @@ plt.title("NanoNose: attribute standard deviations")
 
 ## Investigate how standardization affects PCA
 
-# Try this *later* (for last), and explain the effect
+# Try this *later*, and explain the effect
 # X_s = X.copy() # Make a to be "scaled" version of X
 # X_s[:, 2] = 100*X_s[:, 2] # Scale/multiply attribute C with a factor 100
 # Use X_s instead of X to in the script below to see the difference.
diff --git a/exercises/02450Toolbox_Python/Scripts/ex3_2_1.py b/exercises/02450Toolbox_Python/Scripts/ex3_2_1.py
index 798bb5b..88cd3cc 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex3_2_1.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex3_2_1.py
@@ -1,3 +1,4 @@
+## exercise 3.2.1
 import importlib_resources
 import numpy as np
 from matplotlib.pyplot import cm, figure, imshow, show, subplot, title, xlabel, yticks
@@ -33,4 +34,4 @@ title("Digit as an image")
 
 show()
 
-print("Ran Exercise 2.2.1")
+
diff --git a/exercises/02450Toolbox_Python/Scripts/ex3_2_2.py b/exercises/02450Toolbox_Python/Scripts/ex3_2_2.py
index 3d6104b..e0b1f08 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex3_2_2.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex3_2_2.py
@@ -1,4 +1,4 @@
-# exercise 2.2.2
+# exercise 3.2.2
 import importlib_resources
 import numpy as np
 import scipy.linalg as linalg
@@ -114,4 +114,4 @@ for k in range(K):
 # output to screen
 show()
 
-print("Ran Exercise 2.2.2")
+
diff --git a/exercises/02450Toolbox_Python/Scripts/ex3_3_1.py b/exercises/02450Toolbox_Python/Scripts/ex3_3_1.py
index 9f665b5..a3104d8 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex3_3_1.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex3_3_1.py
@@ -1,4 +1,4 @@
-# exercise 2.3.1
+# exercise 3.3.1
 
 import importlib_resources
 import numpy as np
@@ -54,5 +54,3 @@ plot(K, error_rates, "o-")
 xlabel("Number of principal components K")
 ylabel("Error rate [%]")
 show()
-
-print("Ran Exercise 2.3.1")
diff --git a/exercises/02450Toolbox_Python/Scripts/ex4_1_1.py b/exercises/02450Toolbox_Python/Scripts/ex4_1_1.py
index e3a77eb..f52139d 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex4_1_1.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex4_1_1.py
@@ -29,4 +29,4 @@ subplot(1, 3, 3)
 hist(X, bins=nbins)
 show()
 
-print("Ran Exercise 4.1.1")
+
diff --git a/exercises/02450Toolbox_Python/Scripts/ex4_1_2.py b/exercises/02450Toolbox_Python/Scripts/ex4_1_2.py
index f2fc64f..df357b3 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex4_1_2.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex4_1_2.py
@@ -39,4 +39,3 @@ print("Empirical std.dev.: ", s_)
 
 show()
 
-print("Ran Exercise 4.1.2")
diff --git a/exercises/02450Toolbox_Python/Scripts/ex4_1_3.py b/exercises/02450Toolbox_Python/Scripts/ex4_1_3.py
index 04eda67..2d45b01 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex4_1_3.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex4_1_3.py
@@ -42,4 +42,3 @@ print("Empirical std.dev.: ", s_)
 
 show()
 
-print("Ran Exercise 4.1.3")
diff --git a/exercises/02450Toolbox_Python/Scripts/ex4_1_5.py b/exercises/02450Toolbox_Python/Scripts/ex4_1_5.py
index 90bfd4b..09bbc68 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex4_1_5.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex4_1_5.py
@@ -65,4 +65,4 @@ title("2D histogram")
 
 show()
 
-print("Ran Exercise 4.1.5")
+
diff --git a/exercises/02450Toolbox_Python/Scripts/ex4_1_6.py b/exercises/02450Toolbox_Python/Scripts/ex4_1_6.py
index e74e856..e20bf0f 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex4_1_6.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex4_1_6.py
@@ -47,4 +47,3 @@ yticks([])
 
 show()
 
-print("Ran Exercise 4.1.6")
diff --git a/exercises/02450Toolbox_Python/Scripts/ex4_1_7.py b/exercises/02450Toolbox_Python/Scripts/ex4_1_7.py
index c6ded61..4a1ef5f 100644
--- a/exercises/02450Toolbox_Python/Scripts/ex4_1_7.py
+++ b/exercises/02450Toolbox_Python/Scripts/ex4_1_7.py
@@ -70,4 +70,3 @@ for k in range(ngen):
 
 show()
 
-print("Ran Exercise 4.1.7")
diff --git a/exercises/02450Toolbox_R/Scripts/ex1_6_2.R b/exercises/02450Toolbox_R/Scripts/ex1_6_2.R
index d3a6872..c8bd8d3 100644
--- a/exercises/02450Toolbox_R/Scripts/ex1_6_2.R
+++ b/exercises/02450Toolbox_R/Scripts/ex1_6_2.R
@@ -1,5 +1,5 @@
 ####################
-# Exercise 3.1.2
+# Exercise 1.6.2
 ####################
 
 rm(list = ls()) # Clear work space
diff --git a/exercises/02450Toolbox_R/Scripts/ex1_6_3.R b/exercises/02450Toolbox_R/Scripts/ex1_6_3.R
index 4180e92..a4b1d47 100644
--- a/exercises/02450Toolbox_R/Scripts/ex1_6_3.R
+++ b/exercises/02450Toolbox_R/Scripts/ex1_6_3.R
@@ -1,5 +1,5 @@
 ####################
-# Exercise 3.1.3
+# Exercise 16.3
 ####################
 
 rm(list = ls()) # Clear work space
diff --git a/exercises/02450Toolbox_R/Scripts/ex1_6_4.R b/exercises/02450Toolbox_R/Scripts/ex1_6_4.R
index 5ad1d63..ef90761 100644
--- a/exercises/02450Toolbox_R/Scripts/ex1_6_4.R
+++ b/exercises/02450Toolbox_R/Scripts/ex1_6_4.R
@@ -1,5 +1,5 @@
 ####################
-# Exercise 3.1.4
+# Exercise 1.6.4
 ####################
 
 rm(list = ls()) # Clear work space
diff --git a/exercises/02450Toolbox_R/Scripts/ex1_6_5.R b/exercises/02450Toolbox_R/Scripts/ex1_6_5.R
index a9c4b7d..fecf407 100644
--- a/exercises/02450Toolbox_R/Scripts/ex1_6_5.R
+++ b/exercises/02450Toolbox_R/Scripts/ex1_6_5.R
@@ -1,5 +1,5 @@
 ####################
-# Exercise 3.1.5
+# Exercise 1.6.5
 ####################
 
 source("Scripts/ex1_6_4.R")
diff --git a/exercises/02450Toolbox_R/Scripts/ex2_1_1.R b/exercises/02450Toolbox_R/Scripts/ex2_1_1.R
index 725f756..2d7d725 100644
--- a/exercises/02450Toolbox_R/Scripts/ex2_1_1.R
+++ b/exercises/02450Toolbox_R/Scripts/ex2_1_1.R
@@ -1,5 +1,5 @@
 ####################
-# Exercise 3.2.1
+# Exercise 2.1.1
 ####################
 
 rm(list = ls()) # Clear work space
diff --git a/exercises/02450Toolbox_R/Scripts/ex2_2_1.R b/exercises/02450Toolbox_R/Scripts/ex2_2_1.R
index 91eccf7..5383d34 100644
--- a/exercises/02450Toolbox_R/Scripts/ex2_2_1.R
+++ b/exercises/02450Toolbox_R/Scripts/ex2_2_1.R
@@ -1,5 +1,5 @@
 ####################
-# Exercise 3.3.1
+# Exercise 2.2.1
 ####################
 rm(list = ls()) # Clear work space)
 
diff --git a/exercises/02450Toolbox_R/Scripts/ex2_2_2.R b/exercises/02450Toolbox_R/Scripts/ex2_2_2.R
index 3cdc43e..f34e77b 100644
--- a/exercises/02450Toolbox_R/Scripts/ex2_2_2.R
+++ b/exercises/02450Toolbox_R/Scripts/ex2_2_2.R
@@ -1,5 +1,5 @@
 ####################
-# Exercise 3.3.2
+# Exercise 2.2.2
 ####################
 source("Tools/similarity.R")
 
diff --git a/exercises/02450Toolbox_R/Scripts/ex2_3_1.R b/exercises/02450Toolbox_R/Scripts/ex2_3_1.R
index 98f0330..fd784ba 100644
--- a/exercises/02450Toolbox_R/Scripts/ex2_3_1.R
+++ b/exercises/02450Toolbox_R/Scripts/ex2_3_1.R
@@ -1,5 +1,5 @@
 ####################
-# Exercise 4.2.1
+# Exercise 2.3.1
 ####################
 rm(list = ls()) # Clear work space
 
diff --git a/exercises/02450Toolbox_R/Scripts/ex2_3_2.R b/exercises/02450Toolbox_R/Scripts/ex2_3_2.R
index f9558da..c43d282 100644
--- a/exercises/02450Toolbox_R/Scripts/ex2_3_2.R
+++ b/exercises/02450Toolbox_R/Scripts/ex2_3_2.R
@@ -1,5 +1,5 @@
 ####################
-# Exercise 4.2.2
+# Exercise 2.3.2
 ####################
 
 source("Scripts/ex2_3_1.R")
diff --git a/exercises/02450Toolbox_R/Scripts/ex2_3_3.R b/exercises/02450Toolbox_R/Scripts/ex2_3_3.R
index cceef6d..2b36846 100644
--- a/exercises/02450Toolbox_R/Scripts/ex2_3_3.R
+++ b/exercises/02450Toolbox_R/Scripts/ex2_3_3.R
@@ -1,5 +1,5 @@
 ####################
-# Exercise 4.2.3
+# Exercise 2.3.3
 ####################
 
 source("Scripts/ex2_3_1.R")
diff --git a/exercises/02450Toolbox_R/Scripts/ex2_3_4.R b/exercises/02450Toolbox_R/Scripts/ex2_3_4.R
index dd45ae4..aae81a8 100644
--- a/exercises/02450Toolbox_R/Scripts/ex2_3_4.R
+++ b/exercises/02450Toolbox_R/Scripts/ex2_3_4.R
@@ -1,5 +1,5 @@
 ####################
-# Exercise 4.2.4
+# Exercise 2.3.4
 ####################
 source("Scripts/ex2_3_1.R")
 
diff --git a/exercises/02450Toolbox_R/Scripts/ex2_3_5.R b/exercises/02450Toolbox_R/Scripts/ex2_3_5.R
index 7007484..c8527b8 100644
--- a/exercises/02450Toolbox_R/Scripts/ex2_3_5.R
+++ b/exercises/02450Toolbox_R/Scripts/ex2_3_5.R
@@ -1,5 +1,5 @@
 ####################
-# Exercise 4.2.5
+# Exercise 2.3.5
 ####################
 source("Scripts/ex2_3_1.R")
 
diff --git a/exercises/02450Toolbox_R/Scripts/ex2_3_6.R b/exercises/02450Toolbox_R/Scripts/ex2_3_6.R
index 15a729e..55d8673 100644
--- a/exercises/02450Toolbox_R/Scripts/ex2_3_6.R
+++ b/exercises/02450Toolbox_R/Scripts/ex2_3_6.R
@@ -1,5 +1,5 @@
 ####################
-# Exercise 4.2.6
+# Exercise 2.3.6
 ####################
 source("Scripts/ex2_3_1.R")
 
diff --git a/exercises/02450Toolbox_R/Scripts/ex2_3_7.R b/exercises/02450Toolbox_R/Scripts/ex2_3_7.R
index f228241..f0026c2 100644
--- a/exercises/02450Toolbox_R/Scripts/ex2_3_7.R
+++ b/exercises/02450Toolbox_R/Scripts/ex2_3_7.R
@@ -1,5 +1,5 @@
 ####################
-# Exercise 4.2.7
+# Exercise 2.3.7
 ####################
 source("Scripts/ex2_3_1.R")
 
diff --git a/exercises/02450Toolbox_R/Scripts/ex2_4_1.R b/exercises/02450Toolbox_R/Scripts/ex2_4_1.R
index 9360332..3642c8e 100644
--- a/exercises/02450Toolbox_R/Scripts/ex2_4_1.R
+++ b/exercises/02450Toolbox_R/Scripts/ex2_4_1.R
@@ -1,5 +1,5 @@
 ####################
-# Exercise 4.3.1
+# Exercise 2.4.1
 ####################
 rm(list = ls()) # Clear work space
 
diff --git a/exercises/02450Toolbox_R/Scripts/ex2_4_2.R b/exercises/02450Toolbox_R/Scripts/ex2_4_2.R
index cbec5c6..984acd5 100644
--- a/exercises/02450Toolbox_R/Scripts/ex2_4_2.R
+++ b/exercises/02450Toolbox_R/Scripts/ex2_4_2.R
@@ -1,5 +1,5 @@
 ####################
-# Exercise 4.3.2
+# Exercise 2.4.2
 ####################
 
 source("Scripts/ex2_4_1.R")
diff --git a/exercises/02450Toolbox_R/Scripts/ex3_1_1.R b/exercises/02450Toolbox_R/Scripts/ex3_1_1.R
index 7861e15..1b0b9d0 100644
--- a/exercises/02450Toolbox_R/Scripts/ex3_1_1.R
+++ b/exercises/02450Toolbox_R/Scripts/ex3_1_1.R
@@ -1,5 +1,5 @@
 ####################
-# Exercise 2.1.1
+# Exercise 3.1.1
 ####################
 
 rm(list = ls()) # Clear work space
diff --git a/exercises/02450Toolbox_R/Scripts/ex3_1_2.R b/exercises/02450Toolbox_R/Scripts/ex3_1_2.R
index d99b5eb..3656260 100644
--- a/exercises/02450Toolbox_R/Scripts/ex3_1_2.R
+++ b/exercises/02450Toolbox_R/Scripts/ex3_1_2.R
@@ -1,5 +1,5 @@
 ####################
-# Exercise 2.1.2
+# Exercise 3.1.2
 ####################
 
 # Run ex2.1.1:
diff --git a/exercises/02450Toolbox_R/Scripts/ex3_1_3.R b/exercises/02450Toolbox_R/Scripts/ex3_1_3.R
index b38a522..957a17b 100644
--- a/exercises/02450Toolbox_R/Scripts/ex3_1_3.R
+++ b/exercises/02450Toolbox_R/Scripts/ex3_1_3.R
@@ -1,5 +1,5 @@
 ####################
-# Exercise 2.1.3
+# Exercise 3.1.3
 ####################
 
 source("Scripts/ex3_1_1.R")
diff --git a/exercises/02450Toolbox_R/Scripts/ex3_1_4.R b/exercises/02450Toolbox_R/Scripts/ex3_1_4.R
index 3b43e47..08a0318 100644
--- a/exercises/02450Toolbox_R/Scripts/ex3_1_4.R
+++ b/exercises/02450Toolbox_R/Scripts/ex3_1_4.R
@@ -1,7 +1,7 @@
 ####################
-# Exercise 2.1.4
+# Exercise 3.1.4
 ####################
-source("Scripts/ex2_1_3.R")
+source("Scripts/ex3_1_3.R")
 
 # Manual projecting data onto principal component.
 Z <- s$u %*% diag(s$d)
diff --git a/exercises/02450Toolbox_R/Scripts/ex3_1_5.R b/exercises/02450Toolbox_R/Scripts/ex3_1_5.R
index bb02536..2a8c1fd 100644
--- a/exercises/02450Toolbox_R/Scripts/ex3_1_5.R
+++ b/exercises/02450Toolbox_R/Scripts/ex3_1_5.R
@@ -1,5 +1,5 @@
 ####################
-# Exercise 2.1.5
+# Exercise 3.1.5
 ####################
 source("Scripts/ex3_1_1.R")
 
diff --git a/exercises/02450Toolbox_R/Scripts/ex3_1_6.R b/exercises/02450Toolbox_R/Scripts/ex3_1_6.R
index 83faf47..e7afb2d 100644
--- a/exercises/02450Toolbox_R/Scripts/ex3_1_6.R
+++ b/exercises/02450Toolbox_R/Scripts/ex3_1_6.R
@@ -1,5 +1,5 @@
 ####################
-# Exercise 2.1.6
+# Exercise 3.1.6
 ####################
 source("Scripts/ex3_1_1.R")
 
diff --git a/exercises/02450Toolbox_R/Scripts/ex3_2_1.R b/exercises/02450Toolbox_R/Scripts/ex3_2_1.R
index ff04967..df7336c 100644
--- a/exercises/02450Toolbox_R/Scripts/ex3_2_1.R
+++ b/exercises/02450Toolbox_R/Scripts/ex3_2_1.R
@@ -1,5 +1,5 @@
 ####################
-# Exercise 2.2.1
+# Exercise 3.2.1
 ####################
 
 rm(list = ls()) # Clear work space
diff --git a/exercises/02450Toolbox_R/Scripts/ex3_2_2.R b/exercises/02450Toolbox_R/Scripts/ex3_2_2.R
index d1d81de..383a587 100644
--- a/exercises/02450Toolbox_R/Scripts/ex3_2_2.R
+++ b/exercises/02450Toolbox_R/Scripts/ex3_2_2.R
@@ -1,5 +1,5 @@
 ####################
-# Exercise 2.2.2
+# Exercise 3.2.2
 ####################
 source("Scripts/ex3_2_1.R")
 
diff --git a/exercises/02450Toolbox_R/Scripts/ex3_3_1.R b/exercises/02450Toolbox_R/Scripts/ex3_3_1.R
index 39726ea..da975fb 100644
--- a/exercises/02450Toolbox_R/Scripts/ex3_3_1.R
+++ b/exercises/02450Toolbox_R/Scripts/ex3_3_1.R
@@ -1,5 +1,5 @@
 ####################
-# Exercise 2.3.1
+# Exercise 3.3.1
 ####################
 
 rm(list = ls()) # Clear work space
-- 
GitLab