Образователни технологии
ВЪЗМОЖНОСТИ ЗА ИЗГРАЖДАНЕ НА МЕЖДУПРЕДМЕТНИ ВРЪЗКИ МАТЕМАТИКА – ИНФОРМАТИКА
https://doi.org/10.53656/math2024-6-2-opp
Резюме. Изграждането на междупредметни връзки в обучението спомага както за постигането на трайни знания, така и за придобиването на практически умения. Настоящата разработка представя възможности за разработване на обучителни ресурси, които да подпомагат преподаването по математика чрез установяване на междупредметни връзки с информатиката. Примери за такава връзка между учебния материал по математика и информатика са разгледани чрез програмни решения на математическите проблеми. Резултатите могат да се внедрят в практиката, като разработените дидактически учебни материали се използват реално от учители по математика и информатика.
Ключови думи: междупредметни връзки; практическа математика; информатика; симулации; Python
1. Увод
Образованието е координиран процес и в основата му е обединяването на знания от различни предметни области. Образователната система трябва да подпомогне обучаемите да получат знания и умения за широко приложими подходи при формулиране и решаване на проблеми. Информационната революция оказва силно влияние върху всяка човешка дейност, включително методите и средствата, с които учим, обучаваме, откриваме и обменяме знания. Това в по-голяма степен се отнася и за формирането на основни понятия в информатиката, като алгоритми и изчисления (Grozdev et al. 2010).
В педагогическата теория междупредметните връзки отразяват взаимната съгласуваност на учебните програми, обусловена от системата на научните и дидактическите цели. Изграждането на такива връзки е естествено за предмети, които използват общ понятиен апарат, например математиката и информатиката. Тези връзки спомагат както за постигането на трайни знания по свързаните предмети, така и за придобиването на практически умения за справяне с проблеми от реалността. Практическата реализация на тези връзки обаче изисква сериозни усилия от страна на учителите, които първо трябва да идентифицират, а след това и да покажат в разбираем за учениците вид приликите или зависимостите на един учебен предмет с друг.
Настоящата статия има за цел да се изследват възможностите за разработване на обучителни ресурси, които да подпомагат преподаването по математика (профилирана подготовка, Модул 3. „Практическа математика“ и Модул 4. „Вероятности и анализ на данни“) чрез установяване на междупредметни връзки с информатиката. Резултатите могат да се внедрят в практиката, като разработените дидактически учебни материали се използват реално от учители по математика и информатика.
2. Съгласуване на обучението по вероятности, статистика и информатика
Ако целта е усвояването на стохастични знания от учениците и прилагането им в практиката, то разглеждането им в двете предметни области несъмнено ще повлияе на резултатите в обучението. Други важни фактори са методическите аспекти на обучението и подготовката на учителите.
За по-добрата мотивация на учениците при усвояването на стохастични знания могат да се използват приложенията им в други предметни области (физика, химия, биология, география, социология и т.н.).
Направеният анализ на учебното съдържание по вероятности и анализ на данни1, заложено в учебните програми по математика, и на основни понятия от информатиката, имащи отношение към това учебно съдържание, позволява изследването на връзките между понятията в двете предметни области. На фиг. 1 е представена обобщена схема на връзките между понятията.
Могат да се обобщят следните основни връзки:
• комбинаторни съединения, алгоритми за броене, вероятност;
• данни, групиране на данни, хистограма, числови характеристики, дискретни разпределения;
• емпирични разпределения, симулации, теоретични разпределения;
• числови характеристики, параметри на разпределенията.
Първото понятие, което е залегнало в основата на дефинициите за информатика и статистика, е понятието данни.
Данните са информация, в по-голямата си част в числов вид, която отразява определена характеристика на обекта на изследване. В широк смисъл понятието данни означава числовия и нечисловия материал, който се явява основа за правене на изводи и вземане на решения. В статистиката това е информацията, пригодна за анализ и интерпретация (Kalinov 2013). Под „данни“ в статистиката също се разбира множеството от измерени стойности на определена величина, записани по стандартен начин във вид, готов за някаква обработка. Използването на микрокомпютри води до отделянето на данните от анализа и от интерпретацията им. Формалните методи за техния анализ налагат определен начин за представянето им. На преден план излизат структурата на данните, тяхната организация и съотношението между тях, а не конкретното им съдържание.
Фигура 1. Връзки между понятията
В информатиката понятието „данни“ се разглежда като стойност на величина, представена по определени правила. В този смисъл данните нямат име, но се характеризират с тип и формат.
Величината е абстрактен информационен обект, чрез който се изразяват определени свойства на реални обекти. Характеризира се с име, тип и множество от допустими операции. Името се използва за назоваване на величината и обикновено пояснява същността ѝ. Типът представлява множеството от допустими стойности, с които е свързана определена съвкупност от операции, приложими над тези стойности. Може да приемем, че в статистиката моделът на данните за един обект има вида:
<име; атрибут (свойство на обекта); стойност на атрибута>
Дефиницията за величина, която дадохме от гледна точка на информатиката, съвпада с дефиницията за статистически признак и ясно се вижда, че нивото на абстракция се променя в зависимост от гледната точка на съответния предмет, т.е. характеристиките име и тип на величината в информатиката са насочени преди всичко към спецификата на представянето на данните. При статистиката по-скоро на базата на „типа“ на стойностите се класифицират статистическите признаци с цел после да се обработват. По-пълното изясняване на смисъла на понятието данни е важно за съставянето на модел на статистическите данни преди обработката им със специализирани програми.
Друго понятие от информатиката, имащо отношение към вероятности и статистика, е компютърната симулация. Процесът на използване на една система за имитиране поведението на друга се нарича симулация.
Компютърната симулация използва средствата на програмирането, за да имитира поведението на изучаваната система. Обектът, който се изучава, обикновено се представя като структури от данни.
Компютърната симулация е в основата на един от най-актуалните и съвременни методи в изследванията – статистическо моделиране (методите
„Монте Карло“). На практика, идеята е компютърна програма да създава процес, който имитира даден реален (вероятностен) процес (Bocconi et al. 2016). Вероятностните характеристики на двата процеса – реалния и симулирания – съвпадат в рамките на предварително определена точност. Такива програми обикновено се наричат генератори за случайни числа. Най-използваният алгоритъм е т.нар. мултипликативен конгруентен метод. Съществуват множество конгруентни алгоритми, които се различават по начина на използване на рекурентните формули, залегнали в тяхната основа.
Две цели числа X и Y се наричат конгруентни или сравними по модул p (където p е цяло число) тогава и само тогава, когато съществува такова цяло число k, че X −Y = k.p. Реализирането на алгоритми от този тип е напълно възможно в училищния курс по информатика, тъй като неявно понятието делене по модул е застъпено при изучаването на бройни системи и функциите за целочислено делене в езиците за програмиране.
Това би позволило на неформално ниво чрез използването на понятия от теория на вероятностите и статистиката (емпирично разпределение, хистограма и елементарни трансформации) учениците да добият представа за различните теоретични разпределения, което е от изключителна важност за осъществяване на връзка между математиката (вериятности и статистика) и информатиката.
Наличието на реални връзки между понятия от вероятностите, комбинаториката, статистиката и информатиката дава възможност за разработване на обучителни ресурси по вероятности, статистика и информатика в средното общообразователно училище.
При последните промени на учебните програми по математика (профилирана подготовка) в учебното съдържание е заложено изучаването на биномно и нормално разпределение и техните свойства, което позволява да се разгледат примери от реални ситуации2.
В статията са представени примери за изграждане на междупредметни връзки, подходящи за по-задълбочено усвояване на преподавания материал в профилирана подготовка по математика Модул 3 и Модул 4.
3. Реализация
Реализацията на учебните материали е на езика Python. Python е интерпретируем език за програмиране от високо ниво и същевременно е лесен за научаване и подходящ за начинаещи. Като употреба, Python е широко разпространен, с добре развита екосистема, с многобройни библиотеки и технологични рамки и съответно дава много перспективи за развитие. Python комбинира парадигмите на процедурното, функционалното и обектно ориентираното програмиране по съвременен начин с лесен за употреба синтаксис5.
Python се счита и за език на науката за данни, машинното обучение и изкуствения интелект – всe области, които са изключително търсени в настоящата ни икономика. Python предлага обширна екосистема от библиотеки за обработка и анализиране на данни, като NumPy, Pandas и Scikit-learn. Тези инструменти правят Python популярен избор за учени, изследователи и професионалисти в областта на данните. Освен това Python се използва широко в машинното обучение и изкуствения интелект поради своите мощни възможности за математическо моделиране.
При използването на програми на Python за показване на връзката на теоретичния материал при решаване на практически задачи, учениците се учат не само да четат и разбират програмен код, но и да мислят алгоритмично и да създават модели на решенията на задачите от реалния живот.
3.1. Симулации на биномно разпределени случайни величини
За целите на обучението е разработен ресурс, който позволява симулиране на биномно разпределение по зададени параметри:
• брой опити – n;
• вероятност за успех при единичен опит – p;
• брой на успехите при n опита – k (задава се, когато искаме да пресметнем конкретни вероятности).
Листинг 1 е пример за реализация на симулацията на биномно разпределение. Примерът демонстрира ситуация, при която в 5% от случаите при приемане на дадено лекарство се наблюдават странични ефекти.
В този случай n = 100, P = 0, 05.
Листинг 1. Пример за реализация на хистограма и емпирична функция на разпределение
def show_binomial_data():
np.random.seed(42)
# Параметри на биномното разпределение
n = 10 # брой опити
p = 0.5 # вероятност за успех
# Генериране на произволни биномно разпределени данни
data = np.random.binomial(n, p, 1000)
# Създаване на прозореца за визуализиране
plt.figure(figsize=(12, 6))
# Графика на хистограма
plt.subplot(1, 2, 1)
sns.histplot(data, bins=np.arange(-0.5, n + 1.5, 1), _
stat="probability", discrete=True)
plt.title(’Емпирична вероятностна плътност’)
plt.xlabel(’Интервал’)
plt.ylabel(’Вероятност’)
# Графика на емпирична функция на разпределение
plt.subplot(1, 2, 2)
# Пресмятане на емпиричната функция на разпределение
values, counts = np.unique(data, return_counts=True)
cdf = np.cumsum(counts).astype(np.float64) / len(data)
plt.step(values, cdf, where="post")
plt.title(’Емпирична функция на разпределение’)
plt.xlabel(’Стойност’)
plt.ylabel(’Комулативна вероятност’)
plt.tight_layout()
plt.show()
Модулът позволява и визуализиране на емпиричната вероятностна плътност и емпиричната функция на разпределение. По този начин учениците могат да видят:
• вида на хистограмата при биномно разпределени случайни величини;
• връзката между хистограмата на разпределение и параметрите на биномното разпределение;
• връзката между хистограмата и емпиричната вероятностна плътност;
• вида на емпиричната функция на разпределение и връзката с комулативните честоти;
• влиянието на обема на извадката върху вида на хистограмата при различни вероятности за успех при единичен опит;
• да оценяват вероятности за настъпване на случайни събития от графиките на емпиричната вероятностна плътност и емпиричната функция на разпределение.
Резултатът от изпълнението на реализацията е представен на фиг. 2.
Фигура 2. Хистограма и емпирична функция на разпределение
Обучителният ресурс включва коментари към всяка част, което го прави удобен за използване от учениците.
В часовете по информатика учениците биха могли самостоятелно да разработят подобни ресурси, в които да построяват емпирична вероятностна плътност, като използват функции за симулиране на случайни числа със зададен вид разпределение.
Разработеният материал би могъл да бъде от полза за:
• запознаване с базови правила за писане на програмен код на Python;
• използване на библиотеки на Python;
• използване на специфични функции;
• работа с програмен код и смяна на променливи, вместо с графичен интерфейс.
В часовете по информатика на учениците може да се демонстрира генериране на такъв тип наблюдения като серия от бернулиеви опити с дадена вероятност за успех. На листинг 2 е представен код на подпрограма, която илюстрира генерирането на серия от 1000 числа с вероятност за успех 0.5.
Листинг 2. Подпрограма, която реализира генериране на серия числа с вероятност за успех
def generate_binomial(n, p, tries):
np.random.seed(52)
distribution = []
while tries:
tries -= 1
successes = 0
for _ in range(n):
if np.random.random() < p:
successes += 1
distribution.append(successes)
return np.array(distribution)
Учениците могат да сравняват така получения резултат (на база хистограми или функция на разпределение) с генерираното от вградената функция.
Предложеният ресурс удачно може да се използва в сценарии за STEM уроци4 (Gerlach 2018). Учениците могат лесно да решат следните задачи, които да им покажат връзката между реални ситуации и основни понятия от теория на вероятностите и статистиката (Peltekova 2022; Tonov et al. 2012; Tonov et al. 2021).
Задача 1: Брой измамни транзакции
Банките използват биномно разпределение, за да моделират вероятността определен брой от транзакциите на кредитни карти да са измамни.
Да предположим, че е известно, че 2% от всички транзакции в определен район са измамни. Ако има 50 транзакции на ден в дадения район, можем да използваме биномно разпределение, за да намерим вероятността повече от определен брой измамни транзакции да се случат в даден ден, например:
• P (X > 1 измамна транзакция) = 0.26423;
• P (X > 2 измамни транзакции) = 0.07843;
• P (X > 3 измамни транзакции) = 0.01776.
Задача 2: Брой спам имейла за ден
Компаниите за електронна комуникация използват биномно разпределение, за да моделират вероятността определен брой имейли да се озоват в спам папката за ден. Например, да кажем, че 4% от всички имейли са спам. Ако един акаунт получи 20 имейла за определен ден, може да използваме биномно разпределение, за да установим вероятността конкретен брой имейли да са спам, например:
• P (X = 0 спам имейла) = 0.44200;
• P (X = 1 спам имейл) = 0.36834
• P (X = 2 спам имейла) = 0.14580
3.2. Визуализация на поасоново разпределени случайни величини
Поасоновото разпределение е вероятностно разпределение, което се използва, за да се моделира вероятността определен брой събития да се случат за фиксиран период, когато събитията се случват независимо и с константна средна честота. Ресурсът (листинг 2 и фиг. 3) предоставя възможност да се визуализира вероятностната функция и функцията на разпределение на поасоновото разпределение.
Листинг 3. Визуализация на поасоново разпределение
def show_poisson_data():
# Пример за поасоново разпределение - брой обаждания в
# кол център в рамките на 1 час
lam = 10 # Среден брой обаждания в кол център в рамките на 1 час
# Генериране на разглежданите възможен брой обаждания
x = np.arange(0, 15)
# Пресмятане на вероятностната плътност
pmf = poisson.pmf(x, lam)
# Пресмятане на функцията на разпределение
cdf = poisson.cdf(x, lam)
plt.figure(figsize=(12, 6))
# Визуализиране на вероятностната плътност
plt.subplot(1, 2, 1)
plt.stem(x, pmf, basefmt=" ")
plt.yticks(np.linspace(0, max(plt.gca().get_ylim()), 20))
plt.title(’Вероятностна плътност’)
plt.xlabel(’Брой събития’)
plt.ylabel(’Вероятност’)
plt.grid()
# Визуализиране на функцията на разпределение
plt.subplot(1, 2, 2)
plt.plot(x, cdf, marker=’o’, linestyle=’-’, color=’b’)
plt.yticks(np.linspace(0, max(plt.gca().get_ylim()), 20))
plt.title(’Функция на разпределение’)
plt.xlabel(’Брой събития’)
plt.ylabel(’Комулативна вероятност’)
plt.grid()
plt.tight_layout()
plt.show()
Учениците могат лесно (само с промяна на някои променливи в кода) да решат следните задачи, които да им покажат връзката между реални ситуации и основни понятия от теория на вероятностите и статистиката.
Задача 1: Брой телефонни обаждания в кол център
Кол центровете ползват поасоново разпределение, за да моделират очакваните обаждания, които ще получат на час, така че да определят адекватен брой персонал, който трябва да бъде нает. Например, да кажем, че кол център получава по 10 обаждания на час. Можем да ползваме поасоново разпределение, за да пресметнем вероятността кол центърът да получи 0, 1, 2, 3, ... обаждания в определен час:
• P (X = 0 обаждания) = 0.00005;
• P (X = 1 обаждане) = 0.00045;
• P (X = 2 обаждания) = 0.00227;
• P (X = 3 обаждания) = 0.00757.
Задача 2: Брой посещения в ресторант
Ресторантите ползват поасоново разпределение, за да моделират очакваните посещения, които ще се случат на ден. Например, да кажем, че в ресторанта идват средно 100 клиенти на ден. Можем да използваме поасоново разпределение, за да пресметнем вероятността в ресторанта да дойдат повече от определен брой клиенти за даден ден, например:
• P (X > 110 клиенти) = 0.14714;
• P (X > 120 клиенти) = 0.02267;
• P (X > 130 клиенти) = 0.00171.
Задача 3: Брой посещения на уебсайт за час
Хостинг компаниите ползват поасоново разпределение, за да моделират очакваните посещения, които ще трябва да обслужат на час, за даден уебсайт. Например, да кажем, че уебсайтът получава по 20 посещения на час. Можем да ползваме поасоново разпределение, за да пресметнем вероятността повече от определен брой хора да посетят уебсайта за даден час:
• P (X > 25 посетители) = 0.11218;
• P (X > 30 посетители) = 0.01347;
• P (X > 35 посетители) = 0.00080.
Фигура 3. Визуализиране на вероятностна плътност и функция на разпределение на поасоново разпределена случайна величина
Задача 4: Брой фалити на месец
Банките ползват поасоново разпределение, за да моделират очакваните фалити на клиенти, които ще се случат за месец. Например, да кажем, че банката има средно 10 фалита всеки месец. Можем да ползваме поасоново разпределение, за да пресметнем вероятността даден брой клиенти да фалират за месец:
• P(X = 1 фалит) = почти нула;
• P(X = 2 фалита) = 0.002;
• P(X = 3 фалита) = 0.007;
• P(X = 7 фалита) = 0.09;
• P(X = 9 фалита) = 0.125;
• P(X = 10 фалита) = 0.125; P(X<9) = 0.456.
Аналогично на представените по-горе примери са разработени обучителни материали за изследване на вероятностна плътност и функция на разпределение на нормално разпределена случайна величина (фиг. 3).
Във всички материали, които са разработени със средствата на езика за програмиране Python, са използвани библиотеките matplotlib.pyplot, NumPy, Scipy и Seaborn:
• matplotlib.pyplot е колекция от функции в команден стил, които карат matplotlib да работи като MATLAB. Всяка функция на pyplot прави някаква промяна във фигура: например създава фигура, създава област за чертане във фигура, чертае някои линии в област за чертане, украсява графиката с етикети и т.н.;
• NumPy е библиотека на Python, използвана за работа с масиви. Освен това в нея има функции за работа в областта на линейната алгебра, трансформацията на Фурие и матрици;
• Scipy е мощна библиотека в Python, която предоставя много по-лезни функции за научни изчисления. Един от нейните подмодули – scipy.stats – съдържа различни статистически функции и вероятностни разпределения, които обикновено се използват при анализ на данни;
• Seaborn е библиотека за визуализация на данни на Python, базирана на matplotlib. Той предоставя интерфейс от високо ниво за изчертаване на атрактивни и информативни статистически графики.
Разработените ресурси са апробирани при проведено обучение на учители по математика в ПМГ – Ловеч. Материалите са представени и пред ученици от ПМГ – Благоевград.
4. Заключение
Докладът обсъжда възможностите за интердисциплинарно обучение информатика – математика чрез използване на програмиране. Примери за такава връзка между учебния материал по математиката, профилирана подготовка и информатиката бяха разгледани чрез програмни решения на математическите проблеми. Направени са изводи за провокативния интерес на програмните модули и симулации и повишена мотивация на учениците за изучаване на учебния материал в този модул.
Необходимостта учениците да намират приложение на знанията, които придобиват в училище, е повече от задължителна. Теоретичната и практическата свързаност между информацията от различни предметни области води до задълбочаване на техните компетенции. Връзката между математика и програмиране осигурява своевременно предизвикателство и възможност за развитие на учебните програми в училищата. Учебните материали, представени в настоящата статия, демонстрират съвсем малка част от възможностите, които предлагат двете дисциплини. Такъв тип учебни материали влияят върху мотивацията на учениците да откриват приложението на програмирането в математиката и решаването на математическите проблеми чрез програмиране.
Чрез реализирането на интердисциплинарното обучение програмиране
– теория на вероятностите и анализ на данни, при правилен подбор на темите и задачите се постига следният ефект:
• увеличава се мотивацията, като се ангажират учениците;
• провокира се техният интерес;
• активират се познавателни инициативи;
• усъвършенстват се ключови дигитални компетентности.
БЕЛЕЖКИ
1. Учебна програма за профилирана подготовка по математика. https://www.mon.bg/nfs/2018/12/profil-math.pdf
2. Наредба на МОН за изменение и допълнение на Наредба № 7 от 2016 г. за профилираната подготовка (ДВ, бр. 67 от 2016 г.), Издадена от министъра на образованието и науката, обнародвана в Държавен вестник. бр. 80 от 11 септември 2020 г. https://www.mon.bg/nfs/2020/09/izmndrb-pp-24092020.pdf
3. Python. https://www.python.org/
4. STEMpedia. STEM Education Curriculum – Lessons for STEM learning with a hands-on approach. https://thestempedia.com/curriculum/
REFERENCES
BOCCONI, S., CHIOCCARIELLO, A., DETTORI, G., FERRARI, A., ENGELHARDT, K., 2016. Developing computational thinking in compulsory education – Implications for policy and practice, European Commission: Joint Research Centre, Publication Office, EUR 28295 EN. doi:10.2791/792158
GERLACH, H.E., 2018. The Impact of Integrated STEM Education on Student Achievement in Magnet Schools, p. 214.
GROZDEV, S., CHEHLAROVA, T., TERZIEVA, T., 2010. On the need to develop algorithmic thinking in education informatics. Collection of reports of the National Conference ”Education in the Information Society” (in Bulgarian).
https://www.researchgate.net/publication/306452080 ZA NEOBHODIMOSTTA OT RAZVITIE NA ALGORITMICNO MISLENE V OBUCENIETO PO INFORMATIKA
KALINOV, K., 2013. Statistical methods in the behavioral and social sciences, New bulgarian university, Third edition. (in Bulgarian) ISBN 978-954-535-798-5.
PELTEKOVA, E., 2022. Methods and Tools for Supporting Inquiry-Based Learning, PhD Thesis, Sofia University “St. Kliment Ohridski” (in Bulgarian).
TONOV, I., SHARKOVA I., HRISTOVA M., KAPRALOVA, D., ZLATILOV, V., KARASHTRANOVA, E., 2021. Mathematics for 12th grade. Profiled preparation. Probabilities and Data Analysis, Regalia 6, Sofia (in Bulgarian). ISBN 9789547453425
TONOV, I., SHARKOVA I., HRISTOVA, M., KAPRALOVA, D., ZLATILOV, V., KARASHTRANOVA, E., 2012. Mathematics for 12th grade. Profiled underburn. Practical Mathematics, Regalia 6, Sofia (in Bulgarian). ISBN 9789547453418
ЛИТЕРАТУРА
ГРОЗДЕВ, С., ЧЕХЛАРОВА, Т., ТЕРЗИЕВА, Т., 2010. За необходимостта от развитие на алгоритмично мислене в обучението по информатика. Сборник доклади на Национална конференция „Образованието в информационното общество“.
https://www.researchgate.net/publication/306452080_ZA_NEOBHODIMOSTTA_OT_RAZVITIE_NA_ALGORITMICNO_ MISLENE_V_OBUCENIETO_PO_INFORMATIKA
КАЛИНОВ, К., 2013. Статистически методи в поведенческите и социалните науки, Нов български университет, Трето преработено и допълнено издание, ISBN 978-954-535-798-5.
ПЕЛТЕКОВА, E., 2022. Методи и средства за подпомагане на изследователския подход на обучение, Дисертация за получаване на образователна и научна степен „Доктор“, Софийски университет „Св. Климент Охридски“.
ТОНОВ, И., ШАРКОВА И., ХРИСТОВА М., КАПРАЛОВА, Д., ЗЛАТИЛОВ, В., КАРАЩРАНОВА, Е., 2021. Математика за 12. клас. Профилирана подготовка. Вероятности и анализ на данни, Регалия 6, София. ISBN 9789547453425
ТОНОВ, И., ШАРКОВА И., ХРИСТОВА М., КАПРАЛОВА, Д., ЗЛАТИЛОВ, В., КАРАЩРАНОВА, Е., 2021a. Математика за 12. клас. Профилирана подгоровка. Практическа математика, Регалия 6, София. ISBN 9789547453418