The post has been translated automatically. Original language: Russian
It is relatively easy to learn how to write a separate loop or query. It's much more difficult to figure out how to combine syntax, data, error checking, and the final result into one working system. After completing the Python and SQL courses, we formulated several principles that helped build such a learning route.
This article is not a list of lessons, but an analysis of solutions: why both courses focus on end—to-end projects, why a beginner needs to see the end result in advance, how reference signals help repetition, and where the line between AI help and independent understanding lies.
The problem of disjointed exercises
The initial course often looks like a sequence of independent topics: variables, conditions, loops, functions, files. In SQL, 'SELECT', filtering, grouping, and joins appear side by side. Each topic individually may be understandable, but the student does not always see why it is needed and at what point to apply it in the present task.
This is how "islands of knowledge" arise. A person learns the design in a textbook, but cannot start a project on their own. To close this gap, we linked the topics in a causal chain.:
1. first, a clear task appears;
2. Then the expected result is shown;
3. A new tool is introduced only when the project cannot move on without it.;
4. The result is checked by a code, a control calculation or a test;
5. At the end, the student explains the solution in his own words.
With this approach, a function, table, or index is no longer an abstract chapter. Each concept has a job in a common system.
Python: from the official source to the reproducible report
The Python end-to-end project is dedicated to working with open economic data. The student does not receive a pre-prepared table: he gradually learns to receive data from the source, verify the response, parse JSON and XML, save the origin of indicators and process omissions.
After the basic syntax, the route goes through SQLite, pandas, visualization, and statistical verification. Then logs, automatic startup, tests, schema control and publication of the result are added. This is important: the graph alone does not prove anything. You need to understand where the values came from, what transformations were performed, and whether the calculation can be repeated.

The topic of money is used as a research task. The course does not push you to a predetermined conclusion. The student formulates a hypothesis, searches for an observable indicator, checks alternative explanations, and openly describes limitations. If the data does not confirm the initial guess, this is also a valid result.
So Python is studied not as a set of commands, but as a way to build a verifiable path from source to output.
SQL: Family budget as a data model
For the SQL course, a different, but equally everyday plot was chosen — the family budget. The project has accounts, categories, and operations. It is convenient to ask questions on this small model, the meaning of which is clear without special training.:
- how much was spent in a month;
- which category exceeded the limit;- how to link an operation to its category;
- are the lines lost after the connection;
- whether the details match the overall result.
The course starts with the distinction between data, a database, and a database management system. Then the student designs the tables and introduces the constraints `NOT NULL`, `CHECK`, `UNIQUE` and foreign keys. Only then do the selection, grouping, `JOIN`, common table expressions, window functions, transactions, and indexes appear.

SQLite is used for practice. He does not need a separate server, and the database is placed in a single file. At the same time, the student works with real keys, restrictions, and transactions. Finally, he not only receives the report, but also checks the query plan, creates a backup copy and restores it.
A separate browser lab allows you to run queries on a computer, tablet, or smartphone. The training database is created on the device itself; the data is not sent to the server. This mode is convenient for short practice, although it is immediately explained to the student that a browser session is not a substitute for a reliable backup.
Why are the projects different, but the logic is the same?
Python and SQL solve different parts of the overall problem. Python is useful when you need to access the network, check the response format, clear the data, automate the process, and compile a report. SQL is especially powerful where data is already organized into tables and you need to precisely select, link, group, or check records.
Therefore, the courses do not duplicate each other. The first one shows the data processing pipeline, the second one teaches you how to design their structure and ask questions to the database. After both routes, the boundary of the tools becomes clearer: not every calculation should be transferred to Python, and not every business logic should be hidden in a long SQL query.
Reference signals and material recovery
Both courses use the ideas of Viktor Shatalov's methodology. The big topic collapses into a compact reference map: not into a cheat sheet with a ready answer, but into a sequence of signals that can be used to restore reasoning.
For example, the scheme `FROM → WHERE → GROUP BY → SUM` resembles not only the order of keywords. It restores the train of thought: take the source, leave the necessary lines, form groups and calculate the total. For Python` the map can show the path `source → validation → transformation → storage → output'.
Working with the map consists of three steps:
1. first, the student analyzes the full example;
2. Then reproduces the logic, looking only at the signals;
3. After a break, use the card to quickly repeat.
This visualization does not negate the practice. It reduces the load on the memory and helps not to lose the connection between the steps.
The "predict — execute—explain" cycle
Passive reading creates a sense of clarity that disappears in front of an empty editor. Therefore, the tasks are built around a short cycle.:
- predict the result before launching;- execute the code or query;
- compare the expectation with the fact;- change one condition;
- explain the reason for the result;
- check the boundary case.
In SQL, this may be an attempt to insert an incorrect amount and observe a triggered limit. In Python, the server response is empty, the type is incorrect, or the string is repeated. An error becomes not a punishment, but an observable behavior of the system.
How artificial intelligence is used
AI is useful for feedback, searching for unclear wording and additional explanation. But it should not turn into an answer generator that the student cannot verify. Therefore, the recommendations of the model are compared with the condition, schema, documentation, and tests.
The practical rule is simple: if the student is unable to explain the proposed solution and test it with another example, the task has not yet been mastered. The model can be an interlocutor and a reviewer, but the reproducible result remains the proof.
Three languages are not a mechanical replacement of words
The materials are prepared in Kazakh, Russian and English. For a technical course, it is not enough to automatically translate paragraphs. It is necessary to preserve the meaning of the terms, the names in the code, the expected output, links between lessons and localized reference maps.
Kazakh terminology required special attention. A literal translation sometimes changes the meaning of a concept or creates a construction that is not used in natural speech. Therefore, the language versions are checked not only for the presence of identical sections: program blocks are executed, internal links are checked, and formulations are edited taking into account the context.
What should a student be able to do at the end
We do not consider the result to be the number of pages viewed or the memorized list of commands. After Python, the student should be able to obtain data, verify its origin and structure, process, test, and present reproducible output. After SQL, design a small database, protect it with restrictions, generate a query, verify the result, and restore data from a copy.
Both courses have already been completed and are open for independent study on the Shanraq platform. You can read materials and do exercises without registering; you need an account for discussion, questions and feedback. Comments about a sudden transition between topics, an ambiguous translation, or an example that is understandable to the author, but not to a novice, are especially useful to us.
Such a response helps to check the main thing: whether the training route really brings a person from the first example to a project that he is able to explain and continue on his own.
Научиться писать отдельный цикл или запрос сравнительно легко. Гораздо труднее понять, как соединить синтаксис, данные, проверку ошибок и итоговый результат в одну работающую систему. После завершения курсов Python и SQL мы сформулировали несколько принципов, которые помогли построить такой учебный маршрут.
Эта статья — не перечень уроков, а разбор решений: почему оба курса держатся на сквозных проектах, зачем новичку заранее видеть конечный результат, как опорные сигналы помогают повторению и где проходит граница между помощью ИИ и самостоятельным пониманием.
Проблема разрозненных упражнений
Начальный курс часто выглядит как последовательность независимых тем: переменные, условия, циклы, функции, файлы. В SQL рядом появляются `SELECT`, фильтрация, группировка и соединения. Каждая тема по отдельности может быть понятна, но ученик не всегда видит, зачем она нужна и в какой момент применять её в настоящей задаче.
Так возникают «острова знаний». Человек узнаёт конструкцию в учебнике, но не может самостоятельно начать проект. Чтобы сократить этот разрыв, мы связали темы причинной цепочкой:
1. сначала появляется понятная задача;
2. затем показывается ожидаемый результат;
3. новый инструмент вводится только тогда, когда без него проект не может двигаться дальше;
4. результат проверяется кодом, контрольным расчётом или тестом;
5. в конце ученик объясняет решение своими словами.
При таком подходе функция, таблица или индекс перестают быть абстрактной главой. У каждого понятия появляется работа в общей системе.
Python: от официального источника до воспроизводимого отчёта
Сквозной проект Python посвящён работе с открытыми экономическими данными. Учащийся не получает заранее подготовленную таблицу: он постепенно учится получать данные из источника, проверять ответ, разбирать JSON и XML, сохранять происхождение показателей и обрабатывать пропуски.
После базового синтаксиса маршрут проходит через SQLite, pandas, визуализацию и статистическую проверку. Затем добавляются журналы, автоматический запуск, тесты, контроль схемы и публикация результата. Это важно: график сам по себе ещё ничего не доказывает. Нужно понимать, откуда взялись значения, какие преобразования были выполнены и можно ли повторить расчёт.

Тема денег используется как исследовательская задача. Курс не подталкивает к заранее заданному выводу. Ученик формулирует гипотезу, ищет наблюдаемый показатель, проверяет альтернативные объяснения и открыто описывает ограничения. Если данные не подтверждают первоначальную догадку, это тоже корректный результат.
Так Python изучается не как набор команд, а как способ построить проверяемый путь от источника до вывода.
SQL: семейный бюджет как модель данных
Для курса SQL выбран другой, но столь же повседневный сюжет — семейный бюджет. В проекте есть счета, категории и операции. На этой небольшой модели удобно задавать вопросы, смысл которых понятен без специальной подготовки:
- сколько потрачено за месяц;
- какая категория превысила лимит;- как связать операцию с её категорией;
- не потерялись ли строки после соединения;
- сходятся ли детали с общим итогом.
Курс начинается с различия между данными, базой данных и системой управления базой данных. Затем ученик проектирует таблицы и вводит ограничения `NOT NULL`, `CHECK`, `UNIQUE` и внешние ключи. Только после этого появляются выборка, группировка, `JOIN`, общие табличные выражения, оконные функции, транзакции и индексы.

Для практики используется SQLite. Ему не нужен отдельный сервер, а база помещается в один файл. При этом ученик работает с настоящими ключами, ограничениями и транзакциями. В заключении он не просто получает отчёт, но и проверяет план запроса, создаёт резервную копию и восстанавливает её.
Отдельная браузерная лаборатория позволяет выполнять запросы на компьютере, планшете или смартфоне. Учебная база создаётся на самом устройстве; данные не отправляются на сервер. Такой режим удобен для короткой практики, хотя учащемуся сразу объясняется, что браузерный сеанс не заменяет надёжную резервную копию.
Почему проекты разные, а логика одна
Python и SQL решают разные части общей задачи. Python удобен, когда нужно обратиться к сети, проверить формат ответа, очистить данные, автоматизировать процесс и собрать отчёт. SQL особенно силён там, где данные уже организованы в таблицы и требуется точно выбрать, связать, сгруппировать или проверить записи.
Поэтому курсы не дублируют друг друга. Первый показывает конвейер обработки данных, второй учит проектировать их структуру и задавать вопросы базе. После обоих маршрутов становится понятнее и граница инструментов: не каждый расчёт следует переносить в Python и не каждую бизнес-логику — прятать в длинный SQL-запрос.
Опорные сигналы и восстановление материала
В обоих курсах используются идеи методики Виктора Шаталова. Большая тема сворачивается в компактную опорную карту: не в шпаргалку с готовым ответом, а в последовательность сигналов, по которым можно восстановить рассуждение.
Например, схема `FROM → WHERE → GROUP BY → SUM` напоминает не только порядок ключевых слов. Она восстанавливает ход мысли: взять источник, оставить нужные строки, образовать группы и вычислить итог. Для Python карта может показывать путь `источник → проверка → преобразование → хранение → вывод`.
Работа с картой состоит из трёх действий:
1. сначала ученик разбирает полный пример;
2. затем воспроизводит логику, глядя только на сигналы;
3. после перерыва использует карту для быстрого повторения.
Такая визуализация не отменяет практику. Она снижает нагрузку на память и помогает не потерять связи между шагами.
Цикл «предсказать — выполнить — объяснить»
Пассивное чтение создаёт ощущение понятности, которое исчезает перед пустым редактором. Поэтому задания строятся вокруг короткого цикла:
- предсказать результат до запуска;- выполнить код или запрос;
- сравнить ожидание с фактом;- изменить одно условие;
- объяснить причину результата;
- проверить граничный случай.
В SQL это может быть попытка вставить некорректную сумму и наблюдение за сработавшим ограничением. В Python — пустой ответ сервера, неверный тип или повторная строка. Ошибка становится не наказанием, а наблюдаемым поведением системы.
Как используется искусственный интеллект
ИИ полезен для обратной связи, поиска неясной формулировки и дополнительного объяснения. Но он не должен превращаться в генератор ответа, который ученик не может проверить. Поэтому рекомендации модели сопоставляются с условием, схемой, документацией и тестами.
Практическое правило простое: если учащийся не способен объяснить предложенное решение и проверить его на другом примере, задача ещё не освоена. Модель может быть собеседником и рецензентом, но доказательством остаётся воспроизводимый результат.
Три языка — не механическая замена слов
Материалы подготовлены на казахском, русском и английском языках. Для технического курса недостаточно автоматически перевести абзацы. Нужно сохранить смысл терминов, имена в коде, ожидаемый вывод, ссылки между уроками и локализованные опорные карты.
Особое внимание потребовала казахская терминология. Буквальный перевод иногда меняет смысл понятия или создаёт конструкцию, которой не пользуются в естественной речи. Поэтому языковые версии проверяются не только на наличие одинаковых разделов: программные блоки выполняются, внутренние ссылки проверяются, а формулировки редактируются с учётом контекста.
Что должен уметь учащийся в конце
Итогом мы считаем не количество просмотренных страниц и не запомненный список команд. После Python учащийся должен уметь получить данные, проверить их происхождение и структуру, обработать, протестировать и представить воспроизводимый вывод. После SQL — спроектировать небольшую базу, защитить её ограничениями, сформировать запрос, сверить результат и восстановить данные из копии.
Оба курса уже завершены и открыты для самостоятельного прохождения на платформе Shanraq. Читать материалы и выполнять упражнения можно без регистрации; учётная запись нужна для обсуждения, вопросов и обратной связи. Для нас особенно полезны замечания о резком переходе между темами, неоднозначном переводе или примере, который понятен автору, но не новичку.
Такой отклик помогает проверить главное: действительно ли учебный маршрут доводит человека от первого примера до проекта, который он способен объяснить и продолжить самостоятельно.