diff --git a/perceptron.py b/perceptron.py
new file mode 100644
index 0000000000000000000000000000000000000000..16c2db3d5c47dbe6d5567af3909c8b12f44f96e4
--- /dev/null
+++ b/perceptron.py
@@ -0,0 +1,15 @@
+import numpy as np
+import pandas as pd
+
+if __name__ == '__main__':
+    dataset = pd.read_csv("Data/student-data-train.csv", header=0)
+    X = dataset.iloc[:, 1:].values
+    dataset['norm_grade_1'] = (dataset["grade_1"] - dataset["grade_1"].mean()) / dataset["grade_1"].std()
+    dataset['norm_grade_2'] = (dataset["grade_2"] - dataset["grade_2"].mean()) / dataset["grade_2"].std()
+    n = 1e-4  # taux d'apprentissage
+    max_iterations = 2000
+    # Init aléatoirement les poids w(i), 0<=i<=n
+    # répeter jusqua convergence :
+    # pour chaque exemple
+    # calculer la valeur de sortie o du réseau
+    # ajuster les poids :