diff --git a/README b/README
new file mode 100644
index 0000000000000000000000000000000000000000..43712664d74efc3e0274733c45bc790c80b1e778
--- /dev/null
+++ b/README
@@ -0,0 +1,28 @@
+# COMP2212 Coursework
+
+An interpreter, written in Haskell, for a new programming language created by me and my group.
+The purpose of this language is to query information from CSV files.
+It is based on relational algebra.
+
+# Example programs and results
+
+The directory 'solutions' contains ten different sample programs written in the language.
+The directory 'testCases' contains, for every program, a subdirectory containing some sample input CSV files and the expected results for those CSV files for that particular program.
+For example, for the script 'solutions/pr1.cql, when the interpreter is invoked on said file with the working directory being 'testCases/pr1/inputs/input1', the results will be the same as 'testCases/pr1/expected/exp1.txt'.
+
+# Compiling
+
+* Dependencies: Alex, Happy
+* Simply run command `make`
+
+# Running
+
+`./csvql script_name.cql`
+
+The input CSV files should be in the working directory that the command is issued.
+
+# Authors
+
+* Maram A-Y
+* Patryk M (me)
+* Jeffrey S