CSTB220 Въведение в структурното програмиране

Анотация:

Целта на курса е да въведе обучаващите се в компютърното програмиране посредством най-популярната в момента парадигма за програмиране – обектно-ориентираното програмиране. Студентите се запознават с един от основните съвременни езици за програмиране C++, като изучават основните елементи на компютърна програма, базовата структура на сравнително просто приложение и основните градивни единици, и принципи при структурирането на компютърна програма. Курсът също въвежда обучаващите се в понятията алгоритъм и структури от данни. Освен теоретичното познаване на материята, основна цел на курса е изграждането на набор от практически умения за създаване на сравнително проста компютърна програма.

Практическите занимания са изцяло под формата на решаване на задачи и съставяне на примери, които илюстрират подробно темите, съдържащи се в курса.

прочети още
Мултимедия и компютърна графика

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

гл. ас. Димитър Петров  д-р

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

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

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

1) знаят:

• Основните принципи на обектно-ориентираното програмиране.

• Основните градивни елементи на компютърна програма.

• Основните елементи за създаване на компютърна програма с програмния език C++.

2) могат:

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

• Да използват принципите на обектно-ориентираното програмиране за решаване на практически задачи с езика за програмиране C++.

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


Предварителни изисквания:
• Компютърна грамотност. Работа с операционни системи.

• Основни познания по математика: тригонометрия, вектори, матрици и евклидова геометрия.



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

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

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

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

  1. Компютърно програмиране. Компилация на компютърна програма.
  2. Компютърно програмиране. Компилация на компютърна програма.
  3. Структура на елементарна компютърна програма. Вход и изход.
  4. Структура на елементарна компютърна програма. Вход и изход.
  5. Основни типове данни. Числови типове. Аритметични операции и основни математически функции.
  6. Основни типове данни. Числови типове. Аритметични операции и основни математически функции.
  7. Въведение в символните низове.
  8. Въведение в символните низове.
  9. Теоретичен тест 1
  10. Практическа контролна работа 1
  11. Условни оператори. Релационни оператори. Булеви операции.
  12. Условни оператори. Релационни оператори. Булеви операции.
  13. Итеративно изпълнение на изрази. Цикли while, do-while и for.
  14. Итеративно изпълнение на изрази. Цикли while, do-while и for.
  15. Реализация на глобални функции. Подаване на параметър по стойност и по референция. Рекурсия.
  16. Реализация на глобални функции. Подаване на параметър по стойност и по референция. Рекурсия.
  17. Едномерни вектори и масиви. Алгоритми за сортировка.
  18. Едномерни вектори и масиви. Алгоритми за сортировка.
  19. Многомерни вектори и масиви. Матрици. Връзка с компютърната графика.
  20. Многомерни вектори и масиви. Матрици. Връзка с компютърната графика.
  21. Теоретичен тест 2
  22. Практическа контролна работа 2
  23. Указатели и адреси. Управление на динамична памет.
  24. Указатели и адреси. Управление на динамична памет.
  25. Класове и обекти. Създаване на клас. Абстракция на данни и капсулация.
  26. Класове и обекти. Създаване на клас. Абстракция на данни и капсулация.
  27. Наследяване и полиморфизъм.
  28. Наследяване и полиморфизъм.
  29. Теоретичен тест 3
  30. Практическа контролна работа 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 % изпит