Материали по информатика и ИТ за начинаещи (и не само)
на Румяна Недкова Жекова от МГ "Баба Тонка"
(01.09.1983 г до дата на последната актуализация: 20.11.2016 г)
Мнения и препоръки очаквам на адрес: RNGEKOVA@abv.bg
RNGekova.sne-bg.com – задачи и помощни материали по информатика и ИТ
Жекова

Информатиката като учебен предмет

Румяна Жекова - Конференция "Мотивация и интереси към ученето" - 26.06.2015г

    ВЪВЕДЕНИЕ

Приложният програмист намира решение на всеки проблем,

чистият математик намира проблем във всяко решение

   Аз съм възпитаник на Математическа гимназия "Баба Тонка" и преподавател по програмиране в нея от 32 години. Гимназията е наследник на училище с дългогодишни история и традиции. Повече от 50 ученици са представили гимназията и са заели призови места в национални и международни състезания по природо-математически науки от 1962 година до днес. Някои от тях са с повече от един златен медал за България. След трите поредни участия на нашето златно момче Момчил Молнар на международна олимпиада по астрономия, от които той се връща с медал, правилата не му разрешават да участва повече в тази научна област и следващите му 4 медала са от международни олимпиади и състезания по физика и астрофизика. Днес (като студент) той с желание осъществява връзка на любимите си науки с информатиката. Успехите в състезанията и олимпиадите са резултат от извънкласната работа на ученици и преподаватели, на огромните желание и труд на децата, но не бива да изостава и обучението в час. Учителите ни са сред новаторите в образованието. Още преди 1970 година Петър Стоянов и Росица Бранкова са имали отделни часове по програмиране и са водили ученици в Изчислителните центрове, като през учебната 1970/1971 година започва експериментално обучението по информатика в час с първи учители Видка Бъчварова, Иванка Минева и Йордан Йорданов. Следват много техни съмишленици с нестандартен подход. През 1983 година в образователната система се появява УПК (Учебно-Професионален Комплекс) и гимназията поема официално обучението по програмиране за специалността "Оператор-програмист на ЕИМ". Училището запазва своя престиж, като входният бал на кандидат-гимназистите е най-високият за града, а резултатите от матурите са сред най-добрите за страната. [5]
21. век е век на информацията и "гладът" за програмисти е голям. Има много курсове, които дават сертификати, но невинаги в тях се получава достатъчно добра квалификация? За създаване на добър специалист-програмист е необходим упорит труд, както и добра основа по математика и информатика, която може да се постигне само с добра учебна програма, преподаватели, които я осъществяват, и ученици, които са с желание за работа.
   ИЗЛОЖЕНИЕ
   Информатиката е наука с теория – бройни системи и т.н., но и с много практика. Тя включва комбиниране на команди и операции, както и затвърждаване на логиката и ПРИЛОЖНОТО МИСЛЕНЕ. Връзката между нея и другите науки са задачите, участващи и в изследването, известно с името PISA (Programme for International Student Assessment - Програма за международно оценяване на учениците). То проверява способността на учениците да използват познанията и уменията си в условията на реални житейски ситуации.

   Кражбата на 1 идея от 1 човек е плагиатство,
   но кражбата на много идеи от много хора е изследване.

   За 32 години, като учител по програмиране, аз събрах много идеи и сега ще се опитам да ги обобщя. (цитат от участието ми в Конкурса "Математика и проектиране", Москва 1-5 май 2015 година)
    Програмирането позволява обучението и задачите да бъдат групирани:
    0.Изрази
    1.Формули
    2.Проверки
    3.Цикли
    4.Масиви – групи еднотипни данни
    5.Текст
    6.Графика и анимация
    7.Бази данни – групи разнотипни данни
    8.Организация на данните – стек, опашка, ...
    9.Графичен потребителски интерфейс, Създаване на собствен клас, …
    Уводната част "ИЗРАЗИ" включва запознаване с основните типове данни, действията, които могат да се извършват с тях и правилата за записване на изразите. Вече има учебници по математика, в които при записване на изрази се използват само малки скоби, но изключително важни са и правилата за запис на израз на един ред. Например текста "Дробната черта задава първо скоби за числителя и знаменателя и едва след това разделяне на двете стойности" все още не съм срещала в литературата.
   Децата почти винаги се справят с изчисляване на изрази, които са с конкретни числа, но когато стойностите са записани с имена, често възниква спор за необходимостта от скоби при определяне реда на действията.
    Работата с ФОРМУЛИ предполага преглед на формулите и задачите, които се използват по-често в практиката: изчисляване на дължина на отсечка по координати, изчисляване на лице на триъгълник по дължините на страните му (Херонова формула), смеси, разделяне на части, ... За съжаление често, предмет на спорове и обсъждане са вариантите на формули – изчисляване дължината на медиана чрез дължините на страните на триъгълник. В час може да се припомни как се търси неизвестно, как се прилага комбинирането на формули, ...
    Идва ред на първите практически задачи (дори без проверка), които съчетават полезното с приятното и дават възможност на учениците да се постараят и да видят завършения (и надявам се добре оформен) резултат от своя труд.

   "Ако децата не са опитали като малки да направят нещо сами,
   те цял живот ще подражават на другите и трудно ще направят откритие."
   Лев Н. Толстой

   Практически задачи трябва да има на всяка стъпка, защото тяхното използване е ефективен метод за затвърждаване на наученото и мотивация за попълване на пропуските в обучението.

"Когато трябва да покажеш наученото, те хваща яд, че си чел малко."

   Задача БУНГАЛО: Колко м2 материал са необходими за облицоване и какъв е обемът на бунгало?
   Задачите с ПРОВЕРКИ също имат сериозна математическа база – решение (корен) на уравнение и неравенство, параметрични задачи. Необходимо е учениците да осъзнаят, че макар и изключение, случаят на линейното уравнение 0.х=0 е също толкова важен и съществен, колкото останалите случаи с едно решение. В живота често се налага да се дават указания и за почти невъзможни ситуации. Тук имат място и задачи с въпроси като: КОЛКО/КОИ от числата са (решение на) ...?
   Задача АНТИФРИЗ: Как да разредим антифриз от една до друга концентрация?
   Задача ПИЦА: Коя от две пици с дадени цени и диаметри е по-изгодна финансово?
   Задачите с ЦИКЛИ в началото са свързани с чисто математически означения (сума и произведение). Но с тяхна помощ се осмислят и отработват понятията натрупване (на сума, произведение), броене (начална стойност и добавяне на единица). С повтарящи се действия е свързана работата с редица от числа [1]. Самите редици се задават по различен начин и обработката им е принципно различна в зависимост от необходимостта:
   – всички елементи се обработват по един и същ начин – намиране на сума, произведение, брой, средна стойност на всички елементи от редицата или на елементите, които отговарят на определено условие;
   – един или няколко (но предварително ясен) брой елементи се обработват по различен начин – намиране на най-добрия по зададен показател елемент от редица;
   – някои елементи се обработват различно – техният брой не е ясен предварително, а се очаква случването на някакво събитие – намиране на най-малкия положителен елемент от редица, преброяване на ... елементи след първото срещане на нула.
   Следват задачите с вложени цикли, итерационни и рекурентни формули, ... [2]
   За опростяване на някои алгоритми (програми) е подходящо да се използват подпрограми (ФУНКЦИИ, методи). След тяхното изучаване е време да се зададе следващата индивидуална задача, обобщаваща всичко до тук. Реалните проекти често обработват голяма група данни, но тези данни са записани на външен носител (файл) и в програмата обикновено се отделя място за един или два елемента. Затова е съществено да се изучат добре и тези типове алгоритми.
    МАСИВИТЕ, като ГРУПИ ЕДНОТИПНИ ЕЛЕМЕНТИ, подпомагат работата с полиноми, големи числа и дават възможност елементите да бъдат подреждани в определен ред. Задачите са свързани с обработка на всички елементи или само на специална част от групата и то в определен ред.
   Задача МНОГОЪГЪЛНИК: Да се намери лицето на многоъгълник по зададени координати на върховете му (дължините на страните и диагонали).
   Задача ВАЛЕЖИ: По дадени валежите за определен период, да се определи в колко дни те са били с определен процент над средните за периода.
    ТЕКСТОВЕТЕ са вид масиви, но променливата им дължина, честата им употреба и допълнителните начини на обработка ги задават като отделна група задачи.
   Повече време и внимание, отделено на чертежите с координати, правят математиката по-забавна и биха помогнали за по-лесното усвояване на много приложни програми с графика. Въпреки трудностите (версии на езиците) КОМПЮТЪРНАТА ГРАФИКА е атрактивна част от учебния материал. Дори могат да се създадат АНИМАЦИИ, съобразени по сложност с възможностите на учениците. Индивидуалните анимации тук е подходящо да са плод на въображението на учениците. Идеята не изглежда много лесна за някои от тях и демонстрацията анимации от други (бивши) възпитаници помага изключително много.

ГИМНАЗИЯТА Е ДЕЛО НА НАШИ и ваши съУЧЕНИЦИ.

   Следват задачите, свързани с големи количества РАЗНОТИПНИ ДАННИ, съхранени на външен носител – файл (БАЗИ ОТ ДАННИ). Автоматизираните информационни системи са обобщаващи, но еднообразни задачи, и затова индивидуалната АИС може да се съобрази повече с интересите на обучаемите. Всеки има собствени наблюдения и интереси в живота, което дава възможност дори за подсказване на по-подходящи формулировки на проблемите.
   Логическите игри като най-масова задача могат да обединят целия, изучен до този момент, материал (масиви, динамични променливи). Особено, ако имат възможност за връщане на ходовете (запазени в СТЕК) с цел обучение или сравняване на варианти. [3] Важното е да не се забравя възможността в час да се комбинира полезното с приятното. С огромна благодарност бих приела предложение за "масова" задача, свързана с друг тип динамична променлива, която може да претърпи вариации за по-голяма група хора.
   Следват класовете и възможностите на графичния потребителски интерфейс, но те не са част от този доклад.

bci2007

   Училището дава знания и учи децата да ги прилагат практически. Каквато и професия да придобие днешният учащ, в работата му ще има два съществени момента. Единият от тях е подготовката на продукт за продан, а вторият е представянето на продукта. Технологията на производствения процес в час трябва да се различава, но малко, от тази в Софтуерните фирми.
    Първи етап: Учениците получават достатъчно знания, за да могат сами (или с малко помощ) да съчетаят подходящите идеи и методи, за да се справят с бъдещите задачи. Разбира се, не е голям проблем, ако някои задания в час включват нови за групата елементи. Учителят е в клас и може да помогне на един ученик с допълнителна информация (или литература), а той от своя страна да “изучи” или поне да представи идеята на останалите.
    Втори етап: Учителят подготвя задачи за всеки ученик. Лично аз, започвайки от нулево ниво на обучението по програмиране (9.-10. клас), предпочитам задачите да не са много сложни и да са наистина индивидуални - дори различни в отделните паралелки на випуска.
    Трети етап: Разпределяне на заданията между учениците. Подходът е в зависимост от типа на проблемите за разрешаване. Много често разпределянето е на случаен принцип и единствената намеса на учителя е в случая, когато много слаб ученик (и такива има за съжаление) доста труден за възможностите му проект. Напълно е възможно за по-напредналите "специалисти" да се подготвят и по-трудни задачи. Не е проблем, обаче, ако такива задания липсват. В такива ситуации "специалните" ученици могат да играят ролята на помощник-учител.
    Четвърти етап: Разработване на програмния продукт. Основната задача в редовните часове е да се натрупа солидна база от ОСНОВНИ алгоритми. (На състезания и олимпиади по информатика се търсят решения на по-сложни проблеми.) В час учителят обяснява идеите и подсказва решенията на всички, които имат нужда. В такъв момент особено ценна помощ могат да окажат (при желание) и някои други ученици от групата. Много често заданията имат сходни елементи и обсъждането на идеи е доста полезно.
   В час на екрана се извеждат малко текстове. При създаването на програмен продукт за "външен потребител" немалко време и програмни команди отнемат външното оформление на продукта и контролът на входните данни. Разбира се този контрол е на различно ниво в отделните раздели и задачи. (На състезания много текстове също липсва и това трябва да се обясни на учениците, които ще участват в такъв вид изява.)
    Пети етап: Всеки разработчик представя собствения си продукт пред "потребителите". Останалите ученици са "потребители и евентуални купувачи". (Тук е мястото за присъствие и напътствия от реални представители на софтуерни фирми, за които този процес е "болезнено" ясен.) Всички "евентуални купувачи" имат възможност да изпробват продукта, да задават въпроси, свързани с използването му, както и да дадат собствена оценка за представеното изделие. Тази роля също не е маловажна и подсказва много идеи и на създателите, и на "опонентите".
    Шести етап: Отново всеки създател обяснява, но на "колегите", идеята на алгоритъма си. Това е сериозен проблем за голяма част от учениците (особено в началото). Причината може да е липса на дар-слово (и това се учи), но и прекалена (неподходяща) чужда помощ при създаване на продукта. Етапът е важен, за да се убедят учениците, че трябва да използват само "помощ с разбиране".
    Седми етап: Едва накрая се пристъпва към създаване на документация. След като всеки ученик е преминал устно през предните два етапа (представяне), не би трябвало този (може-би последен за него) етап да отнеме прекалено много труд и време.
    (Осми етап:) Ако накрая има някакво изпитване върху идеите на другите ученици от класа (групата), ще се повиши личната заинтересованост към останалите разработки. Все пак това са ученици, които имат интереси и влечения в различни области на науката и живота.
   Когато ученикът има възможност няколко пъти да "влезе" в ролята на разработчик, приемателна комисия и потребител, би трябвало да се справи доста по-лесно в живота, дори представяйки себе си като продукт пред един евентуален работодател. Или поне ние (учителите) сме направили възможното да му помогнем.
   Остава дискусионен въпросът дали винаги и с всички пълният "производствен" процес е възможен. Но при наличие на няколко индивидуални задачи, много вероятно е накрая да се достигне до доста добър резултат.
    ЗАКЛЮЧЕНИЕ
   Нека помогнем на нашите питомци да стъпят финансово на краката си, за да имат възможност (при желание) да подпомогнат българското образование.
   Една поговорка на най-напредващата в момента нация – китайската, гласи:
   Ако мислите за един ден напред, вземете си храна.
   Ако мислите за година напред, посадете си дърво.
    Ако мислите за сто години напред, образовайте децата си.
   Добрата организация на обучението ще е полезна за всички природо-математически науки, ученици, работещи и цялото общество!

Да помогнем на учениците като помогнем на техните учители!

   Изучете А-то на науките, преди да се качите на върха.
   Никога не се захващайте за следващото, без да сте усвоили предното.

И. П. Павлов

    ЛИТЕРАТУРА
   [1] Жекова Р. Н., Обработка на редици от числа, Национална конференция "Образованието в информационното общество", 13-14 октомври 2006, Пловдив, 99-103 стр.
    [2] Жекова Р. Н., Задачи за програмиране на итеративни процеси, Национална конференция "Образованието в информационното общество", 13-14 октомври 2006, Пловдив, 104-109 стр.
    [3] Жекова Р. Н., Упражнение върху стек, Национална конференция "Образованието в информационното общество", 13-14 октомври 2006, Пловдив, 110-113 стр.
    [4] Жекова Р. Н., Обучението по програмиране в редовните часове. Национална конференция "Образованието в информационното общество", 12–13 май 2009, Пловдив, 168-171 стр.
    [5] Жекова Р. Н.. След 30 години профилирано обучение по програмиране в училищата, 43-та конференция на СМБ, Боровец, 2-6 април 2014, Математика и математическо образование, 2014, 101-105 стр.

    За контакти:
    Румяна Недкова Жекова, Математическа гимназия "Баба Тонка", град Русе, България, 0888227220, RNGekova@abv.bg, RNGekova.sne-bg.com