If you are viewing this page on GitHub, you may want to switch to the standalone website for a better experience.
WDSS's Beginner's Python course is designed for anyone completely new to Python or even programming in general. The course is self-contained and approaches the language in a slow and friendly manner, assuming no prior knowledge. All of our resources are free to be used by anyone, though WDSS do offer teaching and mentorship for this course to make learning even easier. Keep an eye on our socials to be the first to know when we begin a new iteration.
Have fun learning!
To make learing Python as simple as possible, we have centred our course around the use of Google Colab, a free, interactive cloud environment for Python programming. You can get setup with Colab by visiting this link or searching for Google Colab (using Google Chrome, as this has the best compatibility, unsurprisingly). Sign up using a Google account and get started by going to File > New Python Notebook
.
All of our exercise and solution sheets also have links to open them in Colab. Once you are finished with your work, save these to your own drive using File > Save a Copy in Drive
.
If you wish to avoid using Google Colab or want to code without an internet connection, you can setup up Anaconda on your computer to obtain a similiar, but local, experience. You can do this by visting this link and following installation instructions. Once you have Anaconda installed, open the Anaconda Navigator (this is just a normal program you'll find in your start menu). Then, launch 'Jupyter Notebook' and click New > Python 3 Notebook
. This will create a blank Python 3 notebook just like with Colab. You can still use our templates by downloading the raw file from GitHub, placing it in your documents, and navigating to it in Jupyter.
The WDSS team have put their heart and soul (and some hundreds of hours) into producing the material in this course. After devoting that much energy, we want the resources to as perfect as possible. For that reason, if you come across any issue (spelling/grammar mistake, incorrect code, confusing points), no matter how small, please report it here. It only takes a few moments and we'll massively appreciate it!
This course is jam-packed with content, which may make it seem a little daunghting at first but don't worry. The teaching is designed in such a way that you can pick the content that is most relevant to you to tailor your learning experience. Here are the different types of resources avaiable and why you may or may not want to use them.
The course content is found in eight slideshow presentations, one for each session, but there are recordings for every session of the tutor going through the slides. It is strongly advised to learn from these recordings as more information, context, and explanations are given than is provided in the slides alone.
Every teaching session has a corresponding template notebook. This contains three types of questions:
- Introductary questions: these correspond to the material taught in the session and can be filled in as you go through the slides with the tutor
- Standard puzzles: questions to test your knowledge during the session, completed during a pause in the teaching and then worked through
- Bonus puzzles: extra questions to further your understanding, these do not need to be understood to continue with the session and not answered during teaching
If you already have a reasonable understanding of coding or Python, you may wish to skip completing the session notebooks, or only complete selected questions. A completed version of this notebook is also provided for each session.
Every teaching session also has a homework notebook. These must be completed in their entirety for a participant to be eligable for a certificate of completion; in fact, completing the homework sheets is the only requirement. Solutions for all questions are provided, but we will be looking out for plagarism so it is best not to copy answers.
Some of the teaching sessions include a collection of subject-specific question notebooks. These are additional problem sheets offering project-based questions on the five main subject ventures of WDSS (biochemistry, economics/finance, maths/stats, physics/engineering, politics/social sciences). These are not at all needed to complete the course, but instead offer additional material to push you and demonstrate how the techniques you are learning can be applied to domain-specific problems.
Finally, each session contains a notebooks providing additional notes. These expand on the teachings of the standard content, introducing a style of coding known as Pythonic coding. These notes show how the same aims can be achieved using more Pythonic notation. Knowledge of such material is vital for impressing during coding interviews/assessments and working as part of a Python programming team. If a participant studies all additional content and completes all homeworks using Pythonic programming techniques, we offer a special variant of the completion certificate if requested.
Here you can find the resources for each session. Sessions will be added as the course progresses.
- Session One
- Session Two
- Session Three
- Session Four
- Session Five
- Session Six
- Session Seven
- Session Eight
On top of any support the WDSS can offer, there are many open-source resources for learning Python. Here are some of our favourites:
You can find a list of answered FAQs here.
If you are taking this course through WDSS, your first port of call for any issues is your mentor. They will be able to handle the majority of issues and can elevate any particulary troublesome or important ones.
If you are self-teaching, feel free to reach out to Tim Hargreaves (the content author) on LinkedIn or Osandi Payagala (the course coordinator) on LinkedIn
This course was written and initially taught by Tim Hargreaves.
The current course coordinator is Osandi Payagala.
For general enquires, reach out to education@wdss.io.