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

Анотация:

Курсът се състои от 30 часа лекции и 30 часа упражнения.

Изучават се основите на програмирането. Като инструмент се използва програмния език C++.

http://nikolay.kirov.be/2023/CITB107/index.html

прочети още
Информационни технологии

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

доц. Николай Киров  д-р
доц. Ласко Ласков  д-р
 Кирил Вучков  
ас. Георги Кирков  

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

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

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

1) знаят:

• Числени типове данни, входни и изходни операции, оператор за присвояване, символни низове, основи на управление на програмния поток, оператори, функции и процедури, обхват на променлива, глобални променливи, постъпково усъвършенстване, тестване и откриване на грешки, използване на низове, вектори и класове, масиви и указатели.

2) могат:

• Да пишат прости програми на C++.

• Да пишат функции и прости класове.

• Да използват низове, вектори и класове.

• Да работят с масиви и указатели.
Предварителни изисквания:
Основни компютърни умения.

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

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

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

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

  1. Увод Анатомия на компютър. Компилиране. Програмни езици С и С++. Компилиране на проста програма. Грешки. Алгоритми.
  2. Основни типове данни Числени типове; вход и изход; константи; низове; форматиране на изхода.
  3. Обекти Конструиране на обекти; използване на обекти; обекти от реалния свят
  4. Основни управляващи оператори Оператор if и if/else; оператори за сравнение; проверка на входа; прости цикли; обработка на входна редица; използване на булеви променливи
  5. Функции Функциите като черни кутии; писане на функции; коментари; връщани стойности; параматри; странични ефекти; процедури. Параметри-псевдоними; област на действие на променливи; глобални променливи; стъпково прецизиране; от псевдокод към код.
  6. Класове Откриване на класове; интерфейс; капсулиране; член-функции; конструктори по подразбиране и с параметри; достъп да членове-данни; сравняване на член-функции с обикновени функции.
  7. Управляващи оператори Няколко алтернативи; вложени клонове; булеви операции; закони на DeMorgan. Цикли for и do; вложени цикли; обработка на текстов вход; симулации.
  8. Тестване и дебъгване Единични тестове; избор на тестове; оценка на тестове; макрос assert; проследяване на програма; дебъгер.
  9. Вектори Използване на вектори за съхраняване на данни. Индекси. Вектори като параметри и върнати стойности. Успоредни вектори.
  10. Масиви Дефиниране и използване на масиви. Масиви като параметри на функции. Масиви от символи. Двумерни масиви.
  11. Указатели Дефиниране и стойност на указател. Динамична памет. Използване на указатели в С++. Масиви и указатели. Указатели и С-низове.

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

Учебник:

Cay Horstmann,Computing Concepts with C++ Essentials, Third Edition, John Wiley & Sons, 2003.

Полезни книги:

Cay S. Horstmann, Timothy A. Budd, Big C++, 2nd Edition, Wiley, January 2009.

Lasko Laskov, Progrmming in C++, Examples and Solutions, Part One: From Procedural Towards Object-Oriented Paradigm”, New Bulgarian University, 2016.

Cay S. Horstmann, C++ for Everyone, 2nd Edition, Willy, 2011.

Николай Киров, Сборник от учебни материали по ВЪВЕДЕНИЕ В ПРОГРАМИРАНЕТО, Деметра, София, 2003 [online]

Магдалина Тодорова, Увод в програмирането [online]

Магдалина Тодорова, Петър Армянов, Дафина Петкова, Калин Георгиев, Сборник от задачи по програмиране на C++ - първа част: Увод в програмирането, ТехноЛогика, 2008.

Магдалина Тодорова, Програмиране на С++. Част първа, Сиела, 2010.

Веселина Жечева, Димитър Минчев, Ръководство по програмиране на базата на езика C++, 2 изд., Божич, 2016.

Иво Дамянов, Увод в програмирането С++, ЮЗУ "Неофит Рилски", 2012.

Николай Киров,Тестове за оценка на знанията по програмиране. Научен електронен архив на НБУ, http://eprints.nbu.bg/4091/, 2019.

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

През семестъра студентите правят:

-- на лекци - 3 теста;

-- на упражнения - 2 домашни и 2 контролни.

http://nikolay.kirov.be/2023/CITB107/index.html