Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added docs/assets/images/autograder.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -5,28 +5,16 @@
"id": "a6232bcb",
"metadata": {},
"source": [
"# Hub\n",
"# Lobby\n",
"\n",
"Welcome to the hub! This notebook does two main things:\n",
"Welcome to the lobby! This notebook does two main things:\n",
"\n",
"- Automates the process of setting you up\n",
"- Allows you to quickly navigate between notebooks\n",
"\n",
"You'll also be returning here after you complete each module to get the next one.\n",
"\n",
"### Quick Navigation\n",
"\n",
"Once you've unlocked the respective module, you can click on the links in any of the cells of the table below to be brought straight to the associated notebook.\n",
"\n",
"|Module A||Module B||Module C||Module D||\n",
"|:-|:-|:-|:-|:-|:-|:-|:-|\n",
"|[Lesson 1: notebooks](Module_A/Lesson_1_notebooks.ipynb)|[Problem Set 1](Module_A/Problem_Set_1.ipynb)|[Lesson 1: functions](Module_B/Lesson_1_functions.ipynb)|[Problem Set 1](Module_B/Problem_Set_1.ipynb)|[Lesson 1: booleans](Module_C/Lesson_1_booleans.ipynb)|[Problem Set 1A](Module_C/Problem_Set_1A.ipynb)<br> [Problem Set 1B](Module_C/Problem_Set_1B.ipynb)|[Lesson 1: lists](Module_D/Lesson_1_lists.ipynb)|[Problem Set 1](Module_D/Problem_Set_1.ipynb)|\n",
"|[Lesson 2: operators](Module_A/Lesson_2_operators.ipynb)||||[Lesson 2: conditionals](Module_C/Lesson_2_conditionals.ipynb)|[Problem Set 2A](Module_C/Problem_Set_2A.ipynb)<br> [Problem Set 2B](Module_C/Problem_Set_2B.ipynb)|[Lesson 2: iteration](Module_D/Lesson_2_iteration.ipynb)|[Problem Set 2](Module_D/Problem_Set_2.ipynb)|\n",
"|[Lesson 3: variables](Module_A/Lesson_3_variables.ipynb)|[Problem Set 2A](Module_A/Problem_Set_2A.ipynb)<br> [Problem Set 2B](Module_A/Problem_Set_2B.ipynb)<br> [Problem Set 3A](Module_A/Problem_Set_3A.ipynb)<br> [Problem Set 3B](Module_A/Problem_Set_3B.ipynb)|||||[Lesson 3: list functions](Module_D/Lesson_3_list_functions.ipynb)|[Problem Set 3](Module_D/Problem_Set_2.ipynb)|\n",
"|[Lesson 4: statements](Module_A/Lesson_4_statements.ipynb)|[Problem Set 4](Module_A/Problem_Set_4.ipynb)|||||||\n",
"|[Test](Module_A/Test.ipynb)|[Additional Exercises](Module_A/Additional_Exercises/AE.ipynb)|[Test](Module_B/Test.ipynb)|[Additional Exercises](Module_B/Additional_Exercises/AE.ipynb)|[Test](Module_C/Test.ipynb)|[Additional Exercises](Module_C/Additional_Exercises/AE.ipynb)|[Test](Module_D/Test.ipynb)|[Additional Exercises](Module_D/Additional_Exercises/AE.ipynb)|\n",
"\n",
"### Automated setup\n",
"### Download the Next Module\n",
"\n",
"If this is your first time using the notebook, make sure you see the word \"setup\" in the cell below, and then click the button to \"run all cells\". This should be on the bar at the top and look like two right-facing arrows, or the fast-forward button on a TV remote. This will automatically install everything you need to start working through these notebooks."
]
Expand Down Expand Up @@ -54,6 +42,18 @@
"source": [
"If you've just completed a module test, take the password you got and assign it to `password` above (you should know what that means now!) Now when you run all cells, it should download the next module for you. If you get the password wrong, nothing will happen!\n",
"\n",
"### Quick Navigation\n",
"\n",
"Once you've unlocked the respective module, you can click on the links in any of the cells of the table below to be brought straight to the associated notebook.\n",
"\n",
"|Module A||Module B||Module C||Module D||\n",
"|:-|:-|:-|:-|:-|:-|:-|:-|\n",
"|[Lesson 1: notebooks](Module_A/Lesson_1_notebooks.ipynb)|[Problem Set 1](Module_A/Problem_Set_1.ipynb)|[Lesson 1: functions](Module_B/Lesson_1_functions.ipynb)|[Problem Set 1](Module_B/Problem_Set_1.ipynb)|[Lesson 1: booleans](Module_C/Lesson_1_booleans.ipynb)|[Problem Set 1A](Module_C/Problem_Set_1A.ipynb)<br> [Problem Set 1B](Module_C/Problem_Set_1B.ipynb)|[Lesson 1: lists](Module_D/Lesson_1_lists.ipynb)|[Problem Set 1](Module_D/Problem_Set_1.ipynb)|\n",
"|[Lesson 2: operators](Module_A/Lesson_2_operators.ipynb)||||[Lesson 2: conditionals](Module_C/Lesson_2_conditionals.ipynb)|[Problem Set 2A](Module_C/Problem_Set_2A.ipynb)<br> [Problem Set 2B](Module_C/Problem_Set_2B.ipynb)|[Lesson 2: iteration](Module_D/Lesson_2_iteration.ipynb)|[Problem Set 2](Module_D/Problem_Set_2.ipynb)|\n",
"|[Lesson 3: variables](Module_A/Lesson_3_variables.ipynb)|[Problem Set 2A](Module_A/Problem_Set_2A.ipynb)<br> [Problem Set 2B](Module_A/Problem_Set_2B.ipynb)<br> [Problem Set 3A](Module_A/Problem_Set_3A.ipynb)<br> [Problem Set 3B](Module_A/Problem_Set_3B.ipynb)|||||[Lesson 3: list functions](Module_D/Lesson_3_list_functions.ipynb)|[Problem Set 3](Module_D/Problem_Set_2.ipynb)|\n",
"|[Lesson 4: statements](Module_A/Lesson_4_statements.ipynb)|[Problem Set 4](Module_A/Problem_Set_4.ipynb)|||||||\n",
"|[Test](Module_A/Test.ipynb)|[Additional Exercises](Module_A/Additional_Exercises/AE.ipynb)|[Test](Module_B/Test.ipynb)|[Additional Exercises](Module_B/Additional_Exercises/AE.ipynb)|[Test](Module_C/Test.ipynb)|[Additional Exercises](Module_C/Additional_Exercises/AE.ipynb)|[Test](Module_D/Test.ipynb)|[Additional Exercises](Module_D/Additional_Exercises/AE.ipynb)|\n",
"\n",
"- - -\n",
"\n",
"<br>\n",
Expand Down
Binary file modified docs/assets/zips/bubblegum.zip
Binary file not shown.
Binary file modified docs/assets/zips/calisson.zip
Binary file not shown.
Binary file modified docs/assets/zips/dumle.zip
Binary file not shown.
Binary file modified docs/assets/zips/setup.zip
Binary file not shown.
36 changes: 28 additions & 8 deletions docs/getting_started.markdown
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ progress as you go. We recommend that you do every problem set. At the end of
each module is a test. Autograding the test and getting at least 80% will give
you a password that you can use to access the next module.

Modules E and beyond are not yet implemented
Modules E and beyond are not yet implemented.

### Jupyter

Expand All @@ -58,13 +58,13 @@ If you're a student at the University of Toronto, then you can do everything rig
1. Go to [https://datatools.utoronto.ca/][datatools-url]
2. From the three options you see, choose "JupyterLab" ![image][datatools-img]
3. Log in with your UTORid
4. <a href="{{site.url}}{{site.baseurl}}/assets/notebooks/Hub.ipynb"
4. <a href="{{site.url}}{{site.baseurl}}/assets/notebooks/Lobby.ipynb"
download>Download this notebook</a>
5. Click the upload button (from the image below)
![image][upload-img]{:width="50%"}
6. Select the notebook you just downloaded

You should now see the notebook `Hub.ipynb` displayed in the right sidebar
You should now see the notebook `Lobby.ipynb` displayed in the right sidebar
(file-browser). Double click on the notebook to open it. Once you've opened
it, follow the instructions in the notebook to start on module A.

Expand All @@ -79,7 +79,7 @@ modules are released, you may want to return here for further instructions.

### Downloading New Modules

(These instructions are repeated in `Hub.ipynb`)
(These instructions are repeated in `Lobby.ipynb`)

For your first module, you should be able to simply press the "Restart the
kernel and run all cells" button at the top of your screen (see image).
Expand All @@ -92,17 +92,37 @@ file with `Ctrl+S`, and then run all cells. This will download the next module f

### Autograding

The autograder is a way to check your progess. In any notebook that can be
The autograder is a way to check your progress. In any notebook that can be
autograded, you should see a cell with some code and a comment saying "run this
cell to autograde this notebook". Running this cell might take a while, but you
cell to autograde this notebook".
![image][autograder-img]. Running this cell might take a while, but you
should see as output below which questions you got wrong, what your final score
was, and some hints on what might fix your errors.

**Remember to always save your notebook with `Ctrl+S` before running the
autograder**.
**Remember to always save your notebook with `Ctrl+S` and to restart the kernel before running the autograder**.

[autograder-img]: assets/images/autograder.png
[datatools-url]: https://datatools.utoronto.ca/
[datatools-img]: assets/images/datatools.png
[upload-img]: assets/images/upload.png
[runall-img]: assets/images/runall.png

Throughout these notebooks, you will have **three ways to assess your progress**:
- Practice exercises
- Problem sets
- Tests

**Practice exercises** will be sprinkled throughout your lessons and will be ungraded. It's meant for you to experiment, try new things, and not worry too much about getting things right. A lot of the time, practice exercises will involve asking you to make mistakes for the sake of seeing what works and what doesn't.

**Problem sets** are graded. The intended progression is for you to do the problem set associated with each lesson right after finishing reading it. To get feedback, there will be a code cell that you can run. This will tell you which problems you got right and wrong, and sometimes nudge you in the direction of a correct solution. You can skip problem sets if you're already extremely familiar with the material, but we really suggest taking the time to do them! On the other side, **if you're still feeling like you need more practice with the material:** there are extra problem set questions in the folder "Additional_Exercises". Please note that these do not have autograder support.

**Tests** are the milestones at the end of each module. They will cover material from the entire module, and will be graded using the same autograder as the problem sets. If you get 80% of the questions right, you will receive a **password**, which you can enter into `Lobby.ipynb` to get access to the next module. We'll tell you more about how this works when you finish module A.

### A note on practicing

This notebook might form the lecture materials for a course in which it is used, or alternatively, if you're taking the module independently, you will be making your way through it by yourself. Regardless, in order to learn to program, practice is paramount! The exercises in the `exercises` folder that start with 'A1' are the ones that go with Block A, Lesson 1. For Block A, we'd recommend you take lessons 1 and 2 first before starting to practice (you will need the concepts from lesson 2 in order to practice with lessons 1 and beyond).

### A note on versioning

There are several different versions of Jupyter. Most of the information here will pertain to all versions, but some small details (colours, UI, keybindings, etc.) will likely be different on your machine.

4 changes: 4 additions & 0 deletions docs/index.markdown
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,7 @@ you want to know more about who we are, check out *About*.
We're also hosting a workshop in early September! More information will be
available here shortly.

### Acknowledgments

These notebooks are inspired by (and sometimes outright quote from) the textbook _Think Python_. You can find the textbook in HTML, free of charge, here: [https://greenteapress.com/thinkpython2/html/](https://greenteapress.com/thinkpython2/html/). We will refer to the relevant sections of the textbook in the overview -- so TP 1.1 refers to section 1.1 of _Think Python_. While the textbook isn't necessary, it might be helpful for you to have a look at it, especially if you get stuck!

2 changes: 1 addition & 1 deletion make_zips.sh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ custom_zip() {
cd updated/

rm ../docs/assets/zips/*.zip
cp ./Hub.ipynb ../docs/assets/notebooks/
cp ./Lobby.ipynb ../docs/assets/notebooks/

custom_zip setup.zip ./Module_A/
mv setup.zip ../docs/assets/zips/
Expand Down