Обектно-Ориентирано Програмиране със С++ и Eclipse (Учебни материали за училищния курс по Информатика)

Информатиката по същество и по ниво на абстракция е част от Математиката – най-абстрактната наука след Философията, затова използваният за обучение език за програмиране не е от съществено значение при цялостно усвояване на основните алгоритмични конструкции и модели и на абстрактния начин на мислене, характерен за съвременното състояние на развитие на процесите на събиране, обработка, съхранение и разпространение на информацията.
Поради ред причини за учебната 2014/2015 реших да реализирам основния си курс по Информатика „Обектно-Ориентирано Програмиране с Java и Отворен Код“ с използване на езика C++ т.е. да го превърна в „Обектно-Ориентирано Програмиране със C++ и Отворен Код“. Една от причините е, че повечето учители по информатика са по-добре запознати със С++ отколкото с Java.
Основното различие между двата езика за програмиране е, че С++ предоставя повече възможности от Java и съответно е по-сложен и с повече възможности за грешки. Въпреки това, при разумното ограничаване на използваните езикови конструкции в С++, със съвсем малко повече усилия, може да се постигнат същите педагогически резултати както при ООП с JAVA.
Препрограмирането на ООП шаблони от Java на С++, макар и изключително поучително, не създаде кардинални проблеми с изключение използването на Applet(което не е „истинска“ част от ООП шаблоните).
Универсалността на средата за програмиране с отворен код Eclipse, която използвам близо 15 години, при преподаването на Информатика в СОУЕЕ "Свети Константин-Кирил Философ" гр. Русе улесни неимоверно много преминаването от Java на C++ (в нея можете да програмирате, тествате и изпълнявате различни приложения на Java, C++, HTML, PHP, JavaScript).
Наличието на три кабинета в училище с добри компютри, позволяващи да бъде инсталирана на тях операционна система Windows7, осигуриха възможност и за инсталиране на последните версии на JAVA и Eclipse – съответно JDK8 и Luna.

Списък на учебни материали за училищния курс по Информатика

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.
52) Допълнителни незадължителни учебници:
9-10 кл
Информатика 9-10 кл
Изкуства
Кр.Манев и др.
9 кл
Информатика 9 кл; Програмиране на C++
Коала Прес
Л. Иванова и др.
9 кл
Задачи Информатика 9 кл; Програмиране на C++; Решения
Коала Прес
Л. Иванова и др.
Първият учебник е по-модерен и по-близък до структурата на реализирания училищен курса по Информатика, но ползва езика за Обектно-Ориентирано Програмиране С# (чете се „си шарп“) – от него е полезна уводната част и най-вече същественият раздел „Бройни системи“ 
 
Вторият учебник може да се ползва като справочник за възможностите на С++ и за кръга от елементарни задачи и допълнителни тестове, които всеки добър ученик, проявяващ интерес към програмирането, трябва да може да решава. В електронен вид този учебника е разработен от г-жа Анастасия Димитрова (Стрелките предишна страница, следваща страница работят само със старите версии на Flash Player – до началото на 2014г. например версия: 11,9,900,170. В новите версии във връзка със пробив в сигурността в момента са блокирани).
Третата книга съдържа възможните решения на задачите от втория учебник.
Борис Старчев
учител по математика и информатика

Няма коментари:

Публикуване на коментар