Программа дисциплины Языки программирования для специальности 090301 Компьютерная безопасность специалиста



Дата09.06.2016
өлшемі173.5 Kb.
#123170
түріПрограмма дисциплины



Национальный исследовательский университет «Высшая школа экономики»
Программа дисциплины Языки программирования для специальности 090301 Компьютерная безопасность специалиста




Правительство Российской Федерации
Федеральное государственное автономное образовательное учреждение высшего профессионального образования
"Национальный исследовательский университет
"Высшая школа экономики"

Московский институт электроники и математики Национального

исследовательского университета "Высшая школа экономики"


Факультет прикладной математики и кибернетики.

Программа дисциплины Языки программирования


для специальности 090301 Компьютерная безопасность

подготовки специалиста

Автор программы:

Лебедев Андрей Сергеевич, кандидат технических наук

Одобрена на заседании кафедры Компьютерной безопасности «05» сентября 2012 г

Зав. кафедрой А.Б. Лось

Рекомендована секцией УМС ФПМиК «___»____________ 20 г

Председатель А.Ю. Истратов

Москва, 2013



Настоящая программа не может быть использована другими подразделениями университета и другими вузами без разрешения кафедры-разработчика программы.

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

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

За­да­чи дис­ци­п­ли­ны:


  • изу­че­ние об­щих прин­ци­пов по­строе­ния и ис­поль­зо­ва­ния со­вре­мен­ных язы­ков про­грам­ми­ро­ва­ния;

  • изу­че­ние ос­нов ал­го­рит­ми­за­ции;

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

  • изу­че­ние объ­ект­но-ори­ен­ти­ро­ван­но­го про­грам­ми­ро­ва­ния;

  • изу­че­ние язы­ка ас­семб­ле­ра пер­со­наль­но­го ком­пь­ю­те­ра;

  • ов­ла­де­ние на­вы­ка­ми про­грам­ми­ро­ва­ния;

  • ос­вое­ние со­вре­мен­ных сред соз­да­ния про­грамм­ных про­дук­тов.


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

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

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

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

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

«Ап­па­рат­ные сред­ст­ва вы­чис­ли­тель­ной тех­ни­ки» – знать струк­ту­ру и прин­ци­пы ра­бо­ты со­вре­мен­ных и пер­спек­тив­ных мик­ро­про­цес­со­ров;

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

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


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

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

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

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

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

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

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

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



знать:

  • об­щие прин­ци­пы по­строе­ния и ис­поль­зо­ва­ния со­вре­мен­ных язы­ков про­грам­ми­ро­ва­ния вы­со­ко­го уров­ня;

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

  • язык ас­семб­ле­ра пер­со­наль­но­го ком­пь­ю­те­ра;

  • осо­бен­но­сти взаи­мо­дей­ст­вия язы­ков вы­со­ко­го и низ­ко­го уров­ня, ор­га­ни­за­ции ра­бо­ты с дан­ны­ми в скрип­то­вых язы­ках;

уметь:

  • фор­ма­ли­зо­вать по­став­лен­ную за­да­чу;

  • ра­бо­тать с ин­тег­ри­ро­ван­ны­ми сре­да­ми раз­ра­бот­ки про­грамм­но­го обес­пе­че­ния;

вла­деть:

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

  • web-тех­но­ло­гия­ми, изу­чае­мы­ми в про­цес­се про­грам­ми­ро­ва­ния на скрип­то­вом язы­ке PHP.

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



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

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

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

Се­ме­ст­ры

1

2

3

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

216

72

72

72

В том чис­ле:













Лек­ции (Л)

108

36

36

36

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













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













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









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













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

144

54

54

36

В том чис­ле:













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













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













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













Ре­фе­рат













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













Дру­гие ви­ды са­мо­стоя­тель­ной ра­бо­ты (под­го­тов­ка к за­ня­ти­ям, за­чё­ту)













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

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



За­чет


За­чет


Эк­за­мен

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

360

126

126

108

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

10

3.5

3.5

3



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

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

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

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

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



Те­ма № 2. Сред­ст­ва опи­са­ния дан­ных и сред­ст­ва опи­са­ния дей­ст­вий

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

Се­ман­ти­ка средств опи­са­ния дей­ст­вий. Опе­ра­ции, вы­ра­же­ния и опе­ра­то­ры дей­ст­вия. Опе­ра­то­ры управ­ле­ния. Опе­ра­то­ры по­сле­до­ва­тель­но­го вы­пол­не­ния, ус­лов­ные опе­ра­то­ры, опе­ра­то­ры цик­ла.

Те­ма № 3. До­пол­ни­тель­ные воз­мож­но­сти язы­ков про­грам­ми­ро­ва­ния. Реа­ли­за­ция раз­лич­ных ал­го­рит­мов об­ра­бот­ки дан­ных

Бло­ки. Функ­ции. Пе­ре­да­ча па­ра­мет­ров в функ­ции. Ре­кур­сив­ные вы­зо­вы. Ввод-вы­вод дан­ных. Об­ра­бот­ка мас­си­вов и строк.

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

Пе­ре­груз­ка функ­ций. Шаб­ло­ны функ­ций.

Пре­про­цес­сор­ные сред­ст­ва. Мак­ро­под­ста­нов­ки.

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

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

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



Те­ма № 5. Ме­ха­низ­мы реа­ли­за­ции объ­ект­но-ори­ен­ти­ро­ван­но­го про­грам­ми­ро­ва­ния в язы­ке вы­со­ко­го уров­ня

Опи­са­ние аб­ст­ракт­ных ти­пов дан­ных, дос­туп к ком­по­нен­там клас­са. Ме­то­ды клас­са. Кон­ст­рук­то­ры и де­ст­рук­то­ры. Ста­ти­че­ские ком­по­нен­ты клас­са. Дру­же­ст­вен­ные функ­ции и клас­сы. Пе­ре­груз­ка опе­ра­ций. На­сле­до­ва­ние и ди­на­ми­че­ский по­ли­мор­физм. Аб­ст­ракт­ные клас­сы. По­то­ко­вые сред­ст­ва вво­да/вы­во­да дан­ных.



Те­ма № 6. Па­ра­мет­ри­за­ция

Шаб­ло­ны клас­сов. Стан­дарт­ная биб­лио­те­ка шаб­ло­нов STL: об­щие прин­ци­пы функ­цио­ни­ро­ва­ния; кон­тей­не­ры; ите­ра­то­ры; ал­го­рит­мы; функ­то­ры.



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

Ме­ха­низм об­ра­бот­ки ис­клю­че­ний. Клас­сы ис­клю­че­ний. Стан­дарт­ные ис­клю­че­ния.



Раз­дел 3. Соз­да­ние при­ло­же­ний с гра­фи­че­ским ин­тер­фей­сом

Те­ма № 8. Ос­нов­ные кон­цеп­ции ви­зу­аль­но­го про­грам­ми­ро­ва­ния

Прин­ци­пы про­грам­ми­ро­ва­ния для опе­ра­ци­он­ной сис­те­мы на язы­ках С, С++ с при­ме­не­ни­ем API. Взаи­мо­дей­ст­вие опе­ра­ци­он­ной сис­те­мы и при­ло­же­ний. Ар­хи­тек­ту­ра при­ло­же­ний.



Те­ма № 9. Гра­фи­че­ский ин­тер­фейс поль­зо­ва­те­ля

Сред­ст­ва и ме­то­ды для соз­да­ния при­ло­же­ния с гра­фи­че­ским ин­тер­фей­сом поль­зо­ва­те­ля. При­ло­же­ния, ос­но­ван­ные на диа­ло­ге. При­ло­же­ния с од­но­до­ку­мент­ным и мно­го­до­ку­мент­ным ин­тер­фей­са­ми. Об­ра­бот­ка ко­манд­ных со­об­ще­ний. Эле­мен­ты управ­ле­ния. Ра­бо­та с гра­фи­кой. Ра­бо­та с фай­ло­вой сис­те­мой. Ре­сур­сы при­ло­же­ния. Биб­лио­те­ки ди­на­ми­че­ской ком­по­нов­ки DLL.



Раз­дел 4. Язык про­грам­ми­ро­ва­ния Java

Те­ма № 10. Ос­но­вы про­грам­ми­ро­ва­ния на язы­ке Java

Струк­ту­ра про­грам­мы на язы­ке Java. Ал­фа­вит язы­ка, иден­ти­фи­ка­то­ры. Про­стые ти­пы дан­ных. Пе­ре­мен­ные. Опе­ра­ции, вы­ра­же­ния, опе­ра­то­ры.

Клас­сы. Пе­ре­мен­ные и ме­то­ды Спе­ци­фи­ка­то­ры дос­ту­па к чле­нам клас­са. Кон­ст­рук­то­ры. На­сле­до­ва­ние в Java. Пе­ре­оп­ре­де­ле­ние ме­то­дов. Аб­ст­ракт­ные клас­сы и ме­то­ды. Класс Object.

Па­ке­ты и ин­тер­фей­сы. Мно­го­по­точ­ное про­грам­ми­ро­ва­ние. Фор­ма­ти­ро­ван­ный ввод-вы­вод, фай­лы про­из­воль­но­го дос­ту­па. Клас­сы File, System и Properties.



Те­ма № 11. Ис­клю­че­ния в Java

Об­ра­бот­ка ис­клю­че­ний. Ие­рар­хия ис­клю­че­ний. Класс ис­клю­че­ний вре­ме­ни вы­пол­не­ния. Соз­да­ние соб­ст­вен­ных ис­клю­че­ний. Ис­поль­зо­ва­ние ис­клю­че­ний для от­лад­ки.



Те­ма № 12. Струк­ту­ры дан­ных

Мас­си­вы в Java. Ра­бо­та со стро­ка­ми, клас­сы String и StringBuffer. Клас­сы кол­лек­ций LinkedList, Vector, Stack, Dictionary, Hashtable. Дос­туп к кол­лек­ции че­рез ите­ра­тор. Се­риа­ли­за­ция струк­тур дан­ных.



Те­ма № 13. По­ня­тие Java-ап­пле­та

Класс Applet. Ме­то­ды init и destroy. По­лу­че­ние и пре­об­ра­зо­ва­ние па­ра­мет­ров в ап­пле­тах. Ани­ма­ция ап­пле­та. От­лад­ка и раз­ме­ще­ние Java-ап­пле­тов.



Те­ма № 14. При­ме­не­ние язы­ка для соз­да­ния раз­ви­тых при­ло­же­ний

Ком­по­нен­ты поль­зо­ва­тель­ско­го ин­тер­фей­са Java. Об­ра­бот­ка со­бы­тий. Ос­но­вы окон­ной гра­фи­ки. Взаи­мо­дей­ст­вие язы­ков Java и С/C++.



Раз­дел 5. Скрип­то­вый язык про­грам­ми­ро­ва­ния PHP

Те­ма № 14. Ос­но­вы про­грам­ми­ро­ва­ния на PHP

Ха­рак­те­ри­сти­ка PHP. Пе­ре­мен­ные кон­стан­ты, ти­пы дан­ных. Вы­ра­же­ния и опе­ра­ции. Управ­ляю­щие кон­ст­рук­ции язы­ка.



Те­ма № 15. Ра­бо­та с мас­си­ва­ми в PHP

Сор­ти­ров­ка раз­лич­ных ти­пов мас­си­вов по клю­чам и по зна­че­ни­ям, объ­е­ди­не­ние мас­си­вов, «пе­ре­во­ра­чи­ва­ние» мас­си­вов, слу­чай­ное пе­ре­ме­ши­ва­ние эле­мен­тов спи­сков. Тео­ре­ти­ко-мно­же­ст­вен­ные опе­ра­ции.



Те­ма № 16. Ас­со­циа­тив­ные мас­си­вы

Мас­си­вы: ас­со­циа­тив­ный и спи­сок. Мно­го­мер­ный мас­сив. Пе­ре­бор клю­чей и зна­че­ний мас­си­ва. За­пол­не­ние мас­си­ва и уда­ле­ние эле­мен­тов мас­си­ва.



Те­ма № 17. Ра­бо­та со стро­ка­ми в PHP

Стро­ко­вые функ­ции: кон­ка­те­на­ция, срав­не­ние строк, раз­бие­ние и склеи­ва­ние строк, по­иск в стро­ке, по­иск под­стро­ки, об­рез­ка стро­ки, пре­об­ра­зо­ва­ние ре­ги­ст­ра, уда­ле­ние сим­во­лов, функ­ция фор­мат­но­го пре­об­ра­зо­ва­ния sprintf(), за­ме­на под­строк.



Те­ма № 18. Ра­бо­та с дан­ны­ми фор­мы

Пе­ре­да­ча па­ра­мет­ров в PHP-сце­на­рии. Фор­мы. Об­ра­бот­ка дан­ных, при­хо­дя­щих из форм. Мас­си­вы $_GET, $_POST, $_REQUEST



Те­ма № 19. Управ­ле­ние сес­сия­ми

Со­хра­не­ние про­ме­жу­точ­ных зна­че­ний. Се­ан­сы(сес­сии). Ини­циа­ли­за­ция сес­сии, со­хра­не­ние и уда­ле­ние сес­си­он­ных пе­ре­мен­ных, раз­ру­ше­ние сес­сии. Cookies.



Те­ма № 20. Ра­бо­та с фай­ло­вой сис­те­мой в PHP

Соз­да­ние фай­ла/от­кры­тие/чте­ние/за­пись/ уда­ле­ние. Ис­клю­чи­тель­ная и раз­де­ляе­мая бло­ки­ров­ки. Про­вер­ка су­ще­ст­во­ва­ния фай­ла из­ме­не­ние ат­ри­бу­тов фай­ла. Ра­бо­та с ди­рек­то­рия­ми, про­смотр ди­рек­то­рии. Функ­ция GLOB, ре­кур­сив­ный по­иск фай­ла, по­лу­че­ние спи­ска всех ди­рек­то­рий. Про­вер­ка, яв­ля­ет­ся ли объ­ект фай­лом ли­бо ди­рек­то­ри­ей.



Те­ма № 21. Ра­бо­та с да­той и вре­ме­нем

Функ­ции для ра­бо­ты с да­той и вре­ме­нем. Фор­мат timestamp. По­строе­ние вре­ме­ни в фор­ма­те timestamp и пре­об­ра­зо­ва­ние в строч­ный фор­мат.


Те­ма № 22. Ос­но­вы ре­гу­ляр­ных вы­ра­же­ний (в фор­ма­те PCRE)

Ре­гу­ляр­ные вы­ра­же­ния в фор­ма­те PCRE. Пред­на­зна­че­ние. Син­так­сис PCRE: ог­ра­ни­чи­те­ли, клас­сы сим­во­лов, пе­ре­чис­ле­ния, кван­то­ры, кар­ма­ны, мо­ди­фи­ка­то­ры.



Те­ма № 23. Функ­ции и об­лас­ти ви­ди­мо­сти

Функ­ции в PHP. Об­лас­ти ви­ди­мо­сти пе­ре­мен­ных, гло­баль­ные пе­ре­мен­ные. Пе­ре­да­ча па­ра­мет­ров по ссыл­ке, по зна­че­нию, пре­до­пре­де­лен­ные па­ра­мет­ры. Ре­кур­сия.



Те­ма № 24. Ор­га­ни­за­ция биб­лио­тек

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



­

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

№ п/п

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

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

1

2

3

4

5

6

1

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

+

+

+

+

+




2

Опе­ра­ци­он­ные сис­те­мы

+

+

+










3

Вы­чис­ли­тель­ные се­ти

+

+

+










4

Сис­те­мы управ­ле­ния ба­за­ми дан­ных

+

+

+

+

+




5

За­щи­та в опе­ра­ци­он­ных сис­те­мах

+













+

6

За­щи­та про­грамм и дан­ных

+

+

+

+

+

+

7

Крип­то­гра­фи­че­ские ме­то­ды за­щи­ты ин­фор­ма­ции

+













+


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

№ п/п

Раз­дел дис­ци­п­ли­ны

Лек­ции, час

ПЗ, час

ЛР, час

С, час

СР, час

Все­го, час

1

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



















2

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



















3

Соз­да­ние при­ло­же­ний с гра­фи­че­ским ин­тер­фей­сом



















4

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



















5

Скрип­то­вый язык про­грам­ми­ро­ва­ния PHP




















6. Формы контроля знаний студентов

Тип контроля

Форма контроля

1 год

2 год

Кафедра

Параметры **

1

2

3

4

1

2

3

4

Текущий

(неделя)


Контрольная работа

*

























Например: письменная работа 60 минут































Эссе




























Например: 3-4 тыс. слов

Реферат































Коллоквиум































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































Промежу­точный

Зачет































Экзамен




























Например: письменный экзамен 90 мин.

Итоговый

Зачет/ Экзамен

[Оставьте нужное]
































[Удалите соответствующие строки, если какой-либо контроль не предусмотрен в РУП. Удалите колонку "2 год", если дисциплина преподается в течение 1 года или удалите колонки с лишними номерами модулей/ семестров. Удалите колонку "Кафедра", если это НЕ межкафедральная дисциплина. * - Для текущего контроля указывается неделя модуля/ семестра, на которой проводится контроль, для промежуточного и итогового - отметка, в каком модуле/ семестре проводится. ** В графе Параметры указывается регламент (cвод постоянных или временных правил, регулирующих внутреннюю организацию и формы деятельности) проведения контроля (заполняется для каждого контроля соответственно): формат работы (письменная, устная, тест, тест в компьютерной программе и другое), время, отведенное на аудиторные работы, количество дней проведения контроля, количество дней оценки результатов контроля (только для итогового контроля), объем письменных работ для домашних работ, сроки сдачи письменных работ (число), время на самостоятельную подготовку письменных работ и другая информация, носящая регламентирующий характер.]


Критерии оценки знаний, навыков


[Укажите для каждого контроля, что должен продемонстрировать студент на текущем, промежуточном или итоговом контроле, чтобы получить оценку. Требования к ответу студента должны соотноситься с компетенциями (раздел 3), которые формируются у студента]

Оценки по всем формам текущего контроля выставляются по 10-ти балльной шкале.

[Если оценки выставляются по другой шкале, необходимо указать таблицу соответствия оценок по предложенной шкале и 10-ти балльной шкале. Если проводится тестирования, то приводится шкала интервальных баллов, соответствующая оценке за работу по 10-балльной шкале]

По желанию автора программы, укажите особенности проведения контроля (образовательные технологии)

При наличии, укажите, какая дистанционная поддержка осуществляется при проведении контроля (выдача заданий, проверка работ и др.).

Порядок формирования оценок по дисциплине
(подробные методические рекомендации по формированию оценок по дисциплине приведены в приложении)


[Укажите, какую работу студента оценивает преподаватель, что влияет на оценку за промежуточный или итоговый контроль.]

Преподаватель оценивает работу студентов на семинарских и практических занятиях: [Укажите, каким образом и что оценивается на семинарских и практических занятиях, например, активность студентов в деловых играх, дискуссиях, правильность решения задач на семинаре и т.д.]. Оценки за работу на семинарских и практических занятиях преподаватель выставляет в рабочую ведомость. Накопленная оценка по 10-ти балльной шкале за работу на семинарских и практических занятиях определяется перед промежуточным или итоговым контролем - Оаудиторная.

Преподаватель оценивает самостоятельную работу студентов: [Укажите, каким образом оценивается самостоятельная работа, например, правильность выполнения домашних работ, задания для которых выдаются на семинарских занятиях (имеются ввиду домашние работы, которые не включаются в РУП, это не форма текущего контроля "Домашнее задание"), полнота освещения темы, которую студент готовит для выступления с докладом на занятии-дискуссии и т.д.]. Оценки за самостоятельную работу студента преподаватель выставляет в рабочую ведомость. Накопленная оценка по 10-ти балльной шкале за самостоятельную работу определяется перед промежуточным или итоговым контролем – Осам. работа.
Накопленная оценка за текущий контроль учитывает результаты студента по текущему контролю следующим образом:

Онакопленная= k1* Отекущий + k2* Оауд + k3* Осам.работа

где Отекущий рассчитывается как взвешенная сумма всех форм текущего контроля, предусмотренных в РУП

Отекущий = n1·Оэссе + n2·Ок/р + n3·Ореф + n4·Окол + n5·Одз ;

[Оставьте те формы текущего контроля, которые предусмотрены в РУП. сумма удельных весов должна быть равна единице: ∑ni = 1] Способ округления накопленной оценки текущего контроля: [указывается способ – арифметический, в пользу студента, другое].


Результирующая оценка за дисциплину рассчитывается следующим образом:

  1. Если дисциплина преподается один модуль:

Орезульт = k1* Онакопл + k *·Оэкз/зач

Способ округления накопленной оценки промежуточного (итогового) контроля в форме зачета: [указывается способ – арифметический, в пользу студента, другое].




  1. Если дисциплина преподается несколько модулей (например, 3):

Опромежуточная i = m1·Отекущая i этапа + m2·Опромежуточный зачет/экзамен

Где Отекущая i этапа рассчитывается по приведенной выше формуле


Онакопленная Итоговая=промежуточная 1+ Опромежуточная 2+ Онакопленная 3):на число модулей
где Опромежуточная 1+ Опромежуточная 2 промежуточные оценки этапов 1 и 2,
а Онакопленная 3 накопленная оценка последнего этапа перед итоговым зачетом/экзаменом

Способ округления накопленной оценки промежуточного (итогового) контроля в форме экзамена: [указывается способ – арифметический, в пользу студента, другое].

[Сумма удельных весов должна быть равна единице: ∑mi = 1, при этом, 0,2 ≤ m1 ≤ 0,8 (согласно Положению об организации контроля знаний, утвержденному УС НИУ ВШЭ от 29. 06.2012,протокол №38, приказ "О введении в действие новой редакции Положения об организации контроля знаний" № 6.18.1-06/2307-03 от 23.07.2012 г.)]

[Далее, по желанию автора, определите, может ли студент получить возможность пересдать низкие результаты за текущий контроль или работу на занятиях, самостоятельную работу]

На пересдаче студенту не предоставляется возможность получить дополнительный балл для компенсации оценки за текущий контроль.

На зачете студент может получить дополнительный вопрос (дополнительную практическую задачу, решить к пересдаче домашнее задание), ответ на который оценивается в 1 балл.

На экзамене студент может получить дополнительный вопрос (дополнительную практическую задачу, решить к пересдаче домашнее задание), ответ на который оценивается в 1 балл.
[Оставьте те оценки, которые учитываются при выставлении результирующей оценки за промежуточный или итоговый контроль. Сумма удельных весов должна быть равна единице: ∑ki = 1, при этом, 0,2 ≤ k1 ≤ 0,8 После всех формул в обязательном порядке приводится способ округления полученного результата.]
[Только для многомодульных дисциплин, по которым предусмотрен промежуточный контроль, укажите один из предложенных вариантов формирования оценки, которая идет в диплом]

В диплом выставляет результирующая оценка по учебной дисциплине, которая формируется по следующей формуле:



Орезульт = k1·Онакопл + k2·Оитоговый

Способ округления результирующей оценки по учебной дисциплине: [указывается способ – арифметический, в пользу студента, другое].



ВНИМАНИЕ: оценка за итоговый контроль блокирующая, при неудовлетворительной итоговой оценке она равна результирующей.
7. При­мер­ная те­ма­ти­ка кур­со­вых про­ек­тов (ра­бот)

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




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

8.1. Ос­нов­ная ли­те­ра­ту­ра

  1. Ко­те­ров Д., Кос­та­рев А. PHP 5 в под­лин­ни­ке. – СПб.: БХВ-Пе­тер­бург, 2006. – 1120 с.: ил.

  2. Но­утон П., Шилдт Г. Java 2. Наи­бо­лее пол­ное ру­ко­во­дство: В под­лин­ни­ке: – СПб.: Из­да­тель­ст­во «БХВ-Пе­тер­бург», 2008. – 1072 с.: ил.

  3. Пав­лов­ская Т.А. С/С++. Про­грам­ми­ро­ва­ние на язы­ке вы­со­ко­го уров­ня. Учеб­ник. – СПб.: Пи­тер, 2010. – 460 с.

  4. Под­бель­ский В. В., Фо­мин С. С. Про­грам­ми­ро­ва­ние на язы­ке Си. – М.: Из­да­тель­ст­во «Фи­нан­сы и ста­ти­сти­ка», 2005. – 600 с.

  5. Под­бель­ский В.В. Стан­дарт­ный Си++. Учеб­ное по­со­бие. – М.: Фи­нан­сы и ста­ти­сти­ка, 2008. – 688 с.

  6. Страу­ст­руп Б. Про­грам­ми­ро­ва­ние: прин­ци­пы и прак­ти­ка ис­поль­зо­ва­ния C++. / Пер. с англ. – М.: Из­да­тель­ский дом «Виль­ямс», 2010. – 1248 с.: ил.

  7. Шилдт Г. C++ : ба­зо­вый курс. / Пер. с англ. – М.: Из­да­тель­ский дом «Виль­ямс», 2010. – 624 с.: ил.

  8. Юров В.И. Assembler. Учеб­ник для ву­зов. 2-е изд. – СПб.: Пи­тер, 2011. – 637 с.: ил.

8.2. До­пол­ни­тель­ная ли­те­ра­ту­ра

  1. Вайс­фельд М. Объ­ект­но-ори­ен­ти­ро­ван­ный под­ход: Java, .Net, C++. 2-е изд. / Пер. с англ. – М.: КУДИЦ-ОБРАЗ, 2005. – 336 с.

  2. Вел­линг Л., Том­сон Л. Раз­ра­бот­ка web-при­ло­же­ний с по­мо­щью PHP и MySQL – М.: Из­да­тель­ский дом «Виль­ямс», 2007. – 880 с.

  3. Гриф­фитс А. GCC. На­столь­ная кни­га поль­зо­ва­те­лей, про­грам­ми­стов и сис­тем­ных ад­ми­ни­ст­ра­то­ров. – К.: ООО «ТИД ДС», 2004. – 624 с.

  4. Дей­тел Х.М., Дей­тел П.Дж. Как про­грам­ми­ро­вать на С++. 4-е изд. – М.: Би­ном-Пресс, 2010. – 1456 с.

  5. Лап­тев В.В. С++. Объ­ект­но-ори­ен­ти­ро­ван­ное про­грам­ми­ро­ва­ние: Учеб­ное по­со­бие. – СПб.: Пи­тер, 2008. – 464 с.

  6. Ла­фо­ре Р. Объ­ект­но-ори­ен­ти­ро­ван­ное про­грам­ми­ро­ва­ние в C++. 4-е изд. / Пер. с англ. – СПб.: Из­да­тель­ст­во «Пи­тер», 2004. – 924 с.

  7. Мюс­сер Д.Р., Дердж Ж.Дж., Сей­ни А. С++ и STL: спра­воч­ное ру­ко­во­дство. – М.: Из­да­тель­ский дом «Виль­ямс», 2010. – 432 с.

  8. Пав­лов­ская Т.А., Щу­пак Ю.А. С/С++. Струк­тур­ное и объ­ект­но-ори­ен­ти­ро­ван­ное про­грам­ми­ро­ва­ние. Прак­ти­кум. – СПб.: Пи­тер, 2010. – 352 с.

  9. Пра­та С. Язык про­грам­ми­ро­ва­ния С. Лек­ции и уп­раж­не­ния. – М.: Из­да­тель­ский дом Виль­ямс, 2006. – 960 с.

  10. Се­бе­ста Р.У. Ос­нов­ные кон­цеп­ции язы­ков про­грам­ми­ро­ва­ния – М.: Из­да­тель­ский дом Виль­ямс, 2001. – 668 с.

  11. Хорст­ман К.С., Кор­нелл Г. Биб­лио­те­ка про­фес­сио­на­ла. Java 2. Том 1. Ос­но­вы. – М.: Из­да­тель­ский дом «Виль­ямс», 2004. – 848 с.

  12. Хорст­ман К.С., Кор­нелл Г. Биб­лио­те­ка про­фес­сио­на­ла. Java 2. Том 2. Тон­ко­сти про­грам­ми­ро­ва­ния. – М.: Из­да­тель­ский дом «Виль­ямс», 2004. – 1120 с.

  13. Хор­тон А. Visual C++ 2010. Пол­ный курс. – М.: Диа­лек­ти­ка, 2010. – 1216 с.

8.3. Про­грамм­ное обес­пе­че­ние

  1. Опе­ра­ци­он­ные сис­те­мы: се­мей­ст­ва Windows (не ни­же Windows XP), Linux.

  2. Сре­ды про­грам­ми­ро­ва­ния, на­при­мер, Microsoft Visual C++ Express Edition, JDK, Netbeans, Microsoft Visual C#, Express Edition, MonoDevelop или иные; ком­пи­ля­тор gcc (для ОС Linux), ре­дак­тор Emacs или иной; спра­воч­ная сис­те­ма Microsoft Development Network или иная; Apache web-сер­вер; PHP 5; тек­сто­вый ре­дак­тор или сре­да раз­ра­бот­ки про­грамм на язы­ке ас­семб­ле­ра с под­свет­кой син­так­си­са язы­ка; транс­ля­то­ры язы­ка ас­семб­ле­ра, на­при­мер, TASM, MASM, FASM или иные; от­лад­чик, на­при­мер, Turbo Debugger, или иной.

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

  • ву­зов­ская элек­трон­но-биб­лио­теч­ная сис­те­ма учеб­ной ли­те­ра­ту­ры http://miem.edu/ru/

  • ба­за на­уч­но-тех­ни­че­ской ин­фор­ма­ции (ВИНИТИ РАН)

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

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

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

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


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

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

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

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

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

Це­ле­со­об­раз­но осу­ще­ст­в­лять про­ве­де­ние эк­за­ме­на в фор­ме уст­но­го оп­ро­са по би­ле­там и ре­ше­ния за­да­чи с ис­поль­зо­ва­ни­ем од­но­го из изу­чен­ных язы­ков про­грам­ми­ро­ва­ния, а за­чё­тов – как в фор­ме уст­но­го оп­ро­са по би­ле­там, так и в фор­ме тес­ти­ро­ва­ния.

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


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

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

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

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

  5. Соз­дать с по­мо­щью язы­ка Java и ис­поль­зо­вать соб­ст­вен­ные ди­на­ми­че­ские струк­ту­ры дан­ных.

  6. Соз­дать при­ло­же­ние Java с гра­фи­че­ским ин­тер­фей­сом.

  7. Соз­дать Java-ап­плет, ис­поль­зую­щий мо­дель де­ле­ги­ро­ва­ния со­бы­тий.

  8. Реа­ли­зо­вать FTP-кли­ент на язы­ке PHP с воз­мож­но­стью ре­кур­сив­но­го вы­ка­чи­ва­ния ин­фор­ма­ции по мас­ке.

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

  10. Реа­ли­зо­вать биб­лио­те­ку, реа­ли­зую­щую «очи­ст­ку» и ва­ли­да­цию html-ко­да по стан­дар­ту xhtml.

  11. Реа­ли­зо­вать поч­то­вый кли­ент, по­зво­ляю­щий по­лу­чать и от­прав­лять пись­ма че­рез pop3/smtp сер­ве­ра с ис­поль­зо­ва­ни­ем вло­же­ний.

  12. Реа­ли­зо­вать за­дан­ный ал­го­ритм на язы­ке ас­семб­ле­ра.

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

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

  15. Реа­ли­зо­вать про­грам­му на язы­ке С, вклю­чаю­щую мо­дуль, на­пи­сан­ный на язы­ке ас­семб­ле­ра.

  16. Соз­дать про­грам­му на язы­ке ас­семб­ле­ра, яв­ляю­щую­ся кон­соль­ным при­ло­же­ни­ем ОС Windows.

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



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

  2. Реа­ли­за­ция соб­ст­вен­но­го шаб­лон­но­го клас­са на объ­ект­но-ори­ен­ти­ро­ван­ном язы­ке про­грам­ми­ро­ва­ния С++, ис­поль­зую­ще­го об­ра­бот­ку ис­клю­че­ний.

  3. Соз­да­ние про­грам­мы на Java с ие­рар­хи­ей клас­сов, реа­ли­зую­щих ряд ин­тер­фей­сов.

  4. Реа­ли­за­ция про­грам­мы на PHP, взаи­мо­дей­ст­вую­щей с сес­си­он­ным ок­ру­же­ни­ем и по­лу­чаю­щей дан­ные раз­лич­ны­ми ме­то­да­ми про­то­ко­ла HTTP.

  5. Реа­ли­за­ция про­грам­мы на PHP, осу­ще­ст­в­ляю­щей син­так­си­че­ский раз­бор тек­сто­вых бло­ков с ис­поль­зо­ва­ни­ем ре­гу­ляр­ных вы­ра­же­ний в фор­ма­те PCRE.

  6. Реа­ли­за­ция про­це­ду­ры об­ра­бот­ки тек­сто­вой стро­ки на язы­ке ас­семб­ле­ра.

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



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

  2. В чём за­клю­ча­ют­ся от­ли­чия мак­ро­сов от функ­ций язы­ка про­грам­ми­ро­ва­ния C?

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

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

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

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

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

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

  9. Сфор­му­ли­руй­те прин­ци­пы про­грам­ми­ро­ва­ния для опе­ра­ци­он­ной сис­те­мы на язы­ке С++ с при­ме­не­ни­ем API.

  10. Как про­ис­хо­дит взаи­мо­дей­ст­вие опе­ра­ци­он­ной сис­те­мы и при­ло­же­ния?

  11. Ка­кие су­ще­ст­ву­ют сред­ст­ва и ме­то­ды для соз­да­ния при­ло­же­ния с гра­фи­че­ским ин­тер­фей­сом поль­зо­ва­те­ля?

  12. Ка­кие ка­те­го­рии про­грамм мож­но соз­дать на язы­ке Java?

  13. Ка­кие груп­пы ти­пов су­ще­ст­ву­ют в язы­ке Java? В чём со­сто­ит от­ли­чие от C++? Что та­кое клас­сы-обо­лоч­ки в Java?

  14. Ка­кие спе­ци­фи­ка­ции фор­ма­та ис­поль­зу­ют­ся для вы­во­да объ­ек­тов про­стых ти­пов и строк в язы­ке Java?

  15. К ка­ко­му ти­пу дан­ных от­но­сят­ся мас­си­вы в Java? В чём со­сто­ит от­ли­чие от C++?

  16. Пе­ре­чис­ли­те спо­со­бы ини­циа­ли­за­ции по­лей объ­ек­та в Java.

  17. Сфор­му­ли­руй­те осо­бен­но­сти ста­ти­че­ских пе­ре­мен­ных и ме­то­дов клас­са в Java.

  18. В чём со­сто­ит от­ли­чие ин­тер­фей­сов от аб­ст­ракт­ных клас­сов в Java?

  19. Как обес­пе­чить син­хро­ни­за­цию по­то­ков в Java по ре­сур­сам и по со­бы­ти­ям?

  20. В чём со­сто­ит раз­ли­чие ме­ж­ду Java-при­ло­же­ни­ем и Java-ап­пле­том?

  21. Как ор­га­ни­зо­вать пе­ре­да­чу па­ра­мет­ров в ап­плет?

  22. Как ор­га­ни­зо­ва­на в Java мо­дель де­ле­ги­ро­ва­ния со­бы­тий?

  23. Ка­кие су­ще­ст­ву­ют ви­ды фай­ло­вых бло­ки­ро­вок в PHP?

  24. Что та­кое се­анс в PHP?

  25. Пе­ре­чис­ли­те ос­нов­ные су­пер­гло­баль­ные мас­си­вы в PHP.

  26. Для че­го ис­поль­зу­ет­ся в PHP цикл foreach(), ка­кие ви­ды это­го цик­ла Вы знае­те?

  27. Что та­кое ре­гу­ляр­ное вы­ра­же­ние в PHP?

  28. Что та­кое биб­лио­те­ка в PHP?

  29. Чем язык ас­семб­ле­ра от­ли­ча­ет­ся от язы­ков про­грам­ми­ро­ва­ния вы­со­ко­го уров­ня?

  30. Для ка­ких це­лей ис­поль­зу­ет­ся ди­рек­ти­ва ASSUME?

  31. Чем про­дик­то­ва­ны ог­ра­ни­че­ния по ко­ли­че­ст­ву и раз­ме­ру сег­мен­тов при раз­ра­бот­ке про­грамм на язы­ке ас­семб­ле­ра?

  32. Ос­нов­ные от­ли­чия ре­аль­но­го, за­щи­щен­но­го и вир­ту­аль­но­го ре­жи­мов про­цес­со­ра 80386?

  33. Ка­кие ти­пы ад­ре­сов ис­поль­зу­ют­ся в ре­аль­ном ре­жи­ме про­цес­со­ра 80386?

  34. Как ис­поль­зу­ет­ся стек при вы­зо­ве про­це­дур и пре­ры­ва­ний?

  35. В чем от­ли­чие фла­гов CF и OF ре­ги­ст­ра фла­гов про­цес­со­ра?

  36. С по­мо­щью ка­ких ко­манд мож­но про­из­ве­сти чте­ние стар­шей час­ти ре­ги­ст­ра EAX?

  37. Ка­кие фла­ги бу­дут ус­та­нов­ле­ны по­сле вы­пол­не­ния ко­ман­ды
    CMP AL, AH, ес­ли до ее вы­пол­не­ния ре­гистр AL=200, AH=-100?

  38. Сколь­ко раз бу­дет вы­пол­нен цикл, ор­га­ни­зо­ван­ный ко­ман­дой LOOP, ес­ли пе­ред его вы­пол­не­ни­ем в ре­гистр ECX бы­ло за­гру­же­но зна­че­ние 0?

  39. С по­мо­щью ка­ких ко­манд мож­но ум­но­жить со­дер­жи­мое ре­ги­ст­ра EAX на 2?

  40. Ка­кие ви­ды оп­ре­де­ляе­мых поль­зо­ва­те­лем ти­пов дан­ных су­ще­ст­ву­ют в язы­ке ас­семб­ле­ра?

  41. Ка­ко­во на­зна­че­ние уров­ней при­ви­ле­ги­ро­ван­но­сти CPL, DPL, RPL, IOPL?

  42. Ка­ко­во на­зна­че­ние таб­ли­цы гло­баль­ных и ло­каль­ных де­ск­рип­то­ров, таб­ли­цы де­ск­рип­то­ров пре­ры­ва­ний?

  43. На­зо­ви­те ос­нов­ные прин­ци­пы ор­га­ни­за­ции за­щи­ты в за­щи­щен­ном ре­жи­ме ра­бо­ты про­цес­со­ра.

  44. При­ве­ди­те ос­нов­ные со­гла­ше­ния о вы­зо­вах язы­ка С.

  45. Ка­ким об­ра­зом пе­ре­да­ют­ся па­ра­мет­ры в функ­цию и воз­вра­ща­ет­ся ре­зуль­тат её ра­бо­ты при ис­поль­зо­ва­нии со­гла­ше­ния FASTCALL?

Составитель: /А.С. Лебедев/

Настоящая рабочая программа рассмотрена на заседании (методическом семинаре) кафедры «___»____________201__г. протокол № ___ и рекомендована к применению в учебном процессе.
Заведующий кафедрой _____________: /А.Б. Лось/
Эксперт:
Председатель учебно-методической

комиссии факультета: /_________________/


Программа продлена на 20__/___ уч.год /_________________/

Подпись зав.каф.
Программа продлена на 20__/___ уч.год /_________________/

Подпись зав.каф.


Программа продлена на 20__/___ уч.год /_________________/

Подпись зав.каф.


Программа продлена на 20__/___ уч.год /_________________/

Подпись зав.каф.





Достарыңызбен бөлісу:




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет