VSCode extension for teaching.
Bring the programming exercises of a course directly to the student’s editor, so that the teacher of that course can check the progress of the students and help them.
Visit this Medium blog for updates on the development of this project.
- Teacher runs the server, learning how to do it from this link
- Teacher installs the VSCode 4 Teaching extension from the marketplace:
- Teacher signs up from superuser account and logs in:
- Teacher creates a course and an exercise in that course:
- Teachers gets the code for sharing that course to his/her students:
- Students install the extension and sign up:
- Students use the code from the teacher to access the course:
- Students start solving the exercise:
- Meanwhile the teacher checks the students' progress:
- When they finish the exercise, they mark it as finished:
- Teacher starts checking on the students' solutions and adding comments:
- Student checks the comments and responds to them:
The main features are:
- Teachers can create courses and exercises for the students.
- Students can download these exercises and upload their updated files.
- Teachers can download the students’ exercises to see their progress.
The release comes with 2 artifacts: a server backend and the extension. In the backend all the information is saved: courses, exercises, files… . The server is implemented as a REST API.
The extension is a frontend to interact with the server API.
There are 2 user roles: Teacher and Student.
- Teachers are capable of creating, editing, deleting, adding and removing users from courses. These courses have exercises, which have an associated template (files that serve as the base of the exercise) and each student’s files. Teachers can also download the students’ files to review them.
- Students can see these courses and exercises, download the templates and automatically upload their files to the server so that the teachers can see them.
Animations showing the features:
In the first animation we see the teacher creating a course and then creating an exercise (and selecting the files that will be set as the template of the exercise):
In the next animation, we see the student downloading this new exercise:
On the next animation the student edits one of the files and saves it, triggering the automatic file upload so that the teacher can see it (notice the lower part of the screen how a message pops up indicating this upload):
On the next animation, we can see how the teacher selects the exercise previously created and downloads the edited files of the student that previously modified them:
A teacher can check differences between a students exercise and the original template:
A teacher puts a comment in a student file:
The student sees the comment and responds:
Student finishes his exercise:
Teacher checks progress of all students in his dashboard:
For information about the server click HERE.
For information about the extension click HERE.
- Students can download course exercises and upload his files to the server.
- Teachers can see a student's exercise.
- Teachers can see the differences between student files and the original templates.
- File uploads and downloads should account for .gitignore rules.
- Teachers can comment on a student's exercise.
- Make easier for students to access exercises (No need to log in or have a user).
- Students can mark exercises as finished.
- Teachers have a dashboard to check students progress
Note: This roadmap is subject to changes as requirements change.
Check Issues and Project for more specific information about development of these milestones.