Let's study in the summer! Preparation for programming Olympiads for intermediate level, grades 7-9 - free course from Foxford, training, Date: December 5, 2023.
Miscellaneous / / December 08, 2023
During the classes, theoretical issues are discussed, solutions to programming problems and the basics of the Python language are discussed.
We manually check samples and homework.
We do not leave the written part assignments for self-testing - this is done by OGE experts.
We check “for real”, like in an exam, and as a result you receive detailed feedback. All this is for the sake of speed of preparation and your results. Your personal curator will answer your questions within two hours, 24/7.
The curators understand the program and the subject, so they can easily answer your questions about the course and homework - at any time.
They know well how difficult it can be to prepare and understand your worries.
The most important task of a tutor is to help you cope with stress and fear before exams.
Classes are held online on Wednesdays from 18:00 to 20:00 (Moscow time).
Candidate of Physical and Mathematical Sciences. Member of the jury of olympiads in mathematics and computer science.
Candidate of Physical and Mathematical Sciences, graduated from the Moscow State University Scientific Center, then from the Faculty of Mechanics and Mathematics of Moscow State University named after M.V. Lomonosov. Member of the jury of various olympiads in mathematics and computer science, technical editor of the “School Math Clubs” series. More than 10 years of teaching experience in schools.
Python Programming Basics
The section talks about the basic constructs of the programming language, teaches how to work with dictionaries, sets and files. The acquired knowledge is used to solve Olympiad problems.
- Input/output, integer arithmetic
- Conditional instruction
- For and while loops
- Strings
- Lists
- File I/O
- Dictionaries and sets
- Functions. Recursion
Numerical methods
This section is devoted to several important numerical algorithms, testing numbers for primality, and solving problems on the topic.
- Checking a number for primality
- Factorization
- Euclid algorithm
Search and sort
The section introduces various types of Python sorts, the principles of using array ordering to quickly find elements, as well as Olympiad problems on the topic.
- Quadratic sorting algorithms
- Quick sorts
- Linear and binary search in ordered array
- Two pointer method
Dynamic programming
The section talks about classical problems of one-dimensional and two-dimensional dynamic programming, as well as problems solved by this method.
- One-dimensional dynamic programming
- 2D dynamic programming
- Largest increasing and largest common subsequences
- Backpack packing problem
Combinatorial algorithms
This section introduces combinatorial structures, mathematical games, and teaches how to solve recursive search problems.
- Games and strategies
- Generation and counting the number of combinatorial sequences
Data structures
The section examines basic data structures and Olympiad problems on the topic, including tasks on correct parenthesis sequences.
- Stack, queue, dec