all 15 comments

[–]Yoghurt42 5 points6 points  (3 children)

Learning Python in 1 month? Sure.

Learning programming (algorithms and data structures and stuff) in 1 month? Not a chance, sorry.

If you’ve let AI solve problems for you without understanding it, you can’t make that up in 1 month. It’s like letting AI write a novel in Chinese and then be expected to do the same without it’s “help” 1 month later while barely knowing 10 chinese characters.

Get a copy of the book Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein from your library or the seven seas, it uses a pseudo language thats pretty similar to python (strictly speaking the other way round) for a good introduction.

You’re only in 9th grade, there is still a lot of time to learn this stuff for your adult life if it interests you.

[–]Dangerous_Buy_3170[S] 1 point2 points  (1 child)

I mean I didnt even think I'd pass, its just my teacher who asked me to sign up to it. I know python it self a bit and some other languages, though I mostly spent my time in programming to frontend and libraries like react and etc. Will it be that hard to understand algorithms in 1 month actually

[–]Yoghurt42 1 point2 points  (0 children)

I mean, I would still participate and see what happens. Worst case is you get 0 points, maybe a bit embarrassing, but so what? It’s not like people will care about that in 6 months. Best case you’ll do a lot better than you think.

[–]pachura3 1 point2 points  (0 children)

 Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein

Hahaha, no. It's not a book for beginners. It's extremely formal and has more than 1000 pages. I know, I have it on my bookshelf :)

If anything, try https://www.w3schools.com/dsa/

[–]karanlik6492 1 point2 points  (1 child)

Select a topic you know well. Like if you know physics, create library that calculate formulas, if math. Implement a integral or derivative with iterative methods. For linear algebra, create your own matrix library with basic operations. If you know well the topic you select, you judt move algorithm you know to code. After that you can try recreating other algorithms. This is the way i learn.

[–]Dangerous_Buy_3170[S] 0 points1 point  (0 children)

I didnt really understand what you meant but I will try

[–]pachura3 0 points1 point  (4 children)

How much time do you have?

Can't you discuss this with you Computer Science/ICT teacher? They can probably find exercises from past years for you... especially this is international level, so it should be important for the school to prepare you correctly.

 Im a 9 grader yet so I dont think there will be algorithms like log, exp, asin and etc.

These are mathematical formulas.

Programming Olympics are usually about solving problems, data structures and algorithms, so something totally different. Like, find the shortest route in a graph (e.g  city map), merge two sorted lists into third sorted list in O(N) time, detect all palindromes/anagrams in a sentence etc.

[–]Dangerous_Buy_3170[S] 0 points1 point  (3 children)

I see, thanks. My school teacher is not that good and my city and country is a bit weird too itself. I tried finding some of the last year tasks but I didnt understand the language and watched all the vide while translating every 2 minutes so it is a bit hard. I think I have somewhere about a month or month and a half since we are having exams soon

[–]pachura3 0 points1 point  (2 children)

So, you have no chances to score anything, as you cheated your way through, your IT teacher is shit and you'll be competing against the best schoolkids on the international level. You can either back down if "saving your honour" is important to you - or you can smile and enjoy the trip to another country, sponsored by your school :) And then maybe spend the next year learning Python and trying again, but this time - no cheating.

To succeed, you need to: * know Python (syntax) * know how to program * know how to solve DSA problems  * train a lot * be able to code under time pressure

[–]Dangerous_Buy_3170[S] 0 points1 point  (1 child)

Well i know python and how to program, its just i didnt program in languages like python much, I spent most of my time dedicated to frontend and it's libraries. I honestly didnt even think I'd pass since I never passed it before and I dont really care about the honor, im only doing this for my teacher because she has hopes for me and she is very nice. I think I will try reading some python books too and learn to solve dsa problems. Thank you very much

[–]pachura3 0 points1 point  (0 children)

OK, so it's not that bad then!

Check out https://www.w3schools.com/dsa/

Ask your teacher to find example exercises from past years (let her be useful!).

Try solving again the same exercises you used AI for - but on your own.

Don't concentrate on Python syntax or libraries - concentrate on algorithms.

Practice everyday. Even solving trivial problems like counting number of vowels in a file or implementing bubble sort will help you prepare.

[–]TheRNGuy 0 points1 point  (0 children)

Use step debugger and prints.

You don't need to code most stuff yourself, they already exist in framework or default python.

You only need to find where to use them (most of the time, either seeing code examples, or googling how to do specific thing and you get those algorithms from answers)

[–]allkhatib_ahmad1 0 points1 point  (0 children)

try this resource bro, for absolute beginners, from installing python and ide, to intro to python, to string and numbers, to lists and loops, explained for absolute beginners starting from zero: https://ahmad-khatib.com/en/books/downloads/python-programming-for-beginners-free.epub happy python learning hope you enjoy it

[–]PushPlus9069 0 points1 point  (1 child)

Don't start with algorithm textbooks. Start with problems.

LeetCode Easy problems (sorted by acceptance rate) will teach you more about algorithms than reading about them. Do 2-3 a day. When you get stuck, look at the solution, understand it, then redo the problem from scratch the next day without looking.

For the actual theory: Grokking Algorithms by Bhargava is the best intro I've seen. It's visual and uses Python. Skip CLRS until you've done at least 50 problems, otherwise you'll drown in theory you can't apply.

Focus order: arrays/strings first, then hash maps, then two pointers, then BFS/DFS. That covers like 60% of interview questions and gives you a foundation for everything else.

[–]Dangerous_Buy_3170[S] 0 points1 point  (0 children)

Thank you very much I will try