@Miro,
What you want is possible to implement... but there are implications.
Scenario #1
In your "dedicated course for creating course content", edit the Student role as follows:
| Capability |
Allowed |
| Manage activitiesmoodle/course:manageactivities |
Yes |
| Add a new lessonmod/lesson:addinstance |
Yes |
| Edit a lesson activitymod/lesson:edit |
Yes |
| Manage a lesson activitymod/lesson:manage |
Yes |
In that course, students with that modified role will be able to click the Turn editing on button, but will only be able to add a Lesson activity.

Please note that, of course, all students will be able to edit or remove ALL existing activities in the course. If you have in that course some resources or activities that you do not want students to edit or remove, you'll have to "protect" them one by one. For example, suppose, as teacher, you have created in your course a "page" giving instructions. To protect it from editing/removing by students who now have the manageactivities capability, you must to to that "instructions page" permissions, and remove its manageactivities capability for student role.
Scenario #2
Do not hack the student role. As teacher, create as many lesson instances as needed for your students. Name each lesson with a student's name. In each lesson, go to Permissions, and give the student role the following capabilities:
- Edit a lesson activitymod/lesson:edit
- Manage a lesson activitymod/lesson:manage
Your students will not be able to add a new lesson instance, but will be able to add questions to the lesson instances you have created. Of course, nothing would prevent Student A from editing Student B's lesson, etc.
If you cannot trust your students, then you would have to create as many student-based new roles as you have students enroled in that course, and give lesson edit permissions for lesson "A" to student A role, etc.
Let us know if that helps and if you eventually manage to achieve what you want.
Joseph