Screenshot of a Notion database
Academia Productivity

Organise your students with Notion!


Notion is a relatively new organisation tool which offers databases, kanban boards, wikis, calendars and much more. Plus: The the Personal Pro Plan is free for students and educators! So naturally, I had to try it out and am pretty intrigued. It is simple and easy to use. Of course it does not offer all the functionality of sophisticated databases, but it is therefore easier to get into it. You could even create a citation database, although I will rely on Zotero for that. As an example, I tried to organise my students with Notion and have to say, it is fun to play around.

What I need

So the idea here is to create a simple tool with which I can organise my students for each course every semester. The requirements are pretty simple. I want to have a student database with eMail address and student number. I also want to have a database for each course I give, in which I can connect the students and their course achievements. Also, where I work, students fail the class, when they miss two of them. So I also want to keep track of that as well as possible exams they have to take. For this example, I use names out of a name generator to keep the privacy of course.

How to set it up

The student list

To organise students with Notion, I want to create a new page by clicking on “Add a page” and call it “Uni Teaching“. When I click on my new page, I can add an icon and a title image. This is optional, but sets the mood for the different pages I have. When I select the page on the left menu, I can create another sub-page by clicking on the small “+” symbol right next to it. I will call this “Students“. Again, by clicking on the page, a window appears and I can add a small icon. In the options down below, I will choose “Table” to create a very simple database.

I can edit the sample database by clicking on the column names on top. The first column should be “Name“, the second the “Student Number” and the third the “eMail“. The third column can be added by clicking the small “+” symbol on top of the unused column. I can later add fields, but for now this will suffice. While the first field should remain the title (the first column is always the title or primary key), the second one should be a number and the third an eMail field. When I have entered the names, I am done with the student list for now.

The course list

By again clicking on my “Uni Teaching” page on the left menu and then on the small “+” icon, I can create yet another sub-page, which I will now call “WiSe 20/21: 3D documentation of material culture“. The WiSe indicates the current term and after that I can add the title. By clicking on the new sub-page and choosing “Table“, I can create another table. This time, the table will be more complex.

The first column, the title, should be a simple number, so I call it “No.“. The second column should be called “Name“, but instead of a text field, I will change that attribute to a Relation. Relations are basically links to other databases within Notion. When selected, you can choose your students database from the dropdown menu and click “Create relation“. When I now start entering data, I can number the first student “1” and then select a name from my previously created database! That is great! But far from done.

Extra fields

For every course I give, the students have to give a presentation and do an exercise. So I will create two more columns and call them “Presentation” and “Exercise“. As a field type, I will choose “Checkbox” this time. When students have done their work, I can simply check the box. Another criteria for them to pass the course is, that they need to not miss more than two classes. So I create three more columns as Checkboxes and call them “X 1st“, “X 2nd” and “X 3rd“.

To make it more complex, I will also add an exam, that the students need to pass with a certain grade. So create two more columns. The first should be called “Exam” and as a field type, select “Select“. The second column should be called “Exam Grade” and be a Number. So let’s say you have different exams for major and minor students. You can mark that down in the “Exam” column. The Select-field will remember previously entered values, so you can choose from a list later on. In the “Exam Grade” column, you can add a grade to these students that took an exam. To really make it interesting: Not all students need to take an exam to pass the class. Now let’s go into programming!

Formulas to organise students with Notion

I want to create a last column, which tells me automatically, if a student has passed the class. There are different ways to achieve that, depending on the students study programme:

  1. He or she just needs to do the Presentation and Exercise and cannot miss more than three classes
  2. He or she need to do the Presentation, Exercise and an Exam. The Exam needs to have a grade of at least 4.0.

Also no more than three classes can be missed for both of them.

Formulas are Notions way of coding, although it has very limited options. On the other hand it is pretty easy to use. When editing the formula, Notion gives some help to choose some properties and with the syntax. So this is the formula, that I have entered in the field:

if(prop("Presentation") == true and prop("Exercise") == true and if(empty(prop("Exam")), true, prop("Exam Grade") <= 4) and if(prop("❌ 1st") == true and prop("❌ 2nd") == true and prop("❌ 3rd") == true, false, true), "✔️", "❌")
Screenshot of the formula form of Notion
Screenshot of the formula form of Notion

Deconstruct the code

Let’s have a closer look. The whole formula starts with an if-statement in the beginning, which ends at the end with either writing a ✔️ or a ❌. So the course is passed if all four of the requirements in the if-statement are true and it fails if one of them isn’t. The different requirements are connected with the word “and”.

The first requirement states, that the property “Presentation” should be true, which translates into checking the checkbox in the column “Presentation”. The same goes for the second requirement and the column “Exercise”.

Then it gets a bit more complex, as we have a nested if-statement, so an if-statement within an if-statement. This one states, that if nothing in the property “Exam” is entered (so the student has not to take an exam), the statement is true. Otherwise (the student has to take an exam) the “Exam Grade” has to be equal or smaller than 4. So this whole nested if-statement simply checks if a student needs to take the exam (doesn’t matter which one) and if yes, if the grade is good enough.

The next and last statement is again a nested one and simply checks if all three properties of missing a class are checked. If they are, the statement returns false (so the student fails the class), if one of them is not, it returns true. Obviously, this last statement can be simplified, as it just needs to check the last column. Try if you can adapt it!


So, is this something that can’t be done with Excel or any other database? No. But it is fun and easy to build. Plus: if you have created a database for a course that repeats (or at least the structure of the course does), than you can create a template to reuse the same (empty) database for future classes. You just have to enter the new students and start checking the boxes and entering the grades. It is easy to organise students with Notion.

In my opinion, Notion is a noteworthy tool and I am thinking about creating more small tutorials like this. If you are interested in something in particular, let me know down in the comments below.

Sebastian Hageneuer

Hi! My name is Sebastian. I am an archaeologist, a university lecturer, freelancer, guitarist, karateka and father. You could say I am quiet busy, so I learned to manage my time and energy to build good habits and still have space for myself and my family. Sounds difficult? Read here how I do it. Every Friday.

Subscribe to my