You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+30-30Lines changed: 30 additions & 30 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,10 +11,10 @@
11
11
12
12
**JetBrains Academy Kotlin course template** is a repository that provides a
13
13
pure template to make it easier to create a new Kotlin course with the [JetBrains Academy
14
-
plugin][ref:plugin.marketplace] (check the [Creating a repository from a template][gh:template] article).
14
+
plugin][ref:plugin.marketplace] (check out the [Creating a repository from a template][gh:template] article).
15
15
16
16
The main goal of this template is to speed up the setup phase
17
-
of a Kotlin course development for both new and experienced educators
17
+
of Kotlin course development for both new and experienced educators
18
18
by preconfiguring the project scaffold and CI,
19
19
linking to the proper documentation pages, and keeping everything organized.
20
20
@@ -41,21 +41,21 @@ In this README, we will highlight the following elements of template-project cre
41
41
## Getting started
42
42
43
43
Before we dive into course development and everything related to it, it's worth mentioning the benefits of using GitHub Templates.
44
-
By creating a new project using the current template, you start with no history or reference to this repository.
45
-
This allows you to create a new repository easily without copying and pasting previous content, clone repositories, or clearing the history manually.
44
+
By creating a new project with the current template, you start with no history or reference to this repository.
45
+
This allows you to create a new repository easily, without copying and pasting previous content, cloning repositories, or clearing the history manually.
46
46
47
-
All you have to do is click the <kbd>Use this template</kbd> button (you must be logged in with your GitHub account).
47
+
All you need to do is click the <kbd>Use this template</kbd> button (you must be logged in with your GitHub account).
48
48
49
49
![Use this template][file:use-template-blur]
50
50
51
-
The most convenient way for getting your new project from GitHub is the <kbd>Get from VCS</kbd> action available on the Welcome Screen,
51
+
The most convenient way of getting your new project from GitHub is the <kbd>Get from VCS</kbd> action available on the Welcome Screen,
52
52
where you can filter your GitHub repository by its name.
53
53
54
54
![Use this template][file:use-this-template.png]
55
55
56
56
57
-
For the last step, you have to manually review the configuration variables described in the [`gradle.properties`][file:gradle.properties] file and *optionally* move sources from the *org.jetbrains.academy.kotlin.template* package to the one that works best for you.
58
-
Then you can get to work implementing your ideas.
57
+
As the last step, you need to manually review the configuration variables described in the [`gradle.properties`][file:gradle.properties] file and *optionally* move sources from the *org.jetbrains.academy.kotlin.template* package to the one that works best for you.
58
+
Then you can get to work and implement your ideas.
59
59
60
60
## Gradle configuration
61
61
@@ -76,7 +76,7 @@ The project-specific configuration file [`gradle.properties`][file:gradle.proper
76
76
|`courseGroup`| Package name. |
77
77
|`courseVersion`| The current version of the course in [SemVer][semver] format. |
78
78
|`gradleVersion`| Version of Gradle used for course development. |
79
-
|`jvmVersion`| Version of JVM used for course development.|
79
+
|`jvmVersion`| Version of the JVM used for course development. |
80
80
81
81
## Course template structure
82
82
@@ -133,7 +133,7 @@ A generated JetBrains Academy Kotlin Course Template repository contains the fol
133
133
134
134
## Course info configuration file
135
135
136
-
The course info configuration file is a[course-info.yaml][file:course-info.yaml] file located in the root directory.
136
+
The course info configuration file is the[course-info.yaml][file:course-info.yaml] file located in the root directory.
137
137
It provides general information about the course, like description, language, etc.
138
138
139
139
```yaml
@@ -150,67 +150,67 @@ environment_settings:
150
150
151
151
## Course ignore file
152
152
153
-
The course ignore file is a [.courseignore][file:courseignore] file located in the root directory.
153
+
The course ignore file is the [.courseignore][file:courseignore] file located in the root directory.
154
154
It provides the list of files or directories that will be ignored in the final course preview or archive.
155
155
156
156
```text
157
157
README.md
158
158
```
159
159
160
-
You can find more information about course preview in the [Course preview][ref:course.preview] section and
161
-
about creating a course archive and uploading it to the marketplace in the [Course distribution][ref:course.distribution] section.
160
+
You can find more information about the course preview in the [Course preview][ref:course.preview] section. Information
161
+
about creating a course archive and uploading it to the marketplace is in the [Course distribution][ref:course.distribution] section.
162
162
163
163
## Sample code
164
164
165
-
The prepared template provides an example of a course with one section, two lessons and five tasks in total.
165
+
The prepared template provides an example of a course with one section, two lessons, and five tasks in total.
166
166
167
167
![Course structure in the course creator mode][file:course-structure-author]
168
168
169
-
Each course might have unlimited number of sections, lessons, and tasks.
169
+
Each course may have an unlimited number of sections, lessons, and tasks.
170
170
Students will see almost the same course structure as the educator (course author):
171
171
172
172
![Course structure in the course student mode][file:course-structure-student]
173
173
174
-
The main difference is in framework lessons, that display
175
-
only task files without intermediate steps.
174
+
The main difference is in framework lessons, which display
175
+
only task files, without intermediate steps.
176
176
177
177
You can read more about framework lessons in the official documentation in the [Framework Lessons Creation][ref:framework.lessons.creation] section.
178
178
179
179
> **Note**
180
180
>
181
-
> Click the <kbd>Course Creator</kbd> -> <kbd>Create Course Preview</kbd> in the context menu on the root of the repository to create a course preview.
181
+
> Click <kbd>Course Creator</kbd> -> <kbd>Create Course Preview</kbd> in the context menu in the root of the repository to create a course preview.
182
182
183
183
184
184
The JetBrains Academy plugin provides five different types of tasks,
185
-
you can combine them inside one lesson (a regular or a framework one).
186
-
You can read more about task in the official documentation in the [Task][ref:tasks] section.
185
+
and you can combine them inside one lesson (whether regular or framework).
186
+
You can read more about tasks in the official documentation in the [Task][ref:tasks] section.
187
187
188
188
## Testing
189
189
190
-
To check programming exercises for [**edu**][ref:tasks] tasks you need to write tests.
191
-
This repository includes [Kotlin test framework][ref:kotlin.test.framework] to make the testing process easier.
190
+
To check the programming exercises for [**edu**][ref:tasks] tasks, you need to write tests.
191
+
This repository includes a [Kotlin test framework][ref:kotlin.test.framework] to make the testing process easier.
192
192
It contains functionality to test student solutions by using the [Java Reflection API][ref:java.reflection.api] under the hood.
193
-
This approach allows you to call students' functions which do not exist yet.
194
-
It is a powerful mechanism to be able to create excesses without predefined classes or functions
193
+
This approach allows you to call students' functions that do not exist yet.
194
+
It is a powerful mechanism that enables you to create excesses without predefined classes or function
195
195
templates and check their signature and behaviour properly.
196
196
197
-
You can find small examples in programming tasks in the repository in `Tests.kt` files:
198
-
in the [course lesson][file:course.lesson.tests] and [course framework lesson][file:course.framework.lesson.tests].
197
+
You can find little examples of programming tasks in the repository in the`Tests.kt` files:
198
+
in [course lesson][file:course.lesson.tests] and [course framework lesson][file:course.framework.lesson.tests].
199
199
200
-
More examples of usage the [Kotlin test framework][ref:kotlin.test.framework] can be found in other Kotlin courses:
200
+
More examples of using the [Kotlin test framework][ref:kotlin.test.framework] can be found in other Kotlin courses:
201
201
202
202
-[Kotlin Onboarding: Introduction][ref:kotlin.onboarding.introduction.marketplace] on [GitHub][ref:kotlin.onboarding.introduction.github]
203
203
-[Kotlin Onboarding: Object-Oriented programming][ref:kotlin.onboarding.oop.marketplace] on [GitHub][ref:kotlin.onboarding.oop.github]
204
204
205
205
## Predefined Run/Debug configurations
206
206
207
-
Within the default project structure, there is a `.run` directory provided containing predefined *Run/Debug configurations* that expose corresponding Gradle tasks:
207
+
Within the default project structure, there is a `.run` directory provided, which contains predefined *Run/Debug configurations* that expose corresponding Gradle tasks:
0 commit comments