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
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
4
+
5
+
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
6
+
7
+
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
8
+
9
+
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
10
+
11
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copy file name to clipboardExpand all lines: README.md
+13-10Lines changed: 13 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,16 @@
1
1
# Introduction to Python
2
2
3
-
Welcome to **Introduction to Python**! Python is one of the most popular and powerful programming languages. It is used extensively in computational and data science, and you will use it in almost all modules during your MSc studies. This self-guided course will help you to learn the basics of Python before your MSc journey.
3
+
Welcome to **Introduction to Python**! Python is one of the most popular and powerful programming languages. It is used extensively in computational and data science, and you will use it in almost all modules during your MSc studies. This self-guided course will help you to learn the basics of Python.
4
+
5
+
This course consists of four lectures (1, 2, 3, and 4), and we strongly recommend completing them in that order.
4
6
5
7
## How to run this course
6
8
7
-
There are three possibilities for how you can learn Python with our self-guided course. **JupyterHub** and **Binder** options allow you to run tutorials in the cloud - you do not need to install anything, and no files will be created on your machine. All you need is a web browser and internet connection. However, you need to download Jupyter notebooks you worked in to ensure your work is not lost at the end of each session. The third option is to create a small Python environment and run all tutorials on your machine. There is no difference in what you will learn, and we give you complete freedom to choose how you want to run tutorials.
9
+
There are three possibilities for how you can learn Python with our self-guided course. **JupyterHub** and **Binder** options allow you to run tutorials in the cloud - you do not need to install anything, and no files will be created on your machine. All you need is a web browser and internet connection. However, you need to download Jupyter notebooks you worked in to ensure your work is not lost at the end of each session. The third option is to create a Python environment and run all tutorials on your machine. There is no difference in what you will learn, and we give you complete freedom to choose how you want to run tutorials.
8
10
9
11
### 1. JupyterHub (ESE students)
10
12
11
-
1.**Create a GitHub account**. In the email you received, we sent you the unique username we generated for you. Create a GitHub account and make sure your GitHub account uses that username.
13
+
1.**Create a GitHub account**. In the email you received, we sent you your unique username. Create a GitHub account and make sure your GitHub account uses that username.
12
14
13
15
2.**Login to JupyterHub**. By clicking the following badge, you can access our JupyterHub server and log in using the GitHub account you just created:
14
16
@@ -31,30 +33,31 @@ You can access Binder by clicking on the *Binder badge*:
31
33
1.**Install Git**. Please follow installation instructions for your operating system on [Git webpage](https://git-scm.com/).
32
34
33
35
2.**Clone repository**. In Terminal (Linux and MacOS) or Command Prompt (Windows), navigate to the location where you want the course files to be and run
1.**Install Anaconda**. We recommend installation using conda package manager. If you do not already have it installed, download [Anaconda](https://www.anaconda.com/products/individual) Python 3 for your operating system and follow the instructions to install it. After the installation is complete, in Terminal (Linux and MacOS) or Anaconda Prompt (Windows), navigate to the course directory, create a new conda environment, and activate it:
38
-
```
39
+
3.**Install Anaconda**. We recommend installation using conda package manager. If you do not already have it installed, download [Anaconda](https://www.anaconda.com/products/individual) Python 3 for your operating system and follow the instructions to install it. After the installation is complete, in Terminal (Linux and MacOS) or Anaconda Prompt (Windows), navigate to the course directory, create a new conda environment, and activate it:
40
+
```console
39
41
$ cd path/to/course/directory
40
42
$ conda env create -f environment.yml
41
43
$ conda activate introduction-to-python
42
44
```
43
-
44
45
4.**Open Jupyter Notebook**. In the environment you just activated, run:
45
-
```
46
+
```console
46
47
$ jupyter notebook &
47
48
```
48
49
49
50
## Testing
50
51
51
-
In lectures, after (almost) each exercise, you will notice that there are two cells containing some code. In these cells, we test your solution using two different testing packages:
52
+
After (almost) each exercise, there are two cells containing some code. In those cells, we test your solution using two different testing packages:
52
53
53
54
1.**PyBryt** analyses your solution and provides you feedback on what is correct in your implementation, as well as what might be wrong. Please read PyBryt's feedback carefully and address the `ERROR` messages by modifying your solution.
54
55
2.**okpy** validates your final solution and provides you a mark for it.
55
56
56
57
It is important to follow the instructions for each exercise exactly and do not change the names of variables, functions, or classes so that tests can analyse your code. Besides, please do not change the content of any of the testing cells.
57
58
59
+
Although **PyBryt** provides much more detailed feedback, it is possible it complains about your code even though **okpy** confirms your code is correct. This is because PyBryt testing is based on comparing your solution to reference solutions. Since there is virtually an infinite number of alternative solutions, it is possible that your solution is not in our references. On the other hand, **okpy** looks at the final result of your code and if **okpy** is happy with your result, your code is correct and you do not have to address **PyBryt**'s error messages (if any).
60
+
58
61
## Support
59
62
60
63
**We encourage questions!** If you require support, have questions, want to report a bug, or want to suggest an improvement, please raise an issue in the [course repository](https://github.com/ese-msc/introduction-to-python).
@@ -63,7 +66,7 @@ It is important to follow the instructions for each exercise exactly and do not
63
66
> **A:** Open an issue in this repository. This is a safe, respectful space to ask questions and open issues.
64
67
65
68
> **Q:** I've never opened an issue. How do I do it?
66
-
> **A:** Click the `Issues` tab next to top of the page, then click the green `New Issue` button. Ask your question in the title and comment fields, then click `Submit new issue`. Congratulations, you submitted your question! We will try to get back to you shortly. Tip: If you provide [helpful and detailed info](https://fangohr.github.io/computing/smartquestion.html), it is easier for us to understand your question.
69
+
> **A:** Click the `Issues` tab next to top of the page, then click the green `New Issue` button. Ask your question in the title and comment fields, then click `Submit new issue`. Congratulations, you submitted your question! We will try to get back to you shortly.
67
70
68
71
> **Q:** How can I see if somebody else had the same or similar question?
69
72
> **A:** When you click the `Issues` tab next to top of the page, you can see all issues that are currently open and are being addressed. In addition to them, you can also check the issues that have been resolved in [closed issues](https://github.com/ese-msc/introduction-to-python/issues?q=is%3Aissue+is%3Aclosed).
Copy file name to clipboardExpand all lines: index.ipynb
+9-7Lines changed: 9 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -2,14 +2,15 @@
2
2
"cells": [
3
3
{
4
4
"cell_type": "markdown",
5
+
"metadata": {},
5
6
"source": [
6
7
"# Introduction to Python\n",
7
8
"\n",
8
-
"Welcome to **Introduction to Python**! Python is one of the most popular and powerful programming languages. It is used extensively in computational and data science, and you will use it in almost all modules during your MSc studies. This self-guided course will help you to learn the basics of Python before your MSc journey.\n",
9
+
"Welcome to **Introduction to Python**! Python is one of the most popular and powerful programming languages. It is used extensively in computational and data science, and you will use it in almost all modules during your MSc studies. This self-guided course will help you to learn the basics of Python.\n",
9
10
"\n",
10
11
"## Lectures\n",
11
12
"\n",
12
-
"This course consists of the four lectures:\n",
13
+
"This course consists of four lectures:\n",
13
14
"\n",
14
15
"* [Lecture 1](./lecture1/lecture1.ipynb)\n",
15
16
"* [Lecture 2](./lecture2/lecture2.ipynb)\n",
@@ -20,13 +21,15 @@
20
21
"\n",
21
22
"## Testing\n",
22
23
"\n",
23
-
"In lectures, after (almost) each exercise, you will notice that there are two cells containing some code. In these cells, we test your solution using two different testing packages:\n",
24
+
"After (almost) each exercise, there are two cells containing some code. In those cells, we test your solution using two different testing packages:\n",
24
25
"\n",
25
26
"1. **PyBryt** analyses your solution and provides you feedback on what is correct in your implementation, as well as what might be wrong. Please read PyBryt's feedback carefully and address the `ERROR` messages by modifying your solution.\n",
26
27
"2. **okpy** validates your final solution and provides you a mark for it.\n",
27
28
"\n",
28
29
"It is important to follow the instructions for each exercise exactly and do not change the names of variables, functions, or classes so that tests can analyse your code. Besides, please do not change the content of any of the testing cells.\n",
29
30
"\n",
31
+
"Although **PyBryt** provides much more detailed feedback, it is possible it complains about your code even though **okpy** confirms your code is correct. This is because PyBryt testing is based on comparing your solution to reference solutions. Since there is virtually an infinite number of alternative solutions, it is possible that your solution is not in our references. On the other hand, **okpy** looks at the final result of your code and if **okpy** is happy with your result, your code is correct and you do not have to address **PyBryt**'s error messages (if any).\n",
32
+
"\n",
30
33
"## Support\n",
31
34
"\n",
32
35
"**We encourage questions!** If you require support, have questions, want to report a bug, or want to suggest an improvement, please raise an issue in the [course repository](https://github.com/ese-msc/introduction-to-python).\n",
@@ -35,14 +38,13 @@
35
38
"> **A:** Open an issue in this repository. This is a safe, respectful space to ask questions and open issues.\n",
36
39
"\n",
37
40
"> **Q:** I've never opened an issue. How do I do it? \n",
38
-
"> **A:** Click the `Issues` tab next to top of the page, then click the green `New Issue` button. Ask your question in the title and comment fields, then click `Submit new issue`. Congratulations, you submitted your question! We will try to get back to you shortly. Tip: If you provide [helpful and detailed info](https://fangohr.github.io/computing/smartquestion.html), it is easier for us to understand your question.\n",
41
+
"> **A:** Click the `Issues` tab next to top of the page, then click the green `New Issue` button. Ask your question in the title and comment fields, then click `Submit new issue`. Congratulations, you submitted your question! We will try to get back to you shortly.\n",
39
42
"\n",
40
43
"> **Q:** How can I see if somebody else had the same or similar question? \n",
41
44
"> **A:** When you click the `Issues` tab next to top of the page, you can see all issues that are currently open and are being addressed. In addition to them, you can also check the issues that have been resolved in [closed issues](https://github.com/ese-msc/introduction-to-python/issues?q=is%3Aissue+is%3Aclosed).\n",
42
45
"\n",
43
46
"Are you a community member that enjoys sharing your knowledge and helping others solve problems? We encourage you to respond to these issues."
0 commit comments