diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a825ac2
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,8 @@
+.venv
+
+
+### IntelliJ IDEA ###
+.idea
+*.iws
+*.iml
+*.ipr
diff --git a/README.md b/README.md
index d7e968e..4f0e5db 100644
--- a/README.md
+++ b/README.md
@@ -29,6 +29,7 @@ In this README, we will highlight the following elements of template-project cre
- [Getting started](#getting-started)
- [Course info configuration file](#course-info-configuration-file)
- [Course ignore file](#course-ignore-file)
+- [Course dependencies](#course-dependencies)
- [Sample code](#sample-code)
- [Testing](#testing)
- [Useful links](#useful-links)
@@ -44,7 +45,7 @@ All you need to do is click the Use this template button (you must be
![Use this template][file:use-template-blur]
The most convenient way of getting your new project from GitHub is the Get from VCS action available on the Welcome Screen,
-where you can filter your GitHub repository by its name.
+where you can filter your GitHub repository by its name.
![Get from version control][file:get_from_vcs.png]
@@ -57,6 +58,7 @@ A generated JetBrains Academy Python Course Template repository contains the fol
.
├── LICENSE
├── README.md README
+├── requirements.txt Course dependencies
├── common Course sources common for all sections
│ └── resources Resources - images, icons
├── course-info.yaml Course info configuration file
@@ -117,9 +119,24 @@ README.md
You can find more information about the course preview in the [Course preview][ref:course.preview] section. Information
about creating a course archive and uploading it to the marketplace is in the [Course distribution][ref:course.distribution] section.
+## Course dependencies
+You should write all your course dependencies in the [`requirements.txt`](requirements.txt) file.
+It will be used for creating a virtual environment before students begin the course.
+
+Before developing the course, you should set up the environment yourself:
+* For Windows:
+ ```shell
+ python3 -m venv .venv && .\.venv\Scripts\activate && pip install -r requirements.txt
+ ```
+
+* For Linux/MacOS:
+ ```bash
+ python3 -m venv .venv && source .venv/bin/activate && pip install -r requirements.txt
+ ```
+
## Sample code
-The prepared template provides an example of a course with one section, two lessons, and five tasks in total.
+The prepared template provides an example of a course with one section, two lessons, and six tasks in total.
![Course structure in the course creator mode][file:course-structure-author]
@@ -128,9 +145,6 @@ Students will see almost the same course structure as the educator (course autho
![Course structure in the course student mode][file:course-structure-student]
-The main difference is in framework lessons, which display
-only task files, without intermediate steps.
-
You can read more about framework lessons in the official documentation in the [Framework Lessons Creation][ref:framework.lessons.creation] section.
> **Note**
@@ -144,8 +158,8 @@ You can read more about tasks in the official documentation in the [Task][ref:ta
## Testing
-To check the programming exercises for [**edu**][ref:tasks] tasks, you need to write tests ungin [unittest](https://docs.python.org/3/library/unittest.html) framework.
-
+To check the programming exercises for [**edu**][ref:tasks] tasks,
+you need to write tests using [unittest](https://docs.python.org/3/library/unittest.html) framework.
You can find little examples of programming tasks in the repository in the `test.py` files:
in [course lesson][file:course.lesson.tests] and [course framework lesson][file:course.framework.lesson.tests].
diff --git a/common/resources/images/course-structure-author.png b/common/resources/images/course-structure-author.png
index ceb51eb..76fe2f5 100644
Binary files a/common/resources/images/course-structure-author.png and b/common/resources/images/course-structure-author.png differ
diff --git a/common/resources/images/course-structure-student.png b/common/resources/images/course-structure-student.png
new file mode 100644
index 0000000..ca8ccec
Binary files /dev/null and b/common/resources/images/course-structure-student.png differ
diff --git a/course_section/course_lesson/multi_file_task/task-info.yaml b/course_section/course_lesson/multi_file_task/task-info.yaml
index f0f1c35..d479117 100644
--- a/course_section/course_lesson/multi_file_task/task-info.yaml
+++ b/course_section/course_lesson/multi_file_task/task-info.yaml
@@ -14,7 +14,7 @@ files:
length: 24
placeholder_text: pass
- name: __init__.py
- visible: true
+ visible: false
- name: tests/output.txt
visible: false
- name: tests/input.txt
diff --git a/course_section/course_lesson/quiz_task/task-info.yaml b/course_section/course_lesson/quiz_task/task-info.yaml
index 939dc85..39c4031 100644
--- a/course_section/course_lesson/quiz_task/task-info.yaml
+++ b/course_section/course_lesson/quiz_task/task-info.yaml
@@ -10,5 +10,5 @@ files:
- name: main.py
visible: true
- name: __init__.py
- visible: true
+ visible: false
custom_name: Course quiz task
diff --git a/course_section/course_lesson/theory_task/task-info.yaml b/course_section/course_lesson/theory_task/task-info.yaml
index 6fcb491..508426c 100644
--- a/course_section/course_lesson/theory_task/task-info.yaml
+++ b/course_section/course_lesson/theory_task/task-info.yaml
@@ -6,4 +6,4 @@ files:
- name: invisible_main.py
visible: false
- name: __init__.py
- visible: true
+ visible: false
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000..1af03cd
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,2 @@
+# Here you should write the course dependecies
+numpy==1.26.4