Ми­ни­стер­ст­во об­ра­зо­ва­ния и нау­ки Рос­сий­ской Фе­де­ра­ции Учеб­но-ме­то­ди­че­ское объ­е­ди­не­ние ву­зов по об­ра­зо­ва­нию в об­лас­ти ин­фор­ма­ци­он­ной безо­пас­но­сти сборник примерных программ учебных дисциплин по направлению подготовки (специальности)

Вид материалаДокументы

Содержание


Учебно-методическое объединение по образованию
2. Ме­сто дис­ци­п­ли­ны в струк­ту­ре ООП
3. Тре­бо­ва­ния к ре­зуль­та­там ос­вое­ния дис­ци­п­ли­ны
4. Объ­ём дис­ци­п­ли­ны и ви­ды учеб­ной ра­бо­ты
Ау­ди­тор­ные за­ня­тия (все­го)
Са­мо­стоя­тель­ная ра­бо­та (все­го)
Вид про­ме­жу­точ­ной ат­те­ста­ции
Об­щая тру­до­ём­кость
5. Со­дер­жа­ние дис­ци­п­ли­ны
Те­ма 2. Ба­зо­вые по­ня­тия язы­ка
Те­ма 3. Ука­за­те­ли, ссыл­ки, мас­си­вы
Те­ма 4. Функ­ции
Те­ма 5. Ти­пы дан­ных, оп­ре­де­ляе­мые поль­зо­ва­те­лем
Те­ма 8. Опе­ра­ции с раз­ря­да­ми
Раз­дел 2. Вве­де­ние в объ­ект­но-ори­ен­ти­ро­ван­ное про­грам­ми­ро­ва­ние. Язык С++
Те­ма 10. Клас­сы и объ­ек­ты
Раз­дел 3. Ос­но­вы объ­ект­но-ори­ен­ти­ро­ван­но­го про­грам­ми­ро­ва­ния. Язык С++
Те­ма 12. На­сле­до­ва­ние
Те­ма 13. Вир­ту­аль­ные функ­ции и по­ли­мор­физм
Те­ма 14. Шаб­ло­ны клас­сов
...
Полное содержание
Подобный материал:
1   ...   9   10   11   12   13   14   15   16   ...   44

Разработчики: УМО ИБ


УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЪЕДИНЕНИЕ ПО ОБРАЗОВАНИЮ

В ОБЛАСТИ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ


ПРОЕКТ


ПРИМЕРНАЯ УЧЕБНАЯ ПРОГРАММА


На­име­но­ва­ние дис­ци­п­ли­ны

«Язы­ки про­грам­ми­ро­ва­ния»


Ре­ко­мен­ду­ет­ся для на­прав­ле­ния под­го­тов­ки (спе­ци­аль­но­сти)

090302 Ин­фор­ма­ци­он­ная безо­пас­ность те­ле­ком­му­ни­ка­ци­он­ных сис­тем


Ква­ли­фи­ка­ция (сте­пень) вы­пу­ск­ни­ка

«Спе­циа­лист»


МОСКВА 2011

1. Це­ли и за­да­чи дис­ци­п­ли­ны

Це­лью изу­че­ния дис­ци­п­ли­ны «Язы­ки про­грам­ми­ро­ва­ния» яв­ля­ет­ся под­го­тов­ка спе­циа­ли­стов к дея­тель­но­сти, свя­зан­ной с раз­ра­бот­кой про­грамм­но­го обес­пе­че­ния для ре­ше­ния про­фес­сио­наль­ных за­дач.

За­да­чи дис­ци­п­ли­ны:
  • оз­на­ком­ле­ние с тео­ре­ти­че­ски­ми ос­но­ва­ми про­грам­ми­ро­ва­ния;
  • изу­че­ние ос­нов ал­го­рит­ми­за­ции;
  • изу­че­ние средств опи­са­ния дан­ных и средств опи­са­ния дей­ст­вий язы­ков про­грам­ми­ро­ва­ния;
  • ов­ла­де­ние на­вы­ка­ми про­грам­ми­ро­ва­ния;
  • ос­вое­ние со­вре­мен­ных сред соз­да­ния про­грамм­ных про­дук­тов.


2. Ме­сто дис­ци­п­ли­ны в струк­ту­ре ООП

Дис­ци­п­ли­на «Язы­ки про­грам­ми­ро­ва­ния» от­но­сит­ся к чис­лу дис­ци­п­лин ба­зо­вой час­ти ма­те­ма­ти­че­ско­го и ес­те­ст­вен­но-на­уч­но­го цик­ла.

Для ус­пеш­но­го ус­вое­ния дан­ной дис­ци­п­ли­ны не­об­хо­ди­мо, что­бы сту­дент вла­дел зна­ния­ми, уме­ния­ми и на­вы­ка­ми, сфор­ми­ро­ван­ны­ми в про­цес­се изу­че­ния дис­ци­п­лин:

«Ма­те­ма­ти­че­ский ана­лиз» – вла­деть на­вы­ка­ми ис­поль­зо­ва­ния ме­то­дов ма­те­ма­ти­че­ско­го ана­ли­за к ре­ше­нию при­клад­ных за­дач;

«Ал­геб­ра и гео­мет­рия» – вла­деть ме­то­да­ми ли­ней­ной ал­геб­ры;

«Ин­фор­ма­ти­ка» – уметь поль­зо­вать­ся се­те­вы­ми сред­ст­ва­ми для об­ме­на дан­ны­ми, в том чис­ле с ис­поль­зо­ва­ни­ем гло­баль­ной ин­фор­ма­ци­он­ной се­ти Ин­тер­нет; вла­деть на­вы­ка­ми ра­бо­ты с офис­ны­ми при­ло­же­ния­ми;

«Анг­лий­ский язык» – вла­деть ино­стран­ным язы­ком в объ­е­ме, не­об­хо­ди­мом для по­лу­че­ния и из­ло­же­ния ин­фор­ма­ции по про­фес­сио­наль­ной те­ма­ти­ке.

Дис­ци­п­ли­на «Язы­ки про­грам­ми­ро­ва­ния» яв­ля­ет­ся пред­ше­ст­вую­щей для изу­че­ния сле­дую­щих ба­зо­вых дис­ци­п­лин: «Ме­то­ды про­грам­ми­ро­ва­ния», «Ин­фор­ма­ци­он­ные тех­но­ло­гии», «Про­грамм­но-ап­па­рат­ные сред­ст­ва обес­пе­че­ния ин­фор­ма­ци­он­ной безо­пас­но­сти».


3. Тре­бо­ва­ния к ре­зуль­та­там ос­вое­ния дис­ци­п­ли­ны

Про­цесс изу­че­ния дис­ци­п­ли­ны на­прав­лен на фор­ми­ро­ва­ние сле­дую­щих ком­пе­тен­ций:

спо­соб­ность к ло­ги­че­ски-пра­виль­но­му мыш­ле­нию, обоб­ще­нию, ана­ли­зу, кри­ти­че­ско­му ос­мыс­ле­нию ин­фор­ма­ции, сис­те­ма­ти­за­ции, про­гно­зи­ро­ва­нию, по­ста­нов­ке ис­сле­до­ва­тель­ских за­дач и вы­бо­ру пу­тей их ре­ше­ния на ос­но­ва­нии прин­ци­пов на­уч­но­го по­зна­ния (ОК-9);

спо­соб­ность при­ме­нять ма­те­ма­ти­че­ский ап­па­рат, в том чис­ле с ис­поль­зо­ва­ни­ем вы­чис­ли­тель­ной тех­ни­ки, для ре­ше­ния про­фес­сио­наль­ных за­дач (ПК-2);

спо­соб­ность ис­поль­зо­вать язы­ки, сис­те­мы и ин­ст­ру­мен­таль­ные сред­ст­ва про­грам­ми­ро­ва­ния в про­фес­сио­наль­ной дея­тель­но­сти (ПК-4);

спо­соб­ность при­ме­нять ос­нов­ные ме­то­ды, спо­со­бы и сред­ст­ва по­лу­че­ния, хра­не­ния, пе­ре­ра­бот­ки и пе­ре­да­чи ин­фор­ма­ции (ПК-10);

спо­соб­ность при­ме­нять со­вре­мен­ные ме­то­ды ис­сле­до­ва­ния с ис­поль­зо­ва­ни­ем ком­пь­ю­тер­ной тех­ни­ки (ПК-12).

В ре­зуль­та­те изу­че­ния дис­ци­п­ли­ны сту­дент дол­жен

знать:
  • об­лас­ти и осо­бен­но­сти при­ме­не­ния язы­ков про­грам­ми­ро­ва­ния вы­со­ко­го уров­ня;
  • язык про­грам­ми­ро­ва­ния вы­со­ко­го уров­ня (объ­ект­но-ори­ен­ти­ро­ван­ное про­грам­ми­ро­ва­ние);

уметь:
  • ра­бо­тать с ин­тег­ри­ро­ван­ной сре­дой раз­ра­бот­ки про­грамм­но­го обес­пе­че­ния;
  • реа­ли­зо­вы­вать на язы­ке вы­со­ко­го уров­ня ал­го­рит­мы ре­ше­ния про­фес­сио­наль­ных за­дач, в том чис­ле за­дач об­ра­бот­ки би­то­вых по­то­ков;

вла­деть:
  • на­вы­ка­ми раз­ра­бот­ки, до­ку­мен­ти­ро­ва­ния, тес­ти­ро­ва­ния и от­лад­ки про­грамм.


4. Объ­ём дис­ци­п­ли­ны и ви­ды учеб­ной ра­бо­ты

Вид учеб­ной ра­бо­ты

Все­го
ча­сов

Се­ме­ст­ры

2

3

Ау­ди­тор­ные за­ня­тия (все­го)

106

52

54

В том чис­ле:










Лек­ции (Л)

52

26

26

Прак­ти­че­ские за­ня­тия (ПЗ)

50

24

26

Се­ми­на­ры (С)

-

-

-

Ла­бо­ра­тор­ные ра­бо­ты (ЛР)

-

-

-

Кон­троль­ные ра­бо­ты (КР)

4

2

2

Са­мо­стоя­тель­ная ра­бо­та (все­го)

108

54

54

В том чис­ле:










Кур­со­вой про­ект (ра­бо­та)

-

-

-

Рас­чёт­но-гра­фи­че­ские ра­бо­ты

-

-

-

Кол­ло­к­ви­ум

-

-

-

Ре­фе­рат

-

-

-

До­маш­нее за­да­ние

40

20

20

Дру­гие ви­ды са­мо­стоя­тель­ной ра­бо­ты

(под­го­тов­ка к за­ня­ти­ям, за­че­ту)

68

34

34

Вид про­ме­жу­точ­ной ат­те­ста­ции

и его тру­до­ем­кость


38

За­чет
(2)


Эк­за­мен
(36)


Об­щая тру­до­ём­кость

ча­сов

252

108

144

за­чет­ных еди­ниц

7

3

4


5. Со­дер­жа­ние дис­ци­п­ли­ны

5.1. Со­дер­жа­ние раз­де­лов (тем) дис­ци­п­ли­ны

Раз­дел 1. Ос­но­вы язы­ков про­грам­ми­ро­ва­ния вы­со­ко­го уров­ня. Язык С/С++

Те­ма 1. Об­щая ха­рак­те­ри­сти­ка язы­ков про­грам­ми­ро­ва­ния

На­чаль­ные све­де­ния о язы­ках про­грам­ми­ро­ва­ния. Роль язы­ков про­грам­ми­ро­ва­ния. Ха­рак­те­ри­сти­ки и свой­ст­ва язы­ков про­грам­ми­ро­ва­ния. Ис­то­рия раз­ви­тия язы­ков про­грам­ми­ро­ва­ния. По­ко­ле­ния язы­ков. Ос­нов­ные эле­мен­ты язы­ков про­грам­ми­ро­ва­ния. Ин­ст­ру­мен­таль­ные сред­ст­ва раз­ра­бот­ки про­грамм на язы­ках вы­со­ко­го уров­ня в раз­лич­ных опе­ра­ци­он­ных сис­те­мах.

Те­ма 2. Ба­зо­вые по­ня­тия язы­ка

Ал­фа­вит, иден­ти­фи­ка­то­ры, слу­жеб­ные сло­ва, кон­стан­ты, ком­мен­та­рии. Струк­ту­ра про­грам­мы. Эта­пы соз­да­ния ис­пол­няе­мой про­грам­мы. Ти­пи­за­ция язы­ка. Оп­ре­де­ле­ние ти­па. Кон­троль ти­пов. Уров­ни ти­пи­за­ции. Эк­ви­ва­лент­ность ти­пов. Про­стые ти­пы дан­ных. Пе­ре­мен­ные. Клас­сы па­мя­ти. Опе­ра­ции, вы­ра­же­ния, опе­ра­то­ры.

Те­ма 3. Ука­за­те­ли, ссыл­ки, мас­си­вы

Ука­за­те­ли. Ссыл­ки. Од­но­мер­ные и мно­го­мер­ные мас­си­вы. Стро­ки. Связь ука­за­те­лей и мас­си­вов. Ди­на­ми­че­ские мас­си­вы.

Те­ма 4. Функ­ции

Оп­ре­де­ле­ние, опи­са­ние и вы­зов функ­ции. Спо­со­бы пе­ре­да­чи па­ра­мет­ров в функ­цию. Ре­кур­сив­ные функ­ции. Под­став­ляе­мые функ­ции. Пе­ре­груз­ка функ­ций. Шаб­ло­ны функ­ций. Ука­за­те­ли на функ­ции. Ар­гу­мен­ты по умол­ча­нию. Пе­ре­да­ча мас­си­вов в функ­ции.

Те­ма 5. Ти­пы дан­ных, оп­ре­де­ляе­мые поль­зо­ва­те­лем

Струк­ту­ры, объ­е­ди­не­ния, би­то­вые по­ля. Пе­ре­име­но­ва­ние ти­пов. Пе­ре­чис­ле­ния.

Те­ма 6. Ввод –вы­вод. Ра­бо­та с фай­ла­ми

Ввод-вы­вод дан­ных. Функ­ции для ра­бо­ты с фай­ла­ми и ди­рек­то­рия­ми.

Те­ма 7. Пре­про­цес­сор­ные сред­ст­ва

Ста­дии пре­про­цес­сор­ной об­ра­бот­ки. Ди­рек­ти­вы. Мак­ро­под­ста­нов­ки. Ус­лов­ная ком­пи­ля­ция.

Те­ма 8. Опе­ра­ции с раз­ря­да­ми

По­раз­ряд­ные ло­ги­че­ские опе­ра­ции и опе­ра­ции сдви­га, об­лас­ти их при­ме­не­ния. Ис­поль­зо­ва­ние би­то­вых по­лей. Би­то­вые по­ля и по­раз­ряд­ные опе­ра­ции.

Раз­дел 2. Вве­де­ние в объ­ект­но-ори­ен­ти­ро­ван­ное про­грам­ми­ро­ва­ние. Язык С++

Те­ма 9. Ос­нов­ные прин­ци­пы объ­ект­но-ори­ен­ти­ро­ван­но­го про­грам­ми­ро­ва­ния

Ос­нов­ные по­ня­тия объ­ект­но-ори­ен­ти­ро­ван­но­го про­грам­ми­ро­ва­ния (ООП). От­ли­чия ООП от про­це­дур­но­го про­грам­ми­ро­ва­ния. Прин­цип ин­кап­су­ля­ции. По­ня­тия на­сле­до­ва­ния и по­ли­мор­физ­ма.

Те­ма 10. Клас­сы и объ­ек­ты

Кон­ст­рук­то­ры и де­ст­рук­то­ры. Дру­же­ст­вен­ные клас­сы и функ­ции. Ста­ти­че­ские эле­мен­ты клас­са. Кон­стант­ные ме­то­ды и объ­ек­ты. Ука­за­тель this. Ука­за­те­ли и ссыл­ки на объ­ек­ты, мас­си­вы объ­ек­тов.

Раз­дел 3. Ос­но­вы объ­ект­но-ори­ен­ти­ро­ван­но­го про­грам­ми­ро­ва­ния. Язык С++

Те­ма 11. Пе­ре­груз­ка опе­ра­ций

Кон­цеп­ция и ос­нов­ные пра­ви­ла пе­ре­груз­ки опе­ра­ций. Пе­ре­груз­ка опе­ра­ций ме­то­да­ми клас­са, дру­же­ст­вен­ны­ми и обыч­ны­ми функ­ция­ми. Пе­ре­груз­ка раз­лич­ных опе­ра­ций.

Те­ма 12. На­сле­до­ва­ние

Ме­ха­низм на­сле­до­ва­ния. Ба­зо­вые и про­из­вод­ные клас­сы. Ти­пы на­сле­до­ва­ния. Пра­ви­ла на­сле­до­ва­ния раз­лич­ных ме­то­дов. Мно­же­ст­вен­ное на­сле­до­ва­ние.

Те­ма 13. Вир­ту­аль­ные функ­ции и по­ли­мор­физм

По­ли­мор­физм. Вир­ту­аль­ные и чис­тые вир­ту­аль­ные функ­ции. Аб­ст­ракт­ные клас­сы. Ста­ти­че­ское и ди­на­ми­че­ское свя­зы­ва­ние. Ме­ха­низм ди­на­ми­че­ско­го свя­зы­ва­ния. Вир­ту­аль­ные де­ст­рук­то­ры.

Те­ма 14. Шаб­ло­ны клас­сов

Оп­ре­де­ле­ние шаб­ло­на клас­са. Ис­поль­зо­ва­ние шаб­ло­на клас­са. Пра­ви­ла опи­са­ния шаб­ло­нов. Спе­циа­ли­за­ция шаб­ло­на клас­са.

Те­ма 15. По­то­ко­вый ввод-вы­вод

Ие­рар­хия клас­сов по­то­ко­во­го вво­да-вы­во­да. Прин­ци­пы ор­га­ни­за­ция по­то­ков. Стан­дарт­ные по­то­ки. Ра­бо­та с фай­ла­ми. Фор­ма­ти­ро­ва­ние вво­да-вы­во­да. Стро­ко­вые по­то­ки. Пе­ре­груз­ка опе­ра­ций вво­да-вы­во­да.

Те­ма 16. Об­ра­бот­ка ис­клю­чи­тель­ных си­туа­ций

Прин­ци­пы об­ра­бот­ки ис­клю­че­ний. Клас­сы и ис­клю­че­ния. Стан­дарт­ные ис­клю­че­ния.

Те­ма 17. Стан­дарт­ная биб­лио­те­ка шаб­ло­нов (STL)

Об­щие прин­ци­пы функ­цио­ни­ро­ва­ния STL. Кон­тей­не­ры. Ите­ра­то­ры. Ал­го­рит­мы. Функ­то­ры.

Те­ма 18. При­ло­же­ния с гра­фи­че­ским ин­тер­фей­сом поль­зо­ва­те­ля

Прин­ци­пы про­грам­ми­ро­ва­ния для опе­ра­ци­он­ной сис­те­мы на язы­ке С/С++ с при­ме­не­ни­ем API. Взаи­мо­дей­ст­вие опе­ра­ци­он­ной сис­те­мы и при­ло­же­ний. Соз­да­ние гра­фи­че­ско­го ин­тер­фей­са поль­зо­ва­те­ля.


5.2. Раз­де­лы (те­мы) дис­ци­п­ли­ны и меж­дис­ци­п­ли­нар­ные свя­зи с обес­пе­чи­вае­мы­ми (по­сле­дую­щи­ми) дис­ци­п­ли­на­ми



п/п

На­име­но­ва­ние обес­пе­чи­вае­мых (по­сле­дую­щих) дис­ци­п­лин

№ раз­де­лов (тем) дан­ной дис­ци­п­ли­ны, не­об­хо­ди­мых для изу­че­ния обес­пе­чи­вае­мых (по­сле­дую­щих) дис­ци­п­лин




1

2

3

1.

Ме­то­ды про­грам­ми­ро­ва­ния

+

+

+

2.

Ин­фор­ма­ци­он­ные тех­но­ло­гии

+

+

+


5.3. Раз­де­лы (те­мы) дис­ци­п­ли­ны и ви­ды за­ня­тий

№ п/п

На­име­но­ва­ние раз­де­ла (те­мы) дис­ци­п­ли­ны

Лекц., час

Практ. зан., час

Лаб. раб., час

Се­мин., час

СР,

час

Все­го, час

1

Ос­но­вы язы­ков про­грам­ми­ро­ва­ния вы­со­ко­го уров­ня. Язык С/С++

20

20

-

-

46

86

2

Вве­де­ние в объ­ект­но-ори­ен­ти­ро­ван­ное про­грам­ми­ро­ва­ние. Язык С++

6

4

-

-

8

18

3

Ос­но­вы объ­ект­но-ори­ен­ти­ро­ван­но­го про­грам­ми­ро­ва­ния. Язык С++

26

26

-

-

54

106


6. Ла­бо­ра­тор­ный прак­ти­кум

Ла­бо­ра­тор­ный прак­ти­кум не пре­ду­смот­рен


7. При­мер­ная те­ма­ти­ка кур­со­вых про­ек­тов (ра­бот)

Кур­со­вой про­ект (ра­бо­та) не пре­ду­смот­рен.


8. Учеб­но-ме­то­ди­че­ское и ин­фор­ма­ци­он­ное обес­пе­че­ние дис­ци­п­ли­ны

8.1. Ос­нов­ная ли­те­ра­ту­ра
  1. Лап­тев В.В. С++. Объ­ект­но-ори­ен­ти­ро­ван­ное про­грам­ми­ро­ва­ние: Учеб­ное по­со­бие. – СПб.: Пи­тер, 2008. – 464 с.
  2. Пав­лов­ская Т.А. С/С++. Про­грам­ми­ро­ва­ние на язы­ке вы­со­ко­го уров­ня. Учеб­ник. – СПб.: Пи­тер, 2010. – 460 с.
  3. Под­бель­ский В. В., Фо­мин С. С. Про­грам­ми­ро­ва­ние на язы­ке Си. Учеб­ное по­со­бие для ВУЗов : – М. : Фи­нан­сы и ста­ти­сти­ка, 2009. – 600 с.
  4. Под­бель­ский В.В. Стан­дарт­ный Си++. Учеб­ное по­со­бие. – М.: Фи­нан­сы и ста­ти­сти­ка, 2008. – 688 с.
  5. Шилдт Г. C++ : ба­зо­вый курс. : Пер. с англ. – М.: Из­да­тель­ский дом «Виль­ямс», 2010. – 624 с.: ил.

8.2. До­пол­ни­тель­ная ли­те­ра­ту­ра
  1. Гриф­фитс А. GCC. На­столь­ная кни­га поль­зо­ва­те­лей, про­грам­ми­стов и сис­тем­ных ад­ми­ни­ст­ра­то­ров. – К.: ООО «ТИД ДС», 2004. – 624 с.
  2. Дей­тел Х.М., Дей­тел П.Дж. Как про­грам­ми­ро­вать на С++. – 4-е изд. М.: Би­ном-Пресс, 2010. – 1456 с.
  3. Ла­фо­ре Р. Объ­ект­но-ори­ен­ти­ро­ван­ное про­грам­ми­ро­ва­ние в C++. : Пер. с англ. – 4-е изд. – СПб. : Из­да­тель­ст­во «Пи­тер», 2004. – 924 с.
  4. Мюс­сер Д.Р., Дердж Ж.Дж., Сей­ни А. С++ и STL: спра­воч­ное ру­ко­во­дство. – М. : Из­да­тель­ский дом «Виль­ямс», 2010. – 432 с.
  5. Пав­лов­ская Т.А., Щу­пак Ю.А. С/С++. Струк­тур­ное и объ­ект­но-ори­ен­ти­ро­ван­ное про­грам­ми­ро­ва­ние. Прак­ти­кум. – СПб.: Пи­тер, 2010. – 352 с.
  6. Под­бель­ский В. В. Прак­ти­кум по про­грам­ми­ро­ва­нию на язы­ке Си. – М.: Фи­нан­сы и ста­ти­сти­ка, 2004. – 575 с.
  7. Пра­та С. Язык про­грам­ми­ро­ва­ния С. Лек­ции и уп­раж­не­ния.- М. : Из­да­тель­ский дом Виль­ямс, 2006. – 960 с.
  8. Се­бе­ста Р.У. Ос­нов­ные кон­цеп­ции язы­ков про­грам­ми­ро­ва­ния – М. : Из­да­тель­ский дом Виль­ямс, 2001. – 668 с.
  9. Страу­ст­руп Б. Про­грам­ми­ро­ва­ние: прин­ци­пы и прак­ти­ка ис­поль­зо­ва­ния C++ : Пер. с англ. – М. : Из­да­тель­ский дом «Виль­ямс», 2010. – 1248 с.: ил.
  10. Хор­тон А. Visual C++ 2010. Пол­ный курс. – М. : Диа­лек­ти­ка, 2010. – 1216 с.

8.3. Про­грамм­ное обес­пе­че­ние
  1. Опе­ра­ци­он­ные сис­те­мы: се­мей­ст­ва Windows (не ни­же Windows XP), Linux.
  2. Сре­ды про­грам­ми­ро­ва­ния, на­при­мер, Microsoft Visual C++ Express Edition, MonoDevelop или иные; ком­пи­ля­тор gcc (для ОС Linux), ре­дак­тор Emacs или иной; спра­воч­ная сис­те­ма Microsoft Development Network или иная.

8.4. Ба­зы дан­ных, ин­фор­ма­ци­он­но-спра­воч­ные и по­ис­ко­вые сис­те­мы

Не тре­бу­ет­ся.


9. Ма­те­ри­аль­но-тех­ни­че­ское обес­пе­че­ние дис­ци­п­ли­ны

Для про­ве­де­ния всех ви­дов за­ня­тий не­об­хо­ди­мо пре­зен­та­ци­он­ное обо­ру­до­ва­ние (муль­ти­ме­дий­ный про­ек­тор, но­ут­бук, эк­ран) – 1 ком­плект.

Для про­ве­де­ния прак­ти­че­ских за­ня­тий не­об­хо­ди­мо на­ли­чие ком­пь­ю­тер­ных клас­сов обо­ру­до­ван­ных со­вре­мен­ной вы­чис­ли­тель­ной тех­ни­кой из рас­че­та од­но ра­бо­чее ме­сто на од­но­го обу­чае­мо­го.

Для эф­фек­тив­ной ра­бо­ты в рам­ках дис­ци­п­ли­ны ре­ко­мен­ду­ет­ся иметь воз­мож­ность ра­бо­тать с ис­ход­ны­ми тек­ста­ми про­грамм, со­хра­нен­ны­ми на съем­ных на­ко­пи­те­лях ин­фор­ма­ции.


10. Ме­то­ди­че­ские ре­ко­мен­да­ции по ор­га­ни­за­ции изу­че­ния дис­ци­п­ли­ны

Цель обу­че­ния дос­ти­га­ет­ся со­че­та­ни­ем при­ме­не­ния тра­ди­ци­он­ных и ин­но­ва­ци­он­ных пе­да­го­ги­че­ских тех­но­ло­гий.

При про­ве­де­нии лек­ци­он­ных за­ня­тий це­ле­со­об­раз­но ши­ро­ко при­ме­нять та­кую фор­му как лек­ция-ви­зуа­ли­за­ция, со­про­во­ж­дая из­ло­же­ние тео­ре­ти­че­ско­го ма­те­риа­ла пре­зен­та­ция­ми, при этом же­ла­тель­но за­бла­го­вре­мен­но обес­пе­чить сту­ден­тов раз­да­точ­ным ма­те­риа­лом.

Ос­нов­ной упор в ме­то­ди­ке про­ве­де­ния прак­ти­че­ских за­ня­тий дол­жен быть сде­лан на от­ра­бот­ке и за­кре­п­ле­нии учеб­но­го ма­те­риа­ла в про­цес­се вы­пол­не­ния за­да­ний с при­ме­не­ни­ем ПЭВМ в ком­пь­ю­тер­ном клас­се. Осо­бое вни­ма­ние при этом долж­но быть уде­ле­но при­ме­не­нию эле­мен­тов про­блем­но­го и кон­тек­ст­но­го обу­че­ния, опе­ре­жаю­щей са­мо­стоя­тель­ной ра­бо­те сту­ден­тов.

Для эф­фек­тив­ной ра­бо­ты сту­ден­тов на прак­ти­че­ских за­ня­ти­ях це­ле­со­об­раз­но фор­ми­ро­вать под­груп­пы чис­лен­но­стью не бо­лее 12 че­ло­век.

При изу­че­нии дис­ци­п­ли­ны сту­ден­ты долж­ны вы­пол­нить два до­маш­них за­да­ния (по од­но­му в се­ме­ст­ре), при­зван­ных обу­чить сту­ден­тов ре­ше­нию кон­крет­ной прак­ти­че­ской за­да­чи, на­чи­ная с ее по­ста­нов­ки и фор­ма­ли­за­ции, по­сле­дую­щих ал­го­рит­ми­за­ции и реа­ли­за­ции на язы­ке про­грам­ми­ро­ва­ния, и за­кан­чи­вая ана­ли­зом по­лу­чен­ных ре­зуль­та­тов и оформ­ле­ни­ем не­об­хо­ди­мой до­ку­мен­та­ции.

Те­ку­щий кон­троль ус­вое­ния зна­ний сту­ден­та­ми осу­ще­ст­в­ля­ет­ся пу­тём вы­пол­не­ния двух кон­троль­ных ра­бот (од­на во вто­ром и од­на в треть­ем се­ме­ст­рах), под­го­тов­ки и сда­чи от­чё­тов по ито­гам вы­пол­не­ния дол­го­сроч­ных до­маш­них за­да­ний, про­вер­ки вы­пол­не­ния те­ку­щих за­да­ний, оп­ро­сов на прак­ти­че­ских за­ня­ти­ях. По ре­ше­нию ву­за воз­мож­но про­ве­де­ние от­дель­ных форм те­ку­ще­го кон­тро­ля в ви­де тес­ти­ро­ва­ния.

При­мер­ным учеб­ным пла­ном на изу­че­ние дис­ци­п­ли­ны от­во­дят­ся два (вто­рой и тре­тий) се­ме­ст­ра. В кон­це вто­ро­го се­ме­ст­ра пре­ду­смат­ри­ва­ет­ся в ка­че­ст­ве ито­го­во­го кон­тро­ля за­чёт, а в кон­це третье­го – ито­го­вая от­чет­ность по дис­ци­п­ли­не – эк­за­мен. Це­ле­со­об­раз­но осу­ще­ст­в­лять про­ве­де­ние эк­за­ме­на в фор­ме уст­но­го оп­ро­са по би­ле­там, а за­чё­та – как в фор­ме уст­но­го оп­ро­са по би­ле­там, так и в фор­ме тес­ти­ро­ва­ния.

В со­от­вет­ст­вии со спе­ци­фи­кой ВУЗа в про­цес­се пре­по­да­ва­нии дис­ци­п­ли­ны ме­то­ди­че­ски це­ле­со­об­раз­но в ка­ж­дом раз­де­ле вы­де­лить наи­бо­лее важ­ные те­мы и рас­смот­реть их на кон­крет­ных при­ме­рах.

При­мер­ный пе­ре­чень тем до­маш­них за­да­ний:

Пе­ре­гру­жен­ные и шаб­лон­ные функ­ции раз­лич­ной об­ра­бот­ки од­но­мер­ных и дву­мер­ных мас­си­вов, хра­ня­щих­ся в фай­лах.

Сред­ст­ва­ми язы­ка С/С++ про­вес­ти мо­де­ли­ро­ва­ние не­ко­то­рой пред­мет­ной об­лас­ти с объ­ек­та­ми – струк­ту­ра­ми и опе­ра­ция­ми над ни­ми в ви­де функ­ций. Раз­ра­бо­тать ин­тер­фейс – диа­лог в ви­де ме­ню.

Реа­ли­за­ция в ви­де шаб­лон­но­го клас­са ди­на­ми­че­ской струк­ту­ры дан­ных (на­при­мер, ли­ней­ный спи­сок, стек, оче­редь, дек) и ра­бо­та с объ­ек­та­ми это­го клас­са.

Соз­дать при­ло­же­ние, реа­ли­зую­щее ие­рар­хию на­сле­дуе­мых клас­сов (для не­ко­то­рой пред­мет­ной об­лас­ти) и ис­поль­зую­щее ме­ха­низм вир­ту­аль­ных функ­ций.

Про­вес­ти мо­де­ли­ро­ва­ние за­дан­ной пред­мет­ной об­лас­ти и об­ра­бот­ку дан­ных с ис­поль­зо­ва­ни­ем STL.


При­мер­ный пе­ре­чень во­про­сов для кон­троль­ных ра­бот:

Реа­ли­за­ция на язы­ке С/С++ об­ра­бот­ки дан­ных с ис­поль­зо­ва­ни­ем функ­ций.

Реа­ли­за­ция аб­ст­ракт­но­го ти­па дан­ных на объ­ект­но-ори­ен­ти­ро­ван­ном язы­ке про­грам­ми­ро­ва­ния С++.


При­мер­ный пе­ре­чень во­про­сов для оп­ро­сов на прак­ти­че­ских за­ня­ти­ях:

Ка­кие функ­ции ис­поль­зу­ют­ся в язы­ке Си для ра­бо­ты с ди­на­ми­че­ской па­мя­тью?

В чем за­клю­ча­ют­ся от­ли­чия мак­ро­сов от функ­ций?

Сколь­ко кон­ст­рук­то­ров и де­ст­рук­то­ров мо­жет быть в клас­се? До­пус­ка­ет­ся ли их пе­ре­груз­ка?

Сфор­му­ли­руй­те ос­нов­ные пра­ви­ла, ис­поль­зуе­мые при пе­ре­груз­ке функ­ций.

Чем от­кры­тое на­сле­до­ва­ние клас­сов от­ли­ча­ет­ся от за­кры­то­го и за­щи­щен­но­го?

Ка­кие ти­пы па­ра­мет­ров шаб­ло­на клас­са до­пус­ка­ют­ся?

Пе­ре­чис­ли­те сред­ст­ва объ­ект­но-ори­ен­ти­ро­ван­но­го язы­ка, ис­поль­зуе­мые для фор­ма­ти­ро­ва­ния при вво­де-вы­во­де.

С по­мо­щью ка­ко­го ме­ха­низ­ма в С++ реа­ли­зу­ет­ся ди­на­ми­че­ский по­ли­мор­физм?