How to set up a student community
With Yandex DataSphere, you can create a student-friendly workspace. To launch a course, the instructor needs to create a new DataSphere community where all students will have access to shared materials: Docker images with pre-installed libraries, connections to Yandex Object Storage buckets, and ready-made datasets.
This guide covers the principles of setting up a training course for students with DataSphere.
Getting started
Before getting started, register in Yandex Cloud, set up a community, and link your billing account to it.
- On the DataSphere home page
, click Try for free and select an account to log in with: Yandex ID or your working account in the identity federation (SSO). - Select the Yandex Cloud Organization organization you are going to use in Yandex Cloud.
- Create a community.
- Link your billing account to the DataSphere community you are going to work in. Make sure that you have a billing account linked and its status is
ACTIVE
orTRIAL_ACTIVE
. If you do not have a billing account yet, create one in the DataSphere interface.
Create projects
Create a separate project for each student in the community, so they can store their own resources and run the JupyterLab development environment. You can restrict the configurations allowed in the community. You can additionally set usage limits to manage resource consumption within learning projects.
Students need the Developer
role within their projects so that they can run the code and use cloud resources but cannot change the limits set for the project. Each student runs their own instance of the development environment within their individual project, where they can solve tasks in their notebook and store their own data and secrets.
To facilitate communication within your community, add a link to a Telegram or Slack channel.
You can automate the process of creating communities and projects, setting limits, and granting access using the DataSphere API. Check an example of such a solution in the guide on automating project setup.
Prepare tasks
The instructor can create a project in the community to prepare a generic notebook with tasks in it. The instructor uploads the notebook to a GitHub repository with a link to it to the students. The students should then clone the GitHub repository into their project. Whenever a new task becomes available, the students only need to pull the changes from the repository.
Note
The project's activities are only visible to its members and the community users with the Admin
and Editor
roles. New project members can only be added by users with the Admin
role for the project or community.
Share task data
There are two ways the instructor can share task data:
- Using a dataset resource:
- Upload the data into a project and form a dataset out of it.
- Share the dataset with the community.
- Using a bucket:
- Create a new Object Storage bucket and add the data to it.
- Configure an S3 connector in DataSphere.
- Share the connector in the community.
The students will be able to add the connector to their project and thus connect to the Object Storage bucket.
Check completed tasks
The instructor can opt for one of the two possible approaches:
- Students upload their completed notebooks back into the repository, and the instructor pulls the changes from it.
- The instructor has the
datasphere.communities.admin
role in each one of the students' projects and can open any of them to check the task there directly.