Информационни технологии - 1 курс,  1 семестър

Учебни програми [2017/2018]


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

CITB102
Лабораторни упражнения по програмиране

CSCB021
Дискретна математика

CITB106
Лабораторни упражнения по програмиране и дискретна математика

GENB005
ОСНОВИ НА ИНФОРМАТИКАТА

GENB001В
Математика
1
Увод. Програмни езици С и С++. Алгоритми
Анатомия на компютър. Компилиране на проста програма. Програмни езици. Грешки. Алгоритми.


Операционна система Ubuntu. Инсталиране и основни дейности с нея. Работа с конзола (текстов терминал). Текстов редактор. Компилатор. Написване, компилиране и изпълнение на програма на  С++. Компилиране на прости програми.  Среди за програмиране в MS Windows -  Dev-C++ || Code::Blocks
1. Основни принципи в комбинаториката
Делимост - теорема за деление с частно и остатък; прости числа; основна теорема на аритметиката;
НОД и НОК; обобщен алгоритъм на Евклид.
(л)

Въведение в информатиката. Множества.

Лекция 1. Обзор на курса. Реални числа.
2
Основни типове данни
Числени типове; вход и изход; операция присвояване; константи; аритметика; форматиране на изхода


Числени типове, представяне на числата в компютъра; вход и изход. Underflow, overflow, грешка от закръгляне. Присвояване; константи; аритметика. Форматиране на изхода.

2. Основни комбинаторни конфигурации


Модулна аритметика - основни свойства на сравненията; решаване на линейни сравнения; операции в остатъчното поле.
(л)

Релации.

Лекция 2. Комплексни числа.(алгебричен вид, реална част, имагинерна част, модул, комплексно спрегнато, събиране, изваждане, умножение и деление на комплексни числа, комплексна равнина)
3
Низове и обекти
Низове; конструиране на обекти; използване на обекти; обекти от реалния свят.


Низове. Конструиране на обекти; използване на обекти; обекти от реалния свят.



3. Биномни коефициенти

Приложение на делимостта при преобразуване от една бройна система в друга . Разлагане на прости множители и генериране на прости числа.
(у)

Функции.

Лекция 3. Комплексни числа (координатна система в равнината, геометрична дефиниция на и , тригонометричен вид на комплексните числа, степенуване и коренуване на комплексни числа.)

4
Основни управляващи оператори
Оператор if и if/else; оператори за сравнение; проверка на входа; прости цикли; обработка на входна редица; използване на булеви променливи

Оператори if и if/else; оператори за сравнение; сравняване на числа тип double; проверка на входа. Цикъл while; обработка на входна редица; използване на булеви променливи.

Първо домашно.

4. Рекурентни редици

Приложения на модулната аритметика при кодиране на информацията.- хеширане и
шумозащитно кодиране.
(у)

Булева алгебра.

Семинар 1. Числа.

5
Тест 1

Първо контролно

5. Числа на Каталан

Приложения на модулната аритметика при кодиране на информацията.- криптография.
(у)

Бройни системи. Десетична, двоична, осмична, шестнадесетична бройни системи.


Лекция 4. Пространството (афинни операции с наредени n-орки реални числа, линейно зависими вектори, линейно независими вектори, линейна комбинация, ранг на система вектори, скаларно произведение, норма, ъгъл.)
6
Функции - I
Функциите като черни кутии; писане на функции; коментари; връщани стойности; параматри; странични ефекти; процедури

Използване на функции; писане на функции; коментари; връщани стойности; параматри; странични ефекти.

6. Числа на Стирлинг

Контролна работа No1

Преминаване от една в друга. Операции с двоични числа

Лекция 5. Матрици (матрица, елементи на матрицата, редове на матрица, стълбове на матрица, видове матрици, събиране, изваждане и умножение на матрици, полином от матрица, транспонирана матрица, елементарни преобразования на матрица, клетъчни матрици)
7
Функции - II
Параметри-псевдоними; област на действие на променливи; глобални променливи; стъпково прецизиране; от псевдокод към код.

Писане на функции - параметри-псевдоними; област на действие на променливи; глобални променливи..


Контролна работа N1
Подмножества – преброяване, генериране и кодиране.
(л)

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

Лекция 6. Детерминанта на матрица (детерминанта на матрица, минори, адюнгирано количество, правило на диагоналите, правило на Сарус, основни свойства на детерминантите, намиране на детерминанта на матрица)
8
Класове
Откриване на класове; интерфейс; капсулиране; член-функции; конструктори по подразбиране и с параметри; достъп да членове-данни; сравняване на член-функции с обикновени функции

Писане на класове.

Второ домашно.



8. Графи. Представяне на граф


Пермутации – преброяване, генериране и кодиране.
(л)

Контролна работа No1.

Лекция 7. Обратна матрица. Ранг на матрица. (обратна матрица, ортогонална матрица, ранг на матрица, базисен минор, необходимо и достатъчно условие за съществуване на обратна матрица, основни свойства на обратната матрица, намиране на обратна матрица, намиране ранга на матрица)

9
Управляващи оператори
Няколко алтернативи; вложени клонове; булеви операции; закони на DeMorgan.
Цикли for и do; вложени цикли; обработка на текстов вход; симулации


Оператор if - алтернативи, вложени оператори.
9. Компоненти на свързаност в граф

Разбиване на числа и множества – преброяване, генериране и кодиране.
(л)

Алгоритми. Основни типове данни. Управляващи конструкции. Проектиране на алгоритми.

Лекция 8. Системи линейни уравнения (решение на система линейни уравнения, съвместима система, несъвместима система, определена система, неопределена система, базисни неизвестни, свободни неизвестни, фундаментална система от решения, базисно решение, теорема на Кроникер – Капели, теорема на Крамер, Метод на Гаус за решаване на линейни системи)
10
Тест 2

Второ контролно
10. Обхождане на граф

Множества – представяне в паметта и реализация на операциите – обединение, сечение, допълнение, симетрична разлика.
(у)

Структури от данни. Масив. Стек и опашка. Списък. Дърво. Двоично дърво.

Семинар 2. Системи линейни уравнения
11
Тестване и дебъгване
Единични тестове; избор на тестове; оценка на тестове; макрос assert; проследяване на програма; дебъгер.

Цикли for и do; вложени цикли; обработка на текстов вход.
11. Ойлеров и хамилтонов граф

Подмножества – представяне в паметта и реализация на комбинаторните алгоритми – преброяване, генериране и кодиране.
(у)



Лекция 9. Координатни системи в пространството. Вектори в пространството. (декартова координатна система, сферична координатна система, цилиндрична координатна система, координати на точка в различните координатни системи, свободен вектор, скаларно произведение на вектори.)
12
Вектори
Използване на вектори за съхраняване на данни. Индекси. Вектори като параметри и върнати стойности. Успоредни вектори

Проверка на програми. Проследяване на работата на програмата. Използване на дебъгер.

12. Дървета. Двоични дървета. Приложения

Пермутации – представяне в паметта, реализация на операциите композиция и обратна пермутация.
(у)

Задачи от алгоритми и структури от данни.

Лекция 10. Векторно и смесено произведение (положително и отрицателно ориентирана тройка от вектори, векторно произведение, смесено произведение, двойно произведение)
13
Масиви
Дефиниране и използване на масиви. Масиви като параметри на функции. Масиви от символи. Двумерни масиви.

Използване на вектори. Вектори като параметри и върнати стойности на функции. Успоредни вектори.



13. Планарни графи,



Пермутации – реализация на комбинаторните
алгоритми – преброяване, генериране и кодиране.
(у)

Контролна работа No2

Семинар 3. Матрично смятане и вектори в пространството
14
Указатели
Дефиниране и стойност на указател. Динамична памет. Използване на указатели в С++. Масиви и указатели. Указатели и С-низове.

Използване на масиви. Масиви като параметри на функции. Масиви от символи. Двумерни масиви.

Трето домашно

14. Оцветяваниа на графи
Разбиване на числа и множества – реализация на комбинаторните алгоритми - преброяване,
генериране и кодиране.
(у)

Компютърни системи. Компютри от фон Нойманов тип.

Обсъждане 1. Обсъждане на представените анотации и тест.
15
Тест 3

Трето контролно

Контролна работа No2
Контролна работа No2

Софтуерно осигуряване.

Обсъждане 2. Презентации и осъждане на курсовите работи.