Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Students invisible when joining second classroom #198

Closed
mircealungu opened this issue Aug 29, 2024 · 16 comments · Fixed by #206
Closed

Students invisible when joining second classroom #198

mircealungu opened this issue Aug 29, 2024 · 16 comments · Fixed by #206
Assignees

Comments

@mircealungu
Copy link
Member

As reported by one of our teachers:

Last year, our colleague CL, teacher German has started with Zeeguu too. Some students follow both French and German classes. The students who first had an account in French class and then added German, were transferred to the German class in Zeeguu and get deleted/lost (I do not see them anymore, nor their read articles) in the French.

@mircealungu
Copy link
Member Author

mircealungu commented Aug 29, 2024

I guess we have to allow a student to belong to multiple classes at the same time.

Indeed, a student can only belong to a single class at the moment, and this means that when they join the german class, they don't belong to the french one, so this is why the french teacher can't see them anymore.

This will have a few implications for both the fontend @igawaclawska and the backend @tfnribeiro

@tfnribeiro
Copy link
Collaborator

I will start looking it to this, the preliminary investigation seems like I will have to do the following:

  • Move the columns invitation_code and cohort_id to a mapping table (maybe: user_cohort)
  • Handle the logic within the SQLAlchemy that uses the current user.cohort_id, which will have to check a list/set of classes rather than a direct map. Maybe this can be handled by a user.is_in_class(cohort_id). This seems to be in a total of 11 files, so it shouldn't be too difficult.

@igawaclawska
Copy link

I will look into adapting the UI and front end of the Onboarding steps and Settings so that they support multiple classrooms

@mircealungu
Copy link
Member Author

mircealungu commented Aug 29, 2024 via email

@tfnribeiro tfnribeiro self-assigned this Aug 30, 2024
@tfnribeiro
Copy link
Collaborator

tfnribeiro commented Aug 30, 2024

I have done some work on this and I believe that the backend is set-up to allow multiple classes.

@igawaclawska: Some of the data will change from the backend (we used to expect 1 int ID and now we will get an array), so maybe I will make sure to update all the endpoints in the frontend and then you could do the UI to display/remove the classes - this will be next week though. Need to slowly go through all to make sure nothing is missed.

@mircealungu I can see maybe there could be an opportunity for refactoring - especially in some of the permission methods, where I was a bit confused what is the purpose of having different calls. For instance, the top I believe it implies it's a Teacher (as we are checking the TeacherMap), but I am actually not so sure.

image

image

@igawaclawska
Copy link

@igawaclawska: Some of the data will change from the backend (we used to expect 1 int ID and now we will get an array), so maybe I will make sure to update all the endpoints in the frontend and then you could do the UI to display/remove the classes - this will be next week though. Need to slowly go through all to make sure nothing is missed.

@tfnribeiro: ✅ Okok. I can start by mocking up some variants of it in Figma, and then once the endpoints are ready -implementing the one we like most.

@tfnribeiro
Copy link
Collaborator

tfnribeiro commented Sep 2, 2024

Okay, I feel like I have the functionality working here is the POV of a student:

Settings_.Zeeguu.-.Google.Chrome.2024-09-02.11-49-34.mp4

If a code is invalid:

image

@tfnribeiro
Copy link
Collaborator

Some considerations, Zeeguu allows you to change languages, but by default you have a "main" language - if a student is in both German and Danish, they'd have to go to the settings to switch to see the homepage update.

For now, Classroom shows all the texts independently of the class they come from - but an alternative could be to allow only to show the language that is the same as the one they are learning. (Might help solve some of the confusion).

Currently, there is no confirmation when leaving a class, but I think that should be implemented to avoid mis-clicks that make the student leave immediately.

@igawaclawska
Copy link

I'm currently also collecting some considerations related to multiple classroom support. I will post them in a bit.

@igawaclawska
Copy link

igawaclawska commented Sep 2, 2024

Currently, it seems that students are able to view content from all classrooms at once. What are your thoughts on allowing students to be part of multiple classrooms but only have one active/visible at a time? This could solve the issues with translation language confusion (and perhaps with exercise generation).

Students should also be able to see which code belongs to which classroom (language and optionally teacher's name)

@igawaclawska
Copy link

igawaclawska commented Sep 2, 2024

Another question - how are exercises generated in the classroom setting? Are they based on the content provided by teachers that students translated, or are they generated based on both Zeeguu recommendations and texts from the teachers that students translated? Or do teachers design them?

@tfnribeiro
Copy link
Collaborator

The active class could work, but again - if that's done through the settings it might be a bit annoying to navigate 3 screens to change back and forth. But for now I think it could be the way to go so the functionality "looks" the same as before essentially.

The exercises are just based on the translated words, the classroom feature allows the Teachers to see if the students are reading/doing exercises and to manually share texts to the students, but this might not be used as much.

So in their dashboards teachers can see what words they have translated/how much time they have spent reading e.g.

image

image

@igawaclawska
Copy link

igawaclawska commented Sep 2, 2024

The active class could work, but again - if that's done through the settings it might be a bit annoying to navigate 3 screens to change back and forth. But for now I think it could be the way to go so the functionality "looks" the same as before essentially.

The "Current/active class" option, besides settings, could also be added as, for instance, a dropdown on the side navigation or on the homepage - underneath the Classroom tab. If not now - we could consider it for the next iterations

@tfnribeiro
Copy link
Collaborator

That's a good idea!

@igawaclawska
Copy link

igawaclawska commented Sep 3, 2024

What happens from the teacher's point of view when a student leaves a classroom and then re-enters it? I know that if students leave a classroom, their progress is not visible to the teacher. What happens after they re-enter? Will their progress, exercises done, and translated words be reset to zero or preserved?

@tfnribeiro
Copy link
Collaborator

I am quite sure it's preserved - essentially the mapping just means that the query in the backend can retrieve the data related to the language. So essentially the teacher can see what they have been doing in the language even before they join the class.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants