CSCB109 Програмиране

Анотация:

Курсът е практическо въведение в езиците С и С++, като чрез анализ и разширяване на примерни програмни текстове се изясняват основните езикови конструкции и тяхната употреба. Синтаксисът на езика С е в основата на много от съвременните обектно ориентирани езици за програмиране: С++, Java, С#, Objective C. Обектно-ориентираните езици за програмиране са основно средство за изграждане на големи и сложни софтуерни проекти. Понятието за клас се въвежда чрез идеята за дефиниран от програмиста тип, капсулиращ данни и функции. Наследяването се разглежда като контролирано средство за разширяване на съществуващи класове. Полиморфизмът се изяснява чрез примери за обработка на колекции от разнотипни обекти. Представени са и характерни особености на езика С++: функции и класове-шаблони, стандартни библиотеки и др.

прочети още
Информатика

Преподавател(и):

доц. Станислав Иванов  д-р
гл. ас. Марияна Райкова  д-р

Описание на курса:

Компетенции:

Успешно завършилите курса студенти:

1) знаят:

• Структури за управление в езика С;

• Стандартни типове и класове в езиците С и С++;

• Стандартни библиотеки в езиците С и С++;

• Спецификатори за достъп, конструктори и деструктори;

• Наследяване и полиморфизъм чрез виртуални функции;

• Предефиниране на функции и операции;

2) могат:

• Да използват интегрирана среда за разработка на програма;

• Да съставят функции и класове;

• Да съставят програми за конзолни приложения.


Предварителни изисквания:
Студентите да имат знания и/или умения:

• стартиране на компютърно приложение;

• работа с текстов редактор;

• достъп до ресурси в Интернет



Форми на провеждане:
Редовен

Учебни форми:
Лекция

Език, на който се води курса:
Български

Теми, които се разглеждат в курса:

1. Разработка на програма. Компоненти на програмния текст. Лексеми. Служебни думи. Литерали. Променливи. Оператори.

2. Стандартни типове. Изрази. Преобразуване на типа. Логически и побитови операции.

3. Структури за управление. Графично представяне. Условен оператор. Цикли. Оператори break и for. Избор на вариант

4. Указатели. Масиви. Многомерни масиви. Инициализация на масиви. Масиви в динамично отредена памет.

5. Функции. Формални параметри и връщан резултат. Извикване и изпълнение на функция. Предаване на параметри по стойност и по адрес. Рекурсивни функции. Функция като параметър на функция. Предефиниране на функция.

6. Структура. Клас. Капсулиране, спецификатори за достъп. Инициализация, конструктори. Съществуване на обектите, деструктори. Обекти – присвояване, използване като параметри.

7. Предефиниране на конструктори. Копиращ конструктор. Предефиниране на операции. Копиращо присвояване. Предефиниране на операции като глобални функции.

8. Статични членове на клас. Агрегиране. Наследяване. Припокриване на функции в наследяващия клас. Виртуални функции. Полиморфизъм. Чисто виртуални функции и абстрактни класове. Виртуални деструктори.

9. Изключения и обработка на изключения. Собствени класове за изключения.

10. Типът като параметър. Функции-шаблони и класове-шаблони. Стандарнти библиотеки от шаблони. Символни низове в С++. Вектори.

Литература по темите:

1. Шилдт Х., Практически самоучител по С++, Софтпрес, 2001

2. Шилдт Х., Практически самоучител по С++, Софтпрес, 20012.

3. Eckel B., Thinking in C++, 2nd edition, v.1,v2, http://mindview.net/Books/TICPP/ThinkingInCPP2e.html

Средства за оценяване:

Две контролни работи през 7-ма и 14- та седмица от семестъра