CITB100 Програмиране
Анотация:
В този курс се изучават основите на програмирането. Като инструмент се използва програмния език C++.
http://nikolay.kirov.be/2016/CITB100/index.html
Преподавател(и):
доц. Николай Киров д-р
Описание на курса:
Компетенции:
Успешно завършилите курса студенти:
1) знаят:
• Числени типове данни, входни и изходни операции, оператор за присвояване, символни низове, основи на управление на програмния поток, оператори, функции и процедури, обхват на променлива, глобални променливи, постъпково усъвършенстване, тестване и откриване на грешки, използване на низове, вектори и класове.
2) могат:
• Да пишат прости програми на C++.
• Да пишат функции и прости класове.
• Да използват низове, вектори и класове.
Предварителни изисквания:
Основни компютърни умения.
Форми на провеждане:
Редовен
Учебни форми:
Лекция
Език, на който се води курса:
Български
Теми, които се разглеждат в курса:
Увод
Анатомия на компютър. Компилиране. Програмни езици С и С++. Компилиране на проста програма. Грешки. Алгоритми.
Основни типове данни
Числени типове; вход и изход; константи; низове; форматиране на изхода.
Обекти
Конструиране на обекти; използване на обекти; обекти от реалния свят
Основни управляващи оператори
Оператор if и if/else; оператори за сравнение; проверка на входа; прости цикли; обработка на входна редица; използване на булеви променливи
Функции
Функциите като черни кутии; писане на функции; коментари; връщани стойности; параматри; странични ефекти; процедури. Параметри-псевдоними; област на действие на променливи; глобални променливи; стъпково прецизиране; от псевдокод към код.
Класове
Откриване на класове; интерфейс; капсулиране; член-функции; конструктори по подразбиране и с параметри; достъп да членове-данни; сравняване на член-функции с обикновени функции.
Управляващи оператори
Няколко алтернативи; вложени клонове; булеви операции; закони на DeMorgan. Цикли for и do; вложени цикли; обработка на текстов вход; симулации.
Тестване и дебъгване
Единични тестове; избор на тестове; оценка на тестове; макрос assert; проследяване на програма; дебъгер.
Вектори
Използване на вектори за съхраняване на данни. Индекси. Вектори като параметри и върнати стойности. Успоредни вектори.
http://nikolay.kirov.be/2016/CITB100/index.html
Литература по темите:
ПРЕПОРЪЧИТЕЛНА ЛИТЕРАТУРА
А. Основен учебник
Cay Horstmann, Computing Concepts with C++ Essentials, Third Edition, John Wiley & Sons, 2003.
Б. Ползени книги
[1] Cay S. Horstmann, Timothy A. Budd, Big C++, 2nd Edition, Wiley, January 2009.
[2] Cay Horstmann, C++ For Everyone, 2nd Edition, Wiley, 2011.
В. Полезни книги на български
[1] Кай Хорстман, Принципи на програмирането със С++, ИК Софтех, София, 2000, 2003 [translation from second edition].
[2] Николай Киров, Сборник от учебни материали по ВЪВЕДЕНИЕ В ПРОГРАМИРАНЕТО, Деметра, София, 2003. (http://nikolay.kirov.be/book1/book1.html)
[3] Николай Киров, Сборник от учебни материали по ПРОГРАМИРАНЕ И СТРУКТУРИ ОТ ДАННИ, Деметра, София, 2004.
Средства за оценяване:
През семестъра се провеждат 3 теста.
http://nikolay.kirov.be/2016/CITB100/index.html