How to set up a student community
With Yandex DataSphere, you can set up student-friendly workspaces. To launch a course, a teacher needs to create a new DataSphere community, where all students will have access to common materials: Docker images with pre-installed libraries, connections to Yandex Object Storage buckets, and prepared datasets.
This guide describes how you can set up a 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. Furthermore, you can set limits to manage resource usage within each educational project.
All students should be assigned the developer
role within their project so they can run 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.
Preparing tasks
The teacher can create their own project in the community to prepare a base notebook for tasks. To share the notebook with students, add it to a GitHub repository and send them the link. The students should then clone the GitHub repository to their project. Whenever a new assignment becomes available, the students only need to pull the changes from the repository.
Note
Project activity is only visible to its participants and community users with admin
and editor
roles. New project participants can only be added by users who have the admin
role in the project or the community.
Sharing datasets for tasks
There are two ways to share data for a task:
- Using a dataset resource:
- Upload the data to your project and combine it into a Dataset.
- Share the dataset with the community.
- Using a bucket:
- Create a new Object Storage bucket and add your data to it.
- Configure an S3 connector in DataSphere.
- Share the connector in the community.
After that, the students will be able to add the connector to their project and connect to your Object Storage bucket.
Checking completed tasks
Teachers have two approaches for checking tasks:
- Students upload their notebooks with completed tasks back to the repository so the teacher can pull the changes.
- The teacher has the
datasphere.communities.admin
role in each student's project and can open and check tasks directly in these projects.