NOI.PH Python Tutorials
These tutorials cover the absolute bare minimum required for you to start writing simple programs in Python and join competitive programming contests.
The lessons are presented through interactive Python notebooks, with code snippets directly embedded in the document, which you are encouraged to run, edit, and generally play around with. There are also “summary slides” in the traditional PDF format.
“Problem sets” hosted on Codeforces will help check your understanding of the syntax. The last few problems in each set are “interesting” problems that hopefully give you a taste of the kinds of puzzles that competitive programming has to offer!
In order to see the problem sets, you will need to join the NOI.PH group on Codeforces, linked here: https://codeforces.com/group/Sw3sdIlMPV/contests
- Create a Codeforces account at https://codeforces.com/.
- Go to https://codeforces.com/group/Sw3sdIlMPV/contests.
- Scroll down a bit to find the “Member Management” panel on the right side of the page. Then, click on the “Join” button.
- You should be able to see the exercises now (as well as access them through the links on this page)
If you need help understanding anything, don’t be afraid to ask for help at the NOI.PH Discord, open to all Filipino HS students!
Additional Topics Worth Researching On Your Own
We don’t have tutorials for these topics yet, but you’ll find that they’ll be quite helpful in the coming contests, as well as in your programming journey in general!
There are lots of resources online that you can check out, and if you need any help, you can always ask in the Discord!
- while loops, break, and continue
- Functions! How to define your own functions
- Helpful builtin functions like any, all, zip
Done with the tutorials? Looking for a challenge? Curious to see the kinds of problems you’ll encounter in competitive programming? You can check out the problems from the ABaKoDa Long Contest in 2021 and 2022! Abakoda is an initiative by NOI.PH to gently introduce high school students to competitive programming, so it’s perfect for beginners. But be warned—just because it’s for beginners doesn’t mean it’ll all be easy!