Информатиката по
същество и по ниво на абстракция е част от Математиката – най-абстрактната
наука след Философията, затова използваният за обучение език за програмиране не
е от съществено значение при цялостно усвояване на основните алгоритмични
конструкции и модели и на абстрактния начин на мислене, характерен за
съвременното състояние на развитие на процесите на събиране, обработка,
съхранение и разпространение на информацията.
Поради ред причини за
учебната 2014/2015 реших да реализирам основния си курс по Информатика
„Обектно-Ориентирано Програмиране с Java и Отворен Код“ с използване на езика C++
т.е. да го превърна в „Обектно-Ориентирано Програмиране със C++ и Отворен Код“. Една от причините е, че повечето учители по информатика са по-добре
запознати със С++ отколкото с Java.
Основното различие между
двата езика за програмиране е, че С++ предоставя повече възможности от Java и
съответно е по-сложен и с повече възможности за грешки. Въпреки това, при
разумното ограничаване на използваните езикови конструкции в С++, със съвсем малко повече усилия, може да се постигнат същите педагогически резултати
както при ООП с JAVA.
Препрограмирането на ООП
шаблони от Java на С++, макар и изключително поучително, не създаде кардинални
проблеми с изключение използването на Applet(което не е „истинска“ част от ООП шаблоните).
Универсалността на средата
за програмиране с отворен код Eclipse, която използвам близо 15 години, при
преподаването на Информатика в СОУЕЕ "Свети Константин-Кирил Философ"
гр. Русе улесни неимоверно много преминаването от Java на C++ (в нея можете да
програмирате, тествате и изпълнявате различни приложения на Java, C++, HTML,
PHP, JavaScript).
Наличието на три
кабинета в училище с добри компютри, позволяващи да бъде инсталирана на тях операционна
система Windows7, осигуриха възможност и
за инсталиране на последните версии на JAVA и
Eclipse
– съответно JDK8 и Luna.
Списък на учебни материали за
училищния курс по Информатика
9) Урок 09 OpenGLграфика, жизнен цикъл, събития, многовариантен избор
11) Урок 11 ШаблонКомпозиция, Дървовидни структури,шаблонен клас
11) Урок 11 ШаблонКомпозиция, Дървовидни структури,шаблонен клас
30) За проверка и измерване степента на усвояване на
Обектно-Ориентирано Програмиране със С++ се използва показалият ефективността
си Универсален диагностично-развиващ тест – представляващ пет таблици, които се
попълват за всеки от използваните програми-модели:
Фиг. 1. Универсални
тестови таблици
Дефиниции на Класове
|
||||||
Име
|
Родител
|
Клас
|
№ ред }
|
|||
______________
|
___________
|
______________
|
________
|
__________
|
____
|
______
|
Дефиниции на Функции
|
||||||
Име
|
Връщана Ст.
|
Клас
|
Аргумент
|
Тип
|
static
|
№ ред }
|
Дефиниции на Променливи
|
||||||
Име
|
Тип
|
Клас
|
static
|
№ ред
|
||
Използване на Функции
|
||||||
Име
|
Родител
|
Клас
|
Аргумент
|
Преобразуване
|
№ ред
|
|
__
|
_____________
|
_____________
|
||||
Оператор за Присвояване
|
||||||
Оператор
|
Тип Израз
|
№ ред
|
||||
За първоначално запознаване може да се ползва
статията: “Универсалендиагностично-развиващ тест за измерване усвояването на понятието “клас” и“метод” в обектно-ориентираното програмиране”. Тя е написана за Обектно-Ориентирано Програмиране с JAVA, но всичко е напълно идентично, ако се вземе
предвид че функциите в С++ се наричат методи в JAVA, и че “родителят/класът, който се разширява“ в С++ се посочва
след името на клас с “:”
а в JAVA след името на клас с
ключовата дума “extends”. Трябва да се отбележи,
че в С++ няма интерфейси, като ролята им се изпълнява от напълно абстрактни
класове.
31) Универсалният
диагностично-развиващ тест, направен за модела „Рационално число“. Състои от:
А)кода на модела „Рационално число“ с номерирани редове и
заглавните редове на тестовите таблици, които трябва да се попълнят;
Б)ключ с отговори за модел „Рационално число“ – попълнени таблици,
като е посочен и максималният възможен брой точки.
50) Водещата книга за курса е Electronic book: Bruce
Eckel; Thinking in C++, Second Edition (Volumes 1 & 2)
Достъпни са в електронен вид: Volumes 1 и Volumes 2.
Достъпни са в електронен вид: Volumes 1 и Volumes 2.
51) За творческите личности Bruce
Eckel е подготвил това:
Thinking in C: Foundations for Java & C++ by Chuck Allison
A Flash™-based learning experience produced by Bruce Eckel
©2006, ©2013 MindView,LLC
Thinking in C: Foundations for Java & C++ by Chuck Allison
A Flash™-based learning experience produced by Bruce Eckel
©2006, ©2013 MindView,LLC
52) Допълнителни незадължителни
учебници:
9-10 кл
|
Информатика 9-10 кл
|
Изкуства
|
Кр.Манев и др.
|
9 кл
|
Информатика 9 кл; Програмиране на
C++
|
Коала Прес
|
Л. Иванова и др.
|
9 кл
|
Задачи Информатика 9 кл;
Програмиране на C++; Решения
|
Коала Прес
|
Л. Иванова и др.
|
Първият учебник е по-модерен и по-близък до
структурата на реализирания училищен курса по Информатика, но ползва езика за Обектно-Ориентирано
Програмиране С#
(чете се „си шарп“) – от
него е полезна уводната част и най-вече същественият раздел „Бройни системи“
Вторият учебник може да
се ползва като справочник за възможностите на С++ и за кръга от елементарни
задачи и допълнителни тестове, които всеки добър ученик, проявяващ интерес към
програмирането, трябва да може да решава. В електронен вид този учебника е
разработен от г-жа Анастасия Димитрова (Стрелките предишна
страница, следваща страница работят само със старите версии на Flash Player –
до началото на 2014г. например версия: 11,9,900,170.
В новите версии във връзка със пробив в сигурността в момента са блокирани).
Третата книга съдържа
възможните решения на задачите от втория учебник.
Борис Старчев
учител по математика и
информатика
Няма коментари:
Публикуване на коментар