CSTB220 Въведение в структурното програмиране
Анотация:
Целта на курса е да въведе обучаващите се в компютърното програмиране посредством най-популярната в момента парадигма за програмиране – обектно-ориентираното програмиране. Студентите се запознават с един от основните съвременни езици за програмиране C++, като изучават основните елементи на компютърна програма, базовата структура на сравнително просто приложение и основните градивни единици, и принципи при структурирането на компютърна програма. Курсът също въвежда обучаващите се в понятията алгоритъм и структури от данни. Освен теоретичното познаване на материята, основна цел на курса е изграждането на набор от практически умения за създаване на сравнително проста компютърна програма.
Практическите занимания са изцяло под формата на решаване на задачи и съставяне на примери, които илюстрират подробно темите, съдържащи се в курса.
Преподавател(и):
гл. ас. Димитър Петров д-р
Описание на курса:
Компетенции:
Успешно завършилите курса студенти:
1) знаят:
• Основните принципи на обектно-ориентираното програмиране.
• Основните градивни елементи на компютърна програма.
• Основните елементи за създаване на компютърна програма с програмния език C++.
2) могат:
• Да реализират сравнително прости компютърни програми.
• Да използват принципите на обектно-ориентираното програмиране за решаване на практически задачи с езика за програмиране C++.
• Да реализират сравнително прости алгоритми и базисни структури от данни.
Предварителни изисквания:
• Компютърна грамотност. Работа с операционни системи.
• Основни познания по математика: тригонометрия, вектори, матрици и евклидова геометрия.
Форми на провеждане:
Редовен
Учебни форми:
Лекция
Език, на който се води курса:
Български
Теми, които се разглеждат в курса:
- Компютърно програмиране. Компилация на компютърна програма.
- Компютърно програмиране. Компилация на компютърна програма.
- Структура на елементарна компютърна програма. Вход и изход.
- Структура на елементарна компютърна програма. Вход и изход.
- Основни типове данни. Числови типове. Аритметични операции и основни математически функции.
- Основни типове данни. Числови типове. Аритметични операции и основни математически функции.
- Въведение в символните низове.
- Въведение в символните низове.
- Теоретичен тест 1
- Практическа контролна работа 1
- Условни оператори. Релационни оператори. Булеви операции.
- Условни оператори. Релационни оператори. Булеви операции.
- Итеративно изпълнение на изрази. Цикли while, do-while и for.
- Итеративно изпълнение на изрази. Цикли while, do-while и for.
- Реализация на глобални функции. Подаване на параметър по стойност и по референция. Рекурсия.
- Реализация на глобални функции. Подаване на параметър по стойност и по референция. Рекурсия.
- Едномерни вектори и масиви. Алгоритми за сортировка.
- Едномерни вектори и масиви. Алгоритми за сортировка.
- Многомерни вектори и масиви. Матрици. Връзка с компютърната графика.
- Многомерни вектори и масиви. Матрици. Връзка с компютърната графика.
- Теоретичен тест 2
- Практическа контролна работа 2
- Указатели и адреси. Управление на динамична памет.
- Указатели и адреси. Управление на динамична памет.
- Класове и обекти. Създаване на клас. Абстракция на данни и капсулация.
- Класове и обекти. Създаване на клас. Абстракция на данни и капсулация.
- Наследяване и полиморфизъм.
- Наследяване и полиморфизъм.
- Теоретичен тест 3
- Практическа контролна работа 3
Литература по темите:
• Horstmann, Cay S., "Big C++: Late Objects", ISBN:9781119402978, Wiley, 2018.
• Laskov, L., "Programming in C++, Examples and Solutions, Part One: From Procedural Towards Object-Oriented Paradigm", New Bulgarian University, ISBN 978-954-535-903-3, 2016.
• Stroustrup, B., Programming Principles And Practice Using C++, Addison-Wesley, 2015.
Средства за оценяване:
КОМБИНИРАНО ОЦЕНЯВАНЕ
50% текуща + 50 % изпит