Skip to content

Commit 70530fe

Browse files
authored
spellint and grammar.
1 parent 657438e commit 70530fe

File tree

1 file changed

+60
-56
lines changed

1 file changed

+60
-56
lines changed

docs/index.md

Lines changed: 60 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# From Zero to ICSP (Ines Course Starter - Python)
22

3-
Course Starter python is a starter repo based on the course framework [Ines Montani](https://ines.io/) developed for her [online open-source spaCy course](https://course.spacy.io/). Since creating this framework in April 2019, it has since become a useful tool and platform for Data Scientists and Developers alike to implement their own courses in a manner similar to other popular online Data science educational platforms.
3+
Course Starter python is a starter repo based on the course framework [Ines Montani](https://ines.io/) developed for her [online open-source spaCy course](https://course.spacy.io/). Since creating this framework in April 2019, it has since become a useful tool and platform for data scientists and developers alike to implement their courses in a manner similar to other popular online Data science educational platforms.
44

55
This course gives the developer the versatility of a lecture slide-type informational piece followed by multiple-choice questions and coding exercises equipped with verification of the students' submitted answers.
66

@@ -10,8 +10,9 @@ Ines Montani has created this framework using Gatsby and Reveal.js in the front-
1010
This project is under active development and there are possibilities of changes. If you would like to contribute or point out corrections, please create a new issue addressing your concern, suggestions or contribution.
1111
[![](https://user-images.githubusercontent.com/13643239/56341448-68fe9380-61b5-11e9-816f-5c71ae71b94f.png)](https://course-starter-python.netlify.com)
1212

13-
🔆Hot Tips: This symbol will be used in this guide for helpful tips/recomendations and suggestions when building your course.
14-
⚠️ Warning: This symbol will give you preventative tips to avoid debugging or issues that I definitely ran into.
13+
🔆 **Hot Tips:** This symbol will be used in this guide for helpful tips/recommendations and suggestions when building your course.
14+
15+
⚠️ **Warning:** This symbol will give you preventative tips to avoid debugging or issues that I ran into.
1516

1617

1718
## What To Expect
@@ -25,18 +26,16 @@ let's get started.
2526

2627
## Setup using Docker Compose
2728

28-
Advantages and Disadvantages of not installing `node` and `Gatsby` on your local. Since this platform uses version 10 of `node`, you may find yourself unlinking and relinking updated versions often. In this case it may be in your best interest to use Docker compose. Unfortunate when you are updateing this course if you want to see changes you have made, you will have to push any changes to the repo and then wait to build the container again which as you will experience, quite lengthy. The difference with simply installing node 10 and ghatsby on your local is that as you make changes to your repository files and architecture, it is reflected on your local server instantly without the need to push your changes to the repo. Decide for yourself which one is more beneficial for your needs.
29-
30-
3129
1. Clone this repo [starter course repo](https://github.com/UBC-MDS/course-starter-python)
3230
and locate yourself to the root of the repo where the `Dockerfile` is located.
3331

34-
2. Run the following command. It should take 5-7 minutes to run.
32+
2. Run the following command. It should take about 1 or 2 to run.
3533
```
3634
docker-compose up
3735
```
36+
You will know when it is done as it will tell you that you can `You can now view course-starter-python in the browser.`
3837

39-
3. Go to your favourite web browser and type this in the searchbar:
38+
3. Go to your favourite web browser and type this in the search bar:
4039
[http://0.0.0.0:8000/](http://0.0.0.0:8000/)
4140

4241

@@ -136,12 +135,12 @@ npm install -g gatsby-cli
136135

137136
There are 2 methods in which this step can be done.
138137

139-
a) Simply clone the [starter course repo](https://github.com/ines/course-starter-python)
138+
a) Simply clone the [starter course repo](https://github.com/ines/course-starter-python) and initialize it as a [github repository](https://help.github.com/en/github/importing-your-projects-to-github/adding-an-existing-project-to-github-using-the-command-line)
140139
b) [Import](https://github.com/new/import) and install this repo
141140

142141
Make sure that you ***merge all the changes on the other branches to the master one** if you do not create a pull request for `electron` and `feature/deep-links` branches your course will not successfully deploy.*
143142

144-
One you have done this you will need to locate yourself to the root of the repo.
143+
Once you have done this you will need to locate yourself to the root of the repo.
145144

146145
## Running on local Server
147146

@@ -172,14 +171,16 @@ You can now view course-starter-python in the browser.
172171
```
173172
**Quicklink:** [http://localhost:8000/](http://localhost:8000/)
174173

175-
This should be the begining of a functioning starter-course!
174+
This should be the beginning of a functioning starter-course!
176175

177176

178177
Now that you have a website that is deploying on your local server we can now begin the steps to customize it to your own taste.
179178

179+
180+
180181
## Repository Structure
181182

182-
See architechture below. Make sure to add this to your path when calling them in your md file. Some of these files will be explained in further detail depending on if customization or additions is required.
183+
See the architecture below. Make sure to add this to your path when calling them in your `md` file. Some of these files will be explained in further detail depending on if customization or additions is required.
183184

184185
```
185186
course-starter-python
@@ -193,7 +194,7 @@ course-starter-python
193194
├── gatsby-config.js
194195
├── gatsby-node.js
195196
├── main.js
196-
├── meta.json # Add neccasary customization such as descriptions bio and branch needed to make binder from
197+
├── meta.json # Add necessary customization such as descriptions bio and branch needed to make binder from
197198
├── package-lock.json
198199
├── package.json
199200
├── theme.sass # Can be customizable to change fonts style and size and website colours and font
@@ -273,13 +274,32 @@ course-starter-python
273274

274275
There is a lot of different areas to make your site unique but below we are going to edit the files systematically.
275276

277+
278+
### Course Homepage Information
279+
280+
Here is where we will be changing all the homepage information including Course Name, "About This Course", "About Me", Website and Source. All of these factors are edited in the `meta.json` file located at the root of the repo. Ines has provided [a detailed discription](https://github.com/ines/course-starter-python#metajson) of what each component is responsible for. I am simply going to add some points that could be considered helpful when navigating in these documents
281+
282+
| Setting | Additional Notes: |
283+
| -------------------- | ----------------- |
284+
| `courseId` | Ines does not have this parameter in her spacy course, however, deleting this will not let the course function properly so not having this setting is not an option unless you want to explore what makes her spacy course repo different than her course-starter repo. This `courseId` is reflected once you compile your site and it reads `You can now view "courseId" in the browser.` |
285+
| `slogan` | This will show up once you deploy your site and it will be shown in the image of the link that you send. |
286+
|`juniper.repo` | Make sure you insert your GitHub repository path ex: Github-login/repository-name |
287+
| `juniper.branch` | We will address this further when building a binder but note that the branch here specified is called binder. That means that we will need to edit the `requirements.txt` file and push it to the binder branch|
288+
289+
for guidance on the other settings refer to [Ines Montani's Documentation](https://github.com/ines/course-starter-python#metajson)
290+
291+
### `theme.sass`
292+
293+
This is where you can change certain design elements of the course including font size, style and colour, overall theme colour, button colour.
294+
295+
276296
### Introduction on Homepage
277297

278298
_It's important to attribute Naome Ross and Julia Silge's courses for this section as they are responsible for the code pasted below_
279299

280300
Unlike Ines's [Spacy Course](https://course.spacy.io/), you may want an introduction similar to what [Julia Silge](https://supervised-ml-course.netlify.com/) and [Naome Ross](https://noamross.github.io/gams-in-r-course/) did for their courses.
281301

282-
They introduced their courses with a brief summary
302+
They introduced their courses with a summary and course description.
283303

284304
| ![alt-text-1](img/julia.png) | ![alt-text-2](img/naome.png) |
285305
|:---:|:---:|
@@ -289,7 +309,7 @@ This can be done by doing the following:
289309

290310
- Navigate into the `src/pages/` and open `index.js`
291311

292-
You will be adding a new `<section>` (Html code) under `<Layout isHome>` and inbetween the following two lines shown below : between
312+
You will be adding a new `<section>` (Html code) under `<Layout isHome>` and between the following two lines shown below :
293313
```
294314
<Layout isHome>
295315
<Logo className={classes.logo} aria-label={siteMetadata.title} /> # HERE
@@ -337,7 +357,7 @@ This can be done by doing the following:
337357

338358
- Navigate into the `src/pages/index.js`
339359

340-
You will be adding a new `<section>` (Html code) under `<Layout isHome>` and inbetween the following two lines shown below : between
360+
You will be adding a new `<section>` (Html code) under `<Layout isHome>` and between the following two lines shown below:
341361
```
342362
<Layout isHome>
343363
<Logo className={classes.logo} aria-label={siteMetadata.title} /> # HERE
@@ -381,28 +401,12 @@ you will need to paste the new classes as follows below into the document.
381401

382402
If you want to play with the measurements this is a welcomed opportunity to customize your course further.
383403

384-
### Course Homepage Information
385-
386-
Here is where we will be changing all the homepage information including Course Name, "About This Course", "About Me", Website and Source. All of these factors are edited in the `meta.json` file located at the root of the repo. Ines has provided [a detailed discription](https://github.com/ines/course-starter-python#metajson) of what each component is responsible for. I am simply going to add some points that could be considered helpful when navigating in this documents
387-
388-
| Setting | Additional Notes: |
389-
| -------------------- | ----------------- |
390-
| `courseId` | Ines does not have this parameter in her spacy course, however deleting this will not let the course function properly so not having this setting is not an option unless you want to explore what makes her spacy course repo different than her course-starter repo. This `courseId` is reflected once you compile your site and it reads `You can now view "courseId" in the browser.` |
391-
| `slogan` | This will show up once you deploy your site and it will be show in the image of the link that you send. |
392-
| `juniper.branch` | We will address this further when building a binder but note that the branch here specified is called binder. That means that we will need to edit the `requirements.txt` file and push it to the binder branch|
393-
394-
for guidance on the other settings refer to [Ines Montani's Documentation](https://github.com/ines/course-starter-python#metajson)
395-
396-
### `theme.sass`
397-
398-
This is where you can change certain design elements of the course including font size, style and colour, overall theme colour, button colour.
399-
400404

401405
## Contents
402406

403-
This is where the meat and potatos of your course is.
407+
This is where the majority of your course lies.
404408

405-
Ines Montani [discusses in detail each section](https://github.com/UBC-MDS/course-starter-python#%EF%B8%8F-content), however there are a few little details I want to emphesize that could help as you create this site.
409+
Ines Montani [discusses in detail each section](https://github.com/UBC-MDS/course-starter-python#%EF%B8%8F-content), however, there are a few little details I want to emphasize that could help as you create this site.
406410

407411
### Chapters
408412

@@ -413,7 +417,7 @@ These are the files that make up the topics of your course and will be displayed
413417

414418
<br>
415419

416-
each `chapter.md` file will need this yaml specification that Ines explains:
420+
each `chapter.md` file will need this YAML specification that Ines explains:
417421

418422
```
419423
---
@@ -429,7 +433,7 @@ Here are some additional comments:
429433

430434
1. Make sure each `id` is unique or you may have some issues with some modules not showing up.
431435
2. Take care specifying the correct `prev` and `next` otherwise it could damage the flow of your material.
432-
3. You don't need to have your website extension of your course labeled as "chapters" if you wish to have your link extensions named something other than chapter in the url, you can change the file names to `module`, `topic`, `lecture` or anything else followed by the number. Do not change the folder name and do not change the `type` in the yaml.
436+
3. You don't need to have the website extension of your course labeled as "chapters" if you wish to have your link extensions named something other than "chapter" in the URL, you can change the file names to `module`, `topic`, `lecture` or anything else followed by the number. Do not change the folder name and do not change the `type` in the YAML.
433437

434438
Each `chapter.md` file will contain the code of what that chapter will look like. Specifically:
435439

@@ -438,9 +442,9 @@ Each `chapter.md` file will contain the code of what that chapter will look like
438442

439443
<br>
440444

441-
Now that we have a chapter.md file with a completed yaml, lets add the course content.
445+
Now that we have a chapter.md file with a completed YAML, let's add the course content.
442446

443-
Each numbered container dispayed in the image above corresponds to an `exercise`. Each exercise needs a unique id and specified with a title.
447+
Each numbered container displayed in the image above corresponds to an `exercise`. Each exercise needs a unique id and specified with a title.
444448

445449
```
446450
<exercise id="1" title="Title of the exercise">
@@ -452,8 +456,8 @@ something here
452456

453457
These exercises can in the form of different activities as well:
454458
1. Slides: Lecture material and content
455-
2. Multiple choice questions: : An opportunity for students to test themselves on the material they just learned.
456-
3. Codeblock exercises: An opportunity for students to test their coding skills
459+
2. Multiple choice questions: An opportunity for students to test themselves on the material they just learned.
460+
3. Code block exercises: An opportunity for students to test their coding skills
457461

458462

459463
### Slides
@@ -472,14 +476,14 @@ Notice that we specify slides using `type="slides` argument in the exercise cont
472476

473477
You'll also notice we are calling a source file to display our slides. These slides are stored in the `slides` folder.
474478

475-
[Ines explaines](https://github.com/ines/course-starter-python#slides) how your slide mardown document should be structured.
479+
[Ines explaines](https://github.com/ines/course-starter-python#slides) how your slide markdown document should be structured.
476480

477481
***⚠️ Warning: Be wary of trailing spaces 😵😱!!
478482
Although ```---``` may appear to be the same as ```--- ``` they are not and any information placed after the latter will break your slides.***
479483

480484
#### Enbedding Video and Audio
481485

482-
If you are hopeing to make your course particularly engaging, you may want to add videos or audio files to your slides (or questions even).
486+
If you are hoping to make your course particularly engaging, you may want to add videos or audio files to your slides (or questions even).
483487
This can be acheived with the following code:
484488

485489
**Video:**
@@ -542,7 +546,7 @@ Try again! This is incorrect.
542546

543547
The key to having several questions in one exercise container is to give `<choice>` an id.
544548
```
545-
exercise id="18" title= "Mutiple questions in one exercise">
549+
exercise id="18" title= "Multiple questions in one exercise">
546550
547551
Question 1 here.
548552
@@ -606,44 +610,44 @@ This is where things can get a bit tricky. Each coding exercise will require 3 f
606610

607611
- `exc_coding-question.py` -> The code displayed to the student that they will have to fill in
608612
- `solution_coding-question.py` -> the expected coding solution
609-
- `test_coding-question.py` -> Tests to see if the input done by the student were correct (output when student clicks "submit")
613+
- `test_coding-question.py` -> Tests to see if the input done by the student were correct (output when the student clicks "submit")
610614

611615
These are all saved in the `exercises` folder.
612616

613617
When we want to specify this exercise in the `chapter.md` file in the exercise container, we must only write `id = coding-question`.
614618

615-
Ines has explain more of this [here](https://github.com/ines/course-starter-python#codeblock)
619+
Ines has explained more of this [here](https://github.com/ines/course-starter-python#codeblock)
616620

617-
***🔆You can also have multiple codeblocks in a single exercise container***
621+
***🔆You can also have multiple code blocks in a single exercise container***
618622

619-
Code is written in the same way that you would run normal python scripts, with importing packages and self made functions that can be stored stored and imported from the exercise folder.
623+
Python code is written in regular scripts while importing packages per usual.
620624

621-
***🔆When you are calling files ***
625+
***🔆Remember that you are located at the root of the repo and you will have to reflect that in the path to the file. Eg. data from the data folder ***
622626

623627
#### Let's talk about importing functions!
624628

625-
If you want to import a functions you made the script can be stored in the `exercises` folder. However, since you are running everything from the root of the directory it's crucial you locate yourself into the `exercises` folder. You can do this with the following code.
629+
If you want to import a function you made, the script can be stored in the `exercises` folder. However, since you are running everything from the root of the directory you must locate yourself into the `exercises` folder. You can do this with the following code.
626630
```
627631
import sys
628632
sys.path.insert(0, 'exercises/')
629633
```
630-
631634
you can then import as normal.
632635

633-
634-
635-
636636
#### `binder/requirements.txt`
637637

638+
Remember back in `meta.json` we discussed the argument `juniper.branch` briefly? Code block exercises are where this comes to play.
638639

640+
Any imported packages need to be added to `binder/requirements.txt` and since we specified in juniper `"branch": "binder"` this is the branch where we will need to push changes to this document.
641+
- add your packages and if need be the versions to the `requirements.txt`
642+
- build your [binder](https://mybinder.org/) and refer to [Ines's explanation](https://github.com/ines/spacy-course#setting-up-binder) for more.
643+
- ⚠️ When you build your binder make sure you specify `Git branch, tag, or commit` as `binder` since that is the branch where you will be adjusting the `requirements.txt`
639644

640645

641646
### `static` folder
642-
If you have been following along here while you construct your course you may notice at this point that you have yet to change any graphics.
643647

644-
The `static` file is where any additional images, videos and audio files are store that you will need for the questions or slides part of your course.
648+
The `static` file is where any additional images, videos and audio files need for the questions or slides part of your course are stored.
645649

646-
I find it particularly useful to create additional files in here to address the different chapters you will be making for added clarity and organization. aka I add a folder for each chapter/module and save the media files in it's corresponding folder.
650+
I find it particularly useful to create additional files in here to address the different chapters you will be making for added clarity and organization. aka I add a folder for each chapter/module and save the media files in its corresponding folder.
647651
ex:
648652
```
649653
...

0 commit comments

Comments
 (0)