I have a web app that created report cards. A teacher who logs in sees a list of their students (no matter the subject) and when they click a student, they are brought to a page with all the subjects that they teach that student.

The issue is that every year this extremely long process needs to be done: Assigning a teacher to a student in each subject.

Any ideas for how to make this simpler? enter image description here

  • Are you limiting the Teacher select lists under each Subject column to only teachers who teach that subject? Commented Feb 20, 2023 at 12:05

2 Answers 2


If you have a large drop-down list (for example, a list of students), consider adding a search to the drop-down list. This will speed up the ability to search while not increasing the length of the drop-down list.

In addition, add the ability to enter text into the search field immediately after the user clicks on the dropdown. Thus, the user will not even look at the drop-down list, but will immediately start entering the student's first or last name.

Lastly, add a full view or advanced search button to the dropdown. There will probably be exceptions when the user will need to open a large modal window where he can more accurately find the student.


You have not mentioned who is responsible of doing this. First try to outline the user task of the person that does this and the information structure where the teacher sits in. Are teachers part of a certain subject ? How many teachers have the same subject? Are teachers part of multiple subjects?

Assuming there are less teachers than students I would create another view, like a teacher's students views and in there with a dropdown with search I would add the students of the particular teacher.

Or a subject view, maybe cards for each subjects, inside of the subjects the teachers and under teachers the students.

Just map out the data and see what would be the easiest way. Because instead of associating a teacher for each individual students, let's say you have 50 students / 5 teachers. It would be easier to go to each 5 teachers and associate a number of students.

  • "...easier to go to each 5 teachers and associate a number of students." — I think it's the same amount of selections either way. A large list of 50 student, select a small number of teachers for each. Or a small list of 5 teachers, select a large number of students for each. What am I missing? Commented Feb 20, 2023 at 12:12
  • If you take the student approach you have to navigate through 50 student names and do 50 associations with 1 association per student. ( go to student 1, open dropdown, find/search teacher, select teacher, go to student 2, repeat to Student 50 ) If you take the teacher approach you have to navigate through 5 teachers and do 10 associations per teacher. So you have to only go through 5 teachers, open 5 dropdowns not 50 and with a search option inside the dropdown do some multiple selections. And it would also resemble the mental model of schools. A teacher has a class of 10 students.
    – Chris
    Commented Feb 20, 2023 at 13:37
  • The principal does this at the beginning of the school year.
    – Dave
    Commented Feb 23, 2023 at 4:48
  • @Chris The teachers have classes of about 20 students. There are approximately 7 or 8 subjects throughout the day. Some teachers teach multiple subjects. for 120 students and 8 teachers, that is 960 clicks! I'm asking if there is a better way than the way I am showing
    – Dave
    Commented Feb 23, 2023 at 4:52
  • 1
    This is why I was proposing a Teacher / Subject / Student hierarchy. Should reduce the numbers of clicks. Imagine a page with 1 card per teacher. Inside each teacher sits each subject. Inside each subject sits the students and selection is done through a dropdown with search and multiple select. But this is why I was suggesting to map out the data and see how things tie in together, to avoid any user errors because it might be that you can first associate the students with the subjects, then subjects with teachers and finally teacher - student in way that prevents errors.
    – Chris
    Commented Feb 23, 2023 at 8:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.