Programiranje

Na ovom blogu će periodično biti objavljena moja razmišljanja na temu nastave programiranja u Tehničkoj školi, smer Elektrotehničar računara. Neke od informacija koje će biti od koristi učenicima su rezultati kontrolnih vežbi, rešenizadaci sa kontrolnih vežbi, zadaci za samostalan rad, kao i linkovi ka web stranicama gde se može belsplatno preuzeti softver koji se koristi u nastavi.

Наставни план Програмирање 4

Наставни план Програмирање 4

 

 

Наставни садржај Број часова обраде Број часова утврђив. Број часова лаборат. вежби Укупан број часова
Полудинамичке и динамичке структуре података

3

3

6

12

Увод у објектно оријентисано програмирање

13

9

18

40

Писање windows програма

13

9

26

48

Базе података

7

5

12

24

Укупно

36

26

62

124

 

 

Циљ:

– стицање и продубљивање рачунарске писмености ученика и њихово оспособљавање да користе  рачунар у даљем школовању, будућем раду и свакодневном животу.

 

 

Задаци:

– обучавање за различите технике програмирања и коришћење одговарајућих програмских језика;

– развијање код ученика новог начина размишљања с обзиром на захтев специфичности материје коју у досадашњем школовању нису срели;

– развијање способности за прецизно формулисање проблема различите природе;

– усвајање основа за даље, самостално стицање знања и усавршавање;

– оспособљавање за програмирање основних алгоритамских корака на вишим програмским језицима и писање програма различите сложености;

– упознавање структуре и организације података и начина формирања, ажурирања и одржавања датотека;

– оспособљавање ученика да пише структуиране, затим модуларне и на крају објектно оријентисане програме.

 

 

Наставни предмет: Програмирање 4

 

 

Редни број наставне теме Број часова Наставни садржај Начин и поступак остваривања Активности ученика

1.

6+6

Полудинамичке и динамичке структуре података

-фронтални рад

-индивидуални рад

-групни рад

-рад у пару

-вербалне  методе

-илустративно-демонстративна метода

 

– слуша

-уочава

-изводи закључке

-закључује

-одговара на питања

-препознаје

-анализира

-вежба

-најбитније бележи

2.

12+18

Увод у објектно оријентисано програмирање

-фронтални рад

-индивидуални рад

-групни рад

-рад у пару

-вербалне  методе

-илустративно-демонстративна метода

 

– слуша

-уочава

-изводи закључке

-закључује

-одговара на питања

-препознаје

-анализира

-вежба

-најбитније бележи

3.

12+26

Писање windows програма

-фронтални рад

-индивидуални рад

-групни рад

-рад у пару

-вербалне  методе

-илустративно-демонстративна метода

 

– слуша

-уочава

-изводи закључке

-закључује

-одговара на питања

-препознаје

-анализира

-вежба

-најбитније бележи

4.

12+12

Базе података

-фронтални рад

-индивидуални рад

-групни рад

-рад у пару

-вербалне  методе

-илустративно-демонстративна метода

 

– слуша

-уочава

-изводи закључке

-закључује

-одговара на питања

-препознаје

-анализира

-вежба

-најбитније бележи

 

НАЧИН ОСТВАРИВАЊА ПРОГРАМА (УПУТСТВО)

Програмом је предвиђено стицање основних знања и вештина за разумевање и самостално решавање задатака помоћу рачунара коришћењем техника структуираног, модуларног и објектно оријентисаног програмирања.

За реализацију наставног програма програмирање у IV години предвиђено је да се користи MICROSOFT VISUAL C++ програмски пакет. Међутим треба нагласити да се дозвољава слобода избора програмског језика, што значи да овим програмом није одређен један програмски језик који треба изучити и помоћу њега решавати проблеме.

У све три године учења треба инсистирати првенствено на практичној примени (писање програма), а не на теорији и синтаксама програмског језика. Ученик мора да савлада потребан начин размишљања приликом решавања неког проблема. Значи предавање треба базирати на учењу техника програмирања.

У трећој години предавања потребно је обновити прво из претходне године рад са једноструко и двоструко спрегнутом листом, а потом по истом механизму (уз коришћење модула) обрадити и остале структуре података. У другом делу потребно је реализовати основне концепте објектно орјентисаног програмирања у C++. Учење не може бити чисто теоријско, већ реализовано кроз конкретне примере. Примери морају бити јасни и што краћи како би ученик могао што лакше да их савлада. Прави смисао објектног програмирања схватиће кроз примере који су реализовани кроз windows програмирање у C++. Писање windows програма био би велики императив за ученике. Потребно је реализовати два до три проблема по деловима. Ученици би добијали да реализују сличне проблеме такође паралелно по деловима. Делови представљају ставке које су дате у горе наведеним ставкама трећег дела. Потребно је да ученици савладају основне концепте прављења windows програма. Проширење знања и додатне могућности windows програмирања реализовати са ученицима који буду узимали матурске радове из предмета програмирање.

Вежбе се реализују са трећином одељења. Вежбе се састоје у практичном реализовању програма. Практичним радом на рачунару ученици треба да савладају поступке везане за руковање рачунаром у процесу припреме, тестирања и реализације програма. Такође треба да се обуче у коришћењу програмске подршке рачунара, одржавања апликација и датотека.

Вежбе прати документација у облику извештаја који садржи задатак, алгоритам, изворни програм и резултате праћене пригодним објашњењем. Предлаже се израда практикума који би садржао најмање три припремна задатка за вежбу као и задатке предвиђене за ту вежбу. Идеја је да ученици припремне задатке на основу предавања сами ураде код куће и на тај начин дођу припремљени за ту вежбу.

На крају сваког полугодишта у оквиру вежби извршити проверу знања на основу семинарског рада који би ученици требало самостално да ураде, а који би обухватао комплетно градиво обрађено у току тог полугодишта. Поред тога, у циљу одређивања минималног броја контролних вежби у оквиру теоријске наставе, предвиђа се по једна контролна вежба после сваке целине.

Упутство за реализацију наставе у блоку

Настава у блоку требала би да омогући ученицима да након пређених тематских целина провере, тј утврде своје знање кроз израду пројеката.

Предлаже се формирање радних тимова (по пет ученика у једном тиму). Сваки тим треба да има координатора који ће бити носилац пројекта. Његово задужење је да изврши поделу задатка члановима свог тима као и да координира њиховим радом.

Извештај урађеног пројекта треба да садржи кратак опис пројекта, изворни програм и резултате у писаној форми, а на дискети треба да се налази изворни и извршни код програма. Предвиђа се израда пет пројеката са горе наведеним темама.

Овим концептом наставе ученици би савладали основне принципе модуларног програмирања као основа за објектно оријентисано програмирање које ће се реализовати у четвртом разреду. Да би настава у блоку могла да се организује на овај начин потребно је да ученици посете рачунарски центар, где ће моћи да се упознају са њиховом организацијом, тј координацијом између чланова тима који учествују приликом реализације пројекта.

Настава у блоку у четвртој години треба да се реализује на исти начин као и у трећем разреду.

Сваки урађен пројекат мора да се преда у облику извештаја. Извештај пројекта треба да садржи кратак опис датог задатка, изворни програм и резултате у писаној форми, а на дискети треба да се налази изворни и извршни код програма. Предвиђа се израда пет пројеката са горе наведеним темама. Циљ пројеката у четвртој години између осталог је и да омогући лакшу израду матурског рада, што значи да они у себи могу да имају делове које ће ученици моћи на крају искористити за свој матурски рад из предмета Програмирање. С обзиром да ће се реализација пројеката извршавати у Windows објектно оријентисаном програмском окружењу, подела на тимски рад доћи ће до пуног изражаја.

За сваки дан наставе у блоку ученик је у обавези да води свој дневник рада. Пожељно је да он буде рађен рачунаром, јер се на такав начин добија на његовом квалитету, а истовремено ученик се навикава на педантност и прецизност у изради техничких списа и документација, што је са васпитне стране и те како значајно.

 

Наставни план Програмирање 3

Наставни план Програмирање 3

 

 

Наставни садржај Број часова обраде Број часова утврђив. Број часова лаборат. вежби Укупан број часова
Функције и структура програма

6

4

10

20

Показивачи

3

2

4

9

Вишедимензионални низови (матрице)

3

2

4

9

Стрингови

4

2

6

12

Технике претраживања и сортирања низова

3

1

6

10

Структуре (слогови)

4

4

8

16

Датотеке

6

6

12

24

Динамичка меморија и динамичке структуре података

11

9

20

40

Укупно

40

30

70

140

Циљ:

– стицање и продубљивање рачунарске писмености ученика и њихово оспособљавање да користе  рачунар у даљем школовању, будућем раду и свакодневном животу.

Задаци:

– обучавање за различите технике програмирања и коришћење одговарајућих програмских језика;

– развијање код ученика новог начина размишљања с обзиром на захтев специфичности материје коју у досадашњем школовању нису срели;

– развијање способности за прецизно формулисање проблема различите природе;

– усвајање основа за даље, самостално стицање знања и усавршавање;

– оспособљавање за програмирање основних алгоритамских корака на вишим програмским језицима и писање програма различите сложености;

– упознавање структуре и организације података и начина формирања, ажурирања и одржавања датотека;

– оспособљавање ученика да пише структуиране, затим модуларне и на крају објектно оријентисане програме.

Наставни предмет: Програмирање 3

Редни број наставне теме Број часова Наставни садржај Начин и поступак остваривања Активности ученика

1.

10+10

Функције и структура програма -фронтални рад-индивидуални рад

-групни рад

-рад у пару

-вербалне  методе

-илустративно-демонстративна метода

 

– слуша-уочава

-изводи закључке

-закључује

-одговара на питања

-препознаје

-анализира

-вежба

-најбитније бележи

2.

5+4

Показивачи -фронтални рад-индивидуални рад

-групни рад

-рад у пару

-вербалне  методе

-илустративно-демонстративна метода

 

– слуша-уочава

-изводи закључке

-закључује

-одговара на питања

-препознаје

-анализира

-вежба

-најбитније бележи

3.

5+4

Вишедимензионални низови (матрице) -фронтални рад-индивидуални рад

-групни рад

-рад у пару

-вербалне  методе

-илустративно-демонстративна метода

 

– слуша-уочава

-изводи закључке

-закључује

-одговара на питања

-препознаје

-анализира

-вежба

-најбитније бележи

4.

6+6

Стрингови -фронтални рад-индивидуални рад

-групни рад

-рад у пару

-вербалне  методе

-илустративно-демонстративна метода

 

– слуша-уочава

-изводи закључке

-закључује

-одговара на питања

-препознаје

-анализира

-вежба

-најбитније бележи

5.

4+6

Технике претраживања и сортирања низова -фронтални рад-индивидуални рад

-групни рад

-рад у пару

-вербалне  методе

-илустративно-демонстративна метода

 

– слуша-уочава

-изводи закључке

-закључује

-одговара на питања

-препознаје

-анализира

-вежба

-најбитније бележи

6.

8+8

Структуре (слогови) -фронтални рад-индивидуални рад

-групни рад

-рад у пару

-вербалне  методе

-илустративно-демонстративна метода

 

– слуша-уочава

-изводи закључке

-закључује

-одговара на питања

-препознаје

-анализира

-вежба

-најбитније бележи

7.

12+12

Датотеке -фронтални рад-индивидуални рад

-групни рад

-рад у пару

-вербалне  методе

-илустративно-демонстративна метода

 

– слуша-уочава

-изводи закључке

-закључује

-одговара на питања

-препознаје

-анализира

-вежба

-најбитније бележи

8.

20+20

Динамичка меморија и динамичке структуре података -фронтални рад-индивидуални рад

-групни рад

-рад у пару

-вербалне  методе

-илустративно-демонстративна метода

 

– слуша-уочава

-изводи закључке

-закључује

-одговара на питања

-препознаје

-анализира

-вежба

-најбитније бележи

НАЧИН ОСТВАРИВАЊА ПРОГРАМА (УПУТСТВО)

Програмом је предвиђено стицање основних знања и вештина за разумевање и самостално решавање задатака помоћу рачунара коришћењем техника структуираног, модуларног и објектно оријентисаног програмирања.

За реализацију наставног програма програмирање III години је предвиђен програмски језик C.

У другој години учења програмирања потребно је прво поновити низове из прве године учења. У првој области реализоване су функције. Ту посебну пажњу треба посветити преносу параметара, инсистирати да се због заузимања меморије на стеку приликом преноса низова искључиво врши пренос параметара по референци. Ученици се морају оспособити да што више користе библиотеке функција како би и на тај начин што боље савладали функције. У другој области дефинисан је појам показивача као и приступ елементима низа помоћу њих. Трећа област је намењена за вишедимензионалне низове. Приликом састављања задатака потребно је узимати неке конкретне проблеме из живота. Приликом објашњавања стрингова у делу четири потребно је формирати функције за рад са стринговима које се често користе и функције за одговарајуће исписивање стринга на екрану, формирање универзалних менија који се често користе како би ученик сам схватио значај коришћења модула. Потребно је такође у модул сместити све у теорији обрађене функције сортирања и претраживања низова тако да ученици схвате само како да користе функције из модула (који су јој аргументи и шта она враћа као резултат). Приликом реализације дела осам ученику омогућити да на часовима користи своје код куће реализоване модуле за рад са једноструко спрегнутом листом. Његов задатак се своди на реализацији конкретног проблема. На овај начин уштедело би се на времену а и ученици би се припремали ка савлађивању основних концепата објектног програмирања.

Вежбе се реализују са трећином одељења. Вежбе се састоје у практичном реализовању програма. Практичним радом на рачунару ученици треба да савладају поступке везане за руковање рачунаром у процесу припреме, тестирања и реализације програма. Такође треба да се обуче у коришћењу програмске подршке рачунара, одржавања апликација и датотека.

Вежбе прати документација у облику извештаја који садржи задатак, алгоритам, изворни програм и резултате праћене пригодним објашњењем. Предлаже се израда практикума који би садржао најмање три припремна задатка за вежбу као и задатке предвиђене за ту вежбу. Идеја је да ученици припремне задатке на основу предавања сами ураде код куће и на тај начин дођу припремљени за ту вежбу.

На крају сваког полугодишта у оквиру вежби извршити проверу знања на основу семинарског рада који би ученици требало самостално да ураде, а који би обухватао комплетно градиво обрађено у току тог полугодишта. Поред тога, у циљу одређивања минималног броја контролних вежби у оквиру теоријске наставе, предвиђа се по једна контролна вежба после сваке целине.

Треба истаћи да градиво стечено у другом разреду чини основу за даље изучавање програмирања у трећем и четвртом разреду и да су сва три предмета повезана у логичком смислу у циљу продубљивања знања.

Упутство за реализацију наставе у блоку

Настава у блоку требала би да омогући ученицима да након пређених тематских целина провере, тј утврде своје знање кроз израду пројеката.

Предлаже се формирање радних тимова (по пет ученика у једном тиму). Сваки тим треба да има координатора који ће бити носилац пројекта. Његово задужење је да изврши поделу задатка члановима свог тима као и да координира њиховим радом.

Извештај урађеног пројекта треба да садржи кратак опис пројекта, изворни програм и резултате у писаној форми, а на дискети треба да се налази изворни и извршни код програма. Предвиђа се израда пет пројеката са горе наведеним темама.

Овим концептом наставе ученици би савладали основне принципе модуларног програмирања као основа за објектно оријентисано програмирање које ће се реализовати у четвртом разреду. Да би настава у блоку могла да се организује на овај начин потребно је да ученици посете рачунарски центар, где ће моћи да се упознају са њиховом организацијом, тј координацијом између чланова тима који учествују приликом реализације пројекта.

Наставни план Програмирање 2

Наставни план Програмирање 2

 

 

Наставни садржај Број часова обраде Број часова утврђив. Број часова лаборат. вежби Укупан број часова
Алгоритми

4

1

8

13

Програмирање рачунара

1

1

2

4

Структура језика и типови података

4

1

0

5

Изрази и наредбе

4

2

9

15

Ток програма и управљање извршавањем

3

1

4

8

Наредбе циклуса

5

3

7

15

Једнодимензионални вектор или низ

5

2

7

14

Алгоритми

26

11

37

74

Циљ:

– оспособљавање ученика за програмирање основних алгоритамских корака на вишем програмском језику и писање програма различитих типова сложености.

Задаци:

– развијање код ученика новог начина размишљања с обзиром на захтев специфичности материје коју у досадашњем школовању нису срели;

– развијање способности за прецизно формулисање проблема различите природе;

– развијање иницијативе за формализацију и уопштавање различитих задатака и поступака решавања помоћу алгоритама;

– обучавање ученика за правилну анализу алгоритама и програма ради отклањања формалних и логичких грешака;

– оспособљавање за програмирање основних алгоритамских корака на вишим програмским језицима и писање програма различите сложености;

– оспособљавање ученика да пише структуиране програме.

Наставни предмет: Програмирање 2

Редни број наставне теме Број часова Наставни садржај Начин и поступак остваривања Активности ученика

1.

5

Алгоритми -фронтални рад-индивидуални рад-групни рад-рад у пару

-вербалне  методе

-илустративно-демонстративна метода

 

– слуша-уочава-изводи закључке-закључује

-одговара на питања

-препознаје

-анализира

-вежба

-најбитније бележи

2.

2

Програмирање рачунара -фронтални рад-индивидуални рад-групни рад-рад у пару

-вербалне  методе

-илустративно-демонстративна метода

 

– слуша-уочава-изводи закључке-закључује

-одговара на питања

-препознаје

-анализира

-вежба

-најбитније бележи

3.

5

Структура језика и типови података -фронтални рад-индивидуални рад-групни рад-рад у пару

-вербалне  методе

-илустративно-демонстративна метода

 

– слуша-уочава-изводи закључке-закључује

-одговара на питања

-препознаје

-анализира

-вежба

-најбитније бележи

4.

6

Изрази и наредбе -фронтални рад-индивидуални рад-групни рад-рад у пару

-вербалне  методе

-илустративно-демонстративна метода

 

– слуша-уочава-изводи закључке-закључује

-одговара на питања

-препознаје

-анализира

-вежба

-најбитније бележи

5.

4

Ток програма и управљање извршавањем -фронтални рад-индивидуални рад-групни рад-рад у пару

-вербалне  методе

-илустративно-демонстративна метода

 

– слуша-уочава-изводи закључке-закључује

-одговара на питања

-препознаје

-анализира

-вежба

-најбитније бележи

6.

8

Наредбе циклуса -фронтални рад-индивидуални рад-групни рад-рад у пару

-вербалне  методе

-илустративно-демонстративна метода

 

– слуша-уочава-изводи закључке-закључује

-одговара на питања

-препознаје

-анализира

-вежба

-најбитније бележи

7.

7

Једнодимензионални вектор или низ -фронтални рад-индивидуални рад-групни рад-рад у пару

-вербалне  методе

-илустративно-демонстративна метода

 

– слуша-уочава-изводи закључке-закључује

-одговара на питања

-препознаје

-анализира

-вежба

-најбитније бележи

НАЧИН ОСТВАРИВАЊА ПРОГРАМА (УПУТСТВО)

Програмом је предвиђено стицање основних знања и вештина за разумевање и самостално решавање задатака помоћу рачунара коришћењем техника структуираног, модуларног и објектно оријентисаног програмирања.

За реализацију наставног програма програмирање у II години је предвиђен програмски језик C.

Треба инсистирати првенствено на практичној примени (писање програма), а не на теорији и синтаксама програмског језика. Ученик мора да савлада потребан начин размишљања приликом решавања неког проблема. Значи предавање треба базирати на учењу техника програмирања.

У првој години учења ученик се оспособљава да пише структуиране програме, да би у другој години писао модуларне програме. У трећој години потребно га је оспособити да пише објектне програме, као и омогућити прелаз са текстуалног у графичко радно окружење (Windows), те треба водити рачуна и о повећаним хардверским захтевима за рад у лабораторијама за вежбе.

У првој години учења полази се од алгоритама како би ученик могао што пре да савлада потребан начин размишљања. Алгоритми треба да се реализују графички кроз блок дијаграме, како би што лакше и боље савладали питалице и циклусе. Кроз алгоритме потребно је обрадити и низове како би ученик што боље савладао приступање елементима низа, проласке кроз низове као и основне технике сортирања и претраживања низова. Потребно је писати програме који ће реализовати проблеме из групе предмета природних наука и електротехничке а у корелацији су са садржајима одговарајућих предмета. Наредбе циклуса реализовати кроз примере који решавају неке конкретне проблеме из електротехнике или неко цртање (звездица, бројева по екрану). У програмима користити функције за рад са графиком у текстуалном моду, како би програми постали што лепши и занимљивији. У последњем делу низови, потребно је савладати основне технике за рад са низовима: тражење минималног или максималног елемента низа, претраживање и сортирање низа. Кроз задатке са низовима ученици ће још боље савладати наредбе гранања и наредбе циклуса. Треба нагласити да се алгоритми протежу кроз све области у првој години учења, и треба инсистирати на њиховом писању за сваки задатак.

Вежбе се реализују са трећином одељења. Вежбе се састоје у практичном реализовању програма. Практичним радом на рачунару ученици треба да савладају поступке везане за руковање рачунаром у процесу припреме, тестирања и реализације програма. Такође треба да се обуче у коришћењу програмске подршке рачунара, одржавања апликација и датотека.

Вежбе прати документација у облику извештаја који садржи задатак, алгоритам, изворни програм и резултате праћене пригодним објашњењем. Предлаже се израда практикума који би садржао најмање три припремна задатка за вежбу као и задатке предвиђене за ту вежбу. Идеја је да ученици припремне задатке на основу предавања сами ураде код куће и на тај начин дођу припремљени за ту вежбу.

На крају сваког полугодишта у оквиру вежби извршити проверу знања на основу семинарског рада који би ученици требало самостално да ураде, а који би обухватао комплетно градиво обрађено у току тог полугодишта. Поред тога, у циљу одређивања минималног броја контролних вежби у оквиру теоријске наставе, предвиђа се по једна контролна вежба после сваке целине.

Треба истаћи да градиво стечено у другом разреду чини основу за даље изучавање програмирања у трећем и четвртом разреду и да су сва три предмета повезана у логичком смислу у циљу продубљивања знања.