The post has been translated automatically. Original language: Kazakh
You study a programming lesson, and everything seems clear. You run the program in the example — it works. And when you open an empty file to write something yourself, you don't know where to start.
There is a bit of a line from" I got the explanation "to" I can do it myself." At the free Shanraq courses, we pay special attention to this. When developing the courses, we turned to the pedagogical ideas of Shatalov Viktor Fedorovich: the use of reference signals, the reproduction of what was read from memory and the systematic return to the material studied.
I would like to tell the Astana Hub community how we adapted these ideas for learning programming and what courses we created as a result.
In Shatalov's method, reference signals were used along with the explanation. These are compact signs, images and connections between them that help the student remember the material passed. After the explanation, the student worked on his own: he recalled and redrawn the reference signals, relied on them, told the topic, then returned to it. Shatalov used this approach, including, In the work "pedagogical prose" described by.
This goal is close to us: to give a person a support that will help him think independently. At Shanraq, we adapt the individual principles of this system to text lessons and code writing. We do not copy the school's methodology to online learning in general, based on teacher-class collaboration.
First, we see the entire program running.

At the beginning of the lesson, the reader sees which program he is creating. You can run it and observe the result, and then analyze the parts in order. It immediately becomes clear why a variable, condition, or function is needed.
The project that combines the lessons in the Go course is your own blog. Gradually, the possibilities of displaying pages, saving notes, searching and disconnecting users will be added to it. At the end of each lesson, it is explained where the new theme will be used in this project. Thus, separately learned knowledge is combined into the structure of one program.
Each stem has a support scheme.

This drawing summarizes the basic concepts and their relationships on a single screen. You can save it and use it to recall the content of the comment. We also explain new terms through familiar images of everyday life.
For example, in the lesson on HTTP, the request will look like a completed form: it will indicate which action was requested, why it applies, and what additional details need to be considered. And to clarify the order of sending a response, take, for example, an envelope: you can change the inscription outside it when you are in your arms, it's too late after sending.
After this video with the code, a clear action is performed. The reader changes the order in which HTTP response headers and main content are sent, starts the server, and monitors the result. An analogy helps you remember the rule, and experiments with the program allow you to check how it is applied.
Explaining the topic in your own words is a mandatory part of the academic work.

After the analysis, the "tell in your own words" section is given. Regardless of the text, questions should be answered aloud or in writing. The answers to the self-test are located separately.
In the same HTTP lesson, the reader explains why the reply headings that have already been sent cannot be changed and the difference between 404 and 405 responses. Both concepts may seem familiar when looking at the text. And when you explain it yourself, you notice that you don't understand exactly where.
Try this approach on any topic: close the comment, leave only the drawing in front of you, and tell the topic in your own words. Wherever you pause, a specific question will appear to reread this point.

Past concepts reappear in new tasks.

The lesson on the Web server reuses structures, pointers, and interfaces that the reader is already familiar with earlier. Now they can read the request and help you send the response to the browser. Each new use allows you to more deeply understand the essence of the familiar definition.
The task that you perform on your own is also based on this. In the HTTP lesson, the server must be replenished: the home page must contain a greeting, the "about myself" Page must contain text about the author, and Error 404 must be returned when sending a request to an unknown address. Then a check is performed with various requests. The task has a clear result, you can also compare your work.
A small mandatory task will help you take the next step. And additional tasks allow you to explore the topic more deeply, if you have the time and intention.
The specifics of our courses are a combination of these approaches: a working example, a detailed analysis, a reference scheme, an explanation from memory, an independent task and a return to familiar ideas within the framework of a single project. This sequence is included in the structure of the stems. The reader knows in advance how to work with the next topic and how to check if he has understood it.
What courses are ready now?
The course "The Go language: from scratch to your own blog" is fully ready. It has 50 lessons, from setting up a work environment to launching your own blog. The course covers the basics of the Go language, the Web server, Page templates, Databases, and the Basics of Security. You can run the blog on your own computer. It is not necessary to buy a domain to take the course.
About half of the course" Python: from data to your own report " is ready, new lessons are being added. Here, this approach is applied to working with data: prices, tenge exchange rate, tables and calculations are considered. The final project is planned as a program that takes and stores open data, draws graphs and prepares a report. The full course content is still being developed.
In the future, we plan to develop courses in SQL, Rust, machine learning and other areas. These are future courses, we are not setting release dates yet.Shanraq lessons are available for free in Kazakh, Russian and English. Registration is not required to read them. You can read at your own pace, go back to the basic outline of the lesson and repeat the difficult step again.
From the Shanraq courses page you can choose a direction and open the lesson. Try a small experiment: after reading, explain the topic based on the drawing, and then make changes to the program, without copying the finished solution. This way, you will be able to assess how well this learning approach suits you.
Have you ever used Shatalov's supporting summaries at school, university or when studying on your own? What helped you move from a clear explanation to your own solution? Share your experience in the comments.
Бағдарламалау сабағын оқисыз — бәрі түсінікті сияқты. Мысалдағы бағдарламаны іске қосасыз — жұмыс істейді. Ал өзіңіз бірдеңе жазу үшін бос файл ашқанда, неден бастарыңызды білмей қаласыз.
«Түсіндірмені түсіндім» дегеннен «өзім жасай аламын» дегенге дейін біраз жол бар. Shanraq-тың тегін курстарында біз осыған ерекше көңіл бөлеміз. Курстарды әзірлегенде Виктор Фёдорович Шаталовтың педагогикалық идеяларына жүгіндік: тірек сигналдарын пайдалану, оқығанды есте сақтағаның бойынша жаңғырту және өткен материалға жүйелі түрде оралу.
Astana Hub қауымдастығына осы идеяларды бағдарламалауды үйренуге қалай бейімдегенімізді және соның нәтижесінде қандай курстар жасағанымызды айтып бергім келеді.
Шаталовтың әдістемесінде түсіндірумен қатар тірек сигналдары қолданылған. Бұлар — оқушыға өткен материалды еске түсіруге көмектесетін ықшам белгілер, суреттер және олардың арасындағы байланыстар. Түсіндіруден кейін оқушы өзі жұмыс істеген: тірек сигналдарын есіне түсіріп, қайта сызған, соларға сүйеніп тақырыпты әңгімелеп берген, кейін оған қайта оралған. Шаталов бұл тәсілді, соның ішінде, «Педагогикалық проза» еңбегінде сипаттаған.
Бізге осы мақсат жақын: адамға өз бетінше ой қорытуға көмектесетін тірек беру. Shanraq-та бұл жүйенің жекелеген қағидаларын мәтіндік сабақтар мен код жазуға бейімдейміз. Мұғалім мен сыныптың бірлескен жұмысына негізделген мектеп әдістемесін онлайн оқуға тұтастай көшіріп отырған жоқпыз.
Алдымен жұмыс істейтін бағдарламаны тұтас көреміз.

Сабақтың басында оқырман қандай бағдарлама жасайтынын көреді. Оны іске қосып, нәтижесін байқауға, содан кейін бөліктерін ретімен талдауға болады. Айнымалының, шарттың немесе функцияның не үшін керегі бірден түсінікті болады.
Go курсында сабақтарды біріктіретін жоба — өз блогыңыз. Біртіндеп оған беттерді көрсету, жазбаларды сақтау, іздеу және пайдаланушыларды ажырату мүмкіндіктері қосылады. Әр сабақтың соңында жаңа тақырыптың осы жобада қай жерде қолданылатыны түсіндіріледі. Осылайша бөлек меңгерілген білім бір бағдарламаның құрылымына бірігеді.
Әр сабақтың тірек сызбасы бар.

Бұл сызба негізгі ұғымдар мен олардың байланысын бір экранға жинақтайды. Оны сақтап алып, түсіндірменің мазмұнын еске түсіру үшін пайдалануға болады. Жаңа терминдерді күнделікті өмірдегі таныс бейнелер арқылы да түсіндіреміз.
Мысалы, HTTP туралы сабақта сұрау толтырылған бланкіге ұқсастырылады: онда қандай әрекет сұралғаны, оның неге қатысты екені және қандай қосымша мәліметтерді ескеру керегі көрсетіледі. Ал жауапты жіберу ретін түсіндіру үшін хатқалтаны мысалға аламыз: қолыңызда тұрғанда оның сыртындағы жазуды өзгерте аласыз, жіберіп қойған соң кеш болады.
Осы бейнеден кейін кодпен нақты әрекет жасалады. Оқырман HTTP жауабының тақырыптары мен негізгі мазмұнын жіберу ретін өзгертеді, серверді іске қосып, нәтижесін бақылайды. Ұқсастық ережені есте сақтауға көмектеседі, ал бағдарламамен тәжірибе жасау оның қалай қолданылатынын тексеруге мүмкіндік береді.
Тақырыпты өз сөзіңізбен түсіндіру — оқу жұмысының міндетті бөлігі.

Талдаудан кейін «Өз сөзіңізбен айтыңыз» бөлімі беріледі. Мәтінге қарамай, сұрақтарға дауыстап немесе жазбаша жауап беру керек. Өзіңізді тексеруге арналған жауаптар бөлек орналасқан.
Сол HTTP сабағында оқырман жіберіліп қойған жауап тақырыптарын неліктен өзгертуге болмайтынын және 404 пен 405 жауаптарының айырмасын түсіндіреді. Мәтінге қарап отырғанда екі ұғым да таныс көрінуі мүмкін. Ал өзіңіз түсіндіргенде, нақты қай тұсын түсінбей қалғаныңыз байқалады.
Бұл тәсілді кез келген тақырыпта қолданып көріңіз: түсіндірмені жауып, алдыңызда тек сызбаны қалдырыңыз да, тақырыпты өз сөзіңізбен айтып беріңіз. Қай жерде кідірсеңіз, сол тұсты қайта оқуға арналған нақты сұрақ пайда болады.

Өткен ұғымдар жаңа тапсырмаларда қайта кездеседі.

Веб-сервер туралы сабақта оқырман бұрын танысқан құрылымдар, көрсеткіштер мен интерфейстер қайта қолданылады. Енді олар сұрауды оқып, браузерге жауап жіберуге көмектеседі. Әр жаңа қолданыс таныс анықтаманың мәнін тереңірек түсінуге мүмкіндік береді.
Өз бетіңізше орындайтын тапсырма да осыған негізделген. HTTP сабағында серверді толықтыру керек: басты бет сәлемдесуі, «Өзім туралы» беті автор жайлы мәтін көрсетуі, ал белгісіз мекенжайға сұрау жіберілгенде 404 қатесі қайтарылуы тиіс. Содан кейін әртүрлі сұраулармен тексеру жүргізіледі. Тапсырманың нақты нәтижесі бар, өз жұмысыңызды сонымен салыстыра аласыз.
Шағын міндетті тапсырма келесі қадамды жасауға көмектеседі. Ал қосымша тапсырмалар уақыт пен ниет болса, тақырыпты тереңірек зерттеуге мүмкіндік береді.
Курстарымыздың ерекшелігі осы тәсілдердің үйлесуінде: жұмыс істейтін мысал, егжей-тегжейлі талдау, тірек сызбасы, есте сақтағаның бойынша түсіндіру, өздік тапсырма және бір жобаның аясында таныс идеяларға қайта оралу. Бұл реттілік сабақтардың құрылымына енгізілген. Оқырман келесі тақырыппен қалай жұмыс істеу керегін және оны түсінгенін қалай тексеруге болатынын алдын ала біледі.
Қазір қандай курстар дайын?
«Go тілі: нөлден өз блогыңа дейін» курсы толық дайын. Онда жұмыс ортасын дайындаудан бастап өз блогыңызды іске қосуға дейінгі 50 сабақ бар. Курс Go тілінің негіздерін, веб-серверді, бет үлгілерін, дерекқорды және қауіпсіздік негіздерін қамтиды. Блогты өз компьютеріңізде іске қосуға болады. Курстан өту үшін домен сатып алу қажет емес.
«Python: деректен өз есебіңізге дейін» курсының шамамен жартысы дайын, жаңа сабақтар қосылып жатыр. Мұнда осы тәсіл деректермен жұмыс істеуге қолданылады: бағалар, теңге бағамы, кестелер мен есептеулер қарастырылады. Қорытынды жоба ашық деректерді алып, сақтайтын, графиктер салып, есеп дайындайтын бағдарлама ретінде жоспарланған. Курстың толық мазмұны әлі әзірленіп жатыр.
Алдағы уақытта SQL, Rust, машиналық оқыту және басқа бағыттар бойынша курстар әзірлеуді жоспарлап отырмыз. Бұлар — болашақ курстар, шығатын мерзімдерін әзірге белгілемейміз.Shanraq сабақтары қазақ, орыс және ағылшын тілдерінде тегін қолжетімді. Оларды оқу үшін тіркелу қажет емес. Өз қарқыныңызбен оқып, сабақтың тірек сызбасына оралып, қиын қадамды қайталап орындауға болады.
Shanraq курстарының бетінен бағытты таңдап, сабақты аша аласыз. Шағын тәжірибе жасап көріңіз: оқығаннан кейін тақырыпты сызбаға сүйеніп түсіндіріңіз, содан соң дайын шешімді көшірмей, бағдарламаға өзгеріс енгізіңіз. Осылайша бұл оқу тәсілінің өзіңізге қаншалықты қолайлы екенін бағалай аласыз.
Сіз Шаталовтың тірек конспектілерін мектепте, университетте немесе өз бетіңізше оқығанда қолданып көрдіңіз бе? Түсінікті түсіндірмеден өз шешіміңізге көшуге не көмектесті? Пікірлерде тәжірибеңізбен бөлісіңіз.