Основи на програмирането

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

по дисциплината

ОСНОВИ НА ПРОГРАМИРАНЕТО

специалност БФ, МП „КОМПЮТЪРНА ЛИНГВИСТИКА. ИНТЕРНЕТ ТЕХНОЛОГИИ В ХУМАНИТАРИСТИКАТА”

Образователно-квалификационна степен МАГИСТЪР

Вид обучение: РЕДОВНО

Извадка от учебния план

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

Хорариум

ECTS-

кредити

Форма на заключителен контрол

Лекции

Семинарни упражнения

Практически упражнения

Хоспитиране

Основи на програмирането

15

15

3

изпит

 

Анотация

Курсът представя основните концепции в програмирането и по-специално в декларативното (непроцедурното) програмиране, като акцентира върху методологията на логическото програмиране и в частност програмирането на езика Пролог. Изучават се принципите на работа на интерпретаторите на Пролог, основните синтактични конструкции и стандартно поддържаните типове данни, както и някои разширения и приложения на Пролог в областта на компютърната лигвистика.

Форми и методи на оценяване:

Писмен изпит в две части, включващи съответно решаване на задачи и кратки отговори на теоретични въпроси (отворен тест).

Лекционен курс

Тема №

Наименование на темата

Хорариум

1

Основни понятия в програмирането. Процедурен и декларативен стил на програмиране. Логическо програмиране

1 час

2.

Общи сведения за езика Пролог. Факти, въпроси, променливи, съставни цели, правила. Работа на интерпретатора на Пролог

3 часа

3.

Синтаксис на езика Пролог. Декларативна и процедурна семантика на програмите на Пролог

1 час

4.

Структури от данни. Работа със списъци в Пролог. Управляващи предикати. Сортиране на списъци

3 часа

5.

Работа с динамична база от данни на Пролог

1 час

6.

Дървета. Представяне на дървета със средствата на езика Пролог

2 часа

7.

Двоични дървета. Наредени двоични дървета (двоични речници)

2 часа

8.

Работа с граматични правила на Пролог. Граматики, определени от клаузи (DCG)

2 часа

 

Семинарни упражнения

Тема №

Наименование на темата

Хорариум

1.

Примери, илюстриращи различни аспекти на работата на интерпретатора на Пролог

1 час

2.

Работа със списъци в Пролог. Програми за сортиране на списъци

3 часа

3.

Програма за решаване на криптограми

1 час

4.

Програма за оцветяване на географска карта

2 часа

5.

Програми за създаване, използване и модифициране на двоични речници

2 часа

6.

2-3 дървета и 2-3 речници. AVL речници

2 часа

7.

Графи. Програма за намиране на покриващо дърво на даден свързан неориентиран граф

2 часа

8.

Дефиниране на конкретни DCG

2 часа

Съставил програмата:

доц. д-р Мария Нишева – Факултет по математика и информатика на СУ

Литература:

1. I. Bratko, Prolog Programming for Artificial Intelligence (3rd ed.). Addison Wesley, 2000, ISBN 978-0201403756.

2. W. Clocksin, C. Mellish, Programming in Prolog (4th ed.). Springer-Verlag, 1994, ISBN 978-0387583501.

3. J. Wielemaker, SWI-Prolog 6.1 Reference Manual. University of Amsterdam, 2012. http://www.swi-prolog.org/download/devel/doc/SWI-Prolog-6.1.5.pdf

4. М. Нишева, Лекционни материали по Основи на програмирането (2012). http://www.fmi.uni-sofia.bg/Members/marian/

Учебната програма е приета с решение на катедрен съвет протокол N 8/08.07.2011 год.