Учи · Тествай · Прилагай
Интерактивен учебник
по информатика
Теория с обяснения и схеми, тестове за самопроверка и интерактивни упражнения на C# и SQL — с реално изпълнение и автоматична проверка.
Модул 1 — Обектно-ориентирано проектиране и програмиране (C#)
- M1.01
Компютърът
Какво е компютър, видове, архитектура на фон Нойман, основни хардуерни компоненти и как се изпълнява програма.
6 въпроса - M1.02
Езици за програмиране
Какво е език за програмиране, разлика между машинен код, компилиран и интерпретиран код. Защо C# и как се изпълнява.
5 въпроса2 упр. · C# - M1.03
Променливи и типове данни
Деклариране, инициализация и видове променливи. Целочислени, реални, символни, текстови и логически типове в C#.
6 въпроса3 упр. · C# - M1.04
Операции и оператори
Аритметични, релационни, логически и присвояващи оператори. Приоритет на операциите и често срещани грешки.
6 въпроса3 упр. · C# - M1.05
Условни конструкции (if / else / switch)
Как програмата прави избор. Прости и сложни условия, верижно if-else if, тернарен оператор и switch.
5 въпроса3 упр. · C# - M1.06
Цикли (for, while, do-while)
Как да накараме програмата да повтаря действия. Различни видове цикли, контрол с break и continue, типични задачи.
5 въпроса4 упр. · C# - M1.07
Масиви
Едномерни и двумерни масиви — деклариране, индексиране, обхождане, типични задачи (търсене, сума, минимум/максимум).
4 въпроса2 упр. · C# - M1.08
Методи (функции)
Декомпозиция на код в методи — параметри, връщана стойност, претоварване, локални променливи и обхват.
4 въпроса2 упр. · C# - M1.09
Низове (strings)
Работа с текст в C# — индексиране, дължина, основни методи, форматиране, преобразуване от/към число.
4 въпроса2 упр. · C# - M1.10
Колекции — List и Dictionary
Динамични структури: List<T> за поредици с променлив размер и Dictionary<TKey, TValue> за ключ → стойност.
4 въпроса2 упр. · C# - M1.11
ООП — класове и обекти
Какво е обектно-ориентирано програмиране, как се дефинира клас, какво е обект, конструктори и инстанциране.
4 въпроса2 упр. · C# - M1.12
Наследяване
Един клас взима всичко от друг — без дублиране. base, override, abstract класове.
4 въпроса1 упр. · C# - M1.13
Интерфейси и полиморфизъм
Договор без имплементация. Полиморфизъм — един и същ метод работи различно за различни типове.
4 въпроса1 упр. · C# - M1.14
Капсулация и свойства (properties)
Скриване на вътрешното състояние. private/public, get/set свойства, валидация. Принципът: данните се променят само през контролирани методи.
4 въпроса1 упр. · C# - M1.15
Static, изключения и мини проект
Статични членове, обработка на грешки с try/catch и сглобяване — малка програма Library Manager, която обединява всичко научено.
4 въпроса2 упр. · C#
Модул 2 — Структури от данни и алгоритми
- M2.01
Стек (Stack)
Структурата стек — LIFO. Операции Push, Pop, Peek. Класически приложения: undo, балансирани скоби, обръщане.
4 въпроса2 упр. · C# - M2.02
Опашка (Queue)
Структурата опашка — FIFO. Операции Enqueue, Dequeue, Peek. Класически приложения: BFS, симулация на чакане, кешове.
5 въпроса3 упр. · C# - M2.03
Рекурсия
Функция, която вика себе си. База и индуктивен случай. Стек на извикванията, класически задачи: факториел, Фибоначи, двоично търсене.
5 въпроса3 упр. · C# - M2.04
Графи — основни понятия
Какво е граф, видове (насочен/ненасочен, тегловен), представяне (adjacency matrix vs adjacency list), степен. Реални примери.
6 въпроса2 упр. · C# - M2.05
Дървета
Дърво и кореново дърво, свойства (n−1 ребра, единствен път), представяне със списък на родителите, двоични дървета и покриващо дърво на граф.
6 въпроса3 упр. · C# - M2.06
Графи — обхождане (BFS и DFS)
Двата основни алгоритъма: BFS с опашка за най-къс път, DFS със стек/рекурсия за дълбочина. Свързани компоненти и шаблон с visited.
6 въпроса5 упр. · C# - M2.07
Най-къс път в граф
Претеглени графи и дължина на път. НКП в непретеглен граф чрез BFS. Алгоритъм на Дейкстра с релаксация. Флойд–Уоршъл за всеки-до-всеки.
7 въпроса3 упр. · C# - M2.08
Хеш-таблица. Речник
Адресиране и хеш-функции — търсене за константно време. Колизии и разрешаването им. Алгоритъм на Рабин–Карп. Колекцията Dictionary.
7 въпроса3 упр. · C# - M2.09
Софтуерният проект. Качество на кода
Що е проект — цел, начало, край, екип. Жизнен цикъл: инициализиране, планиране, реализация, заключение. Правила за качествен код.
7 въпроса2 упр. · C# - M2.10
Работа по проекти
Практическата работа в екип: роли, дъска със задачи (Kanban), управление на версиите, преглед на кода, документация и защита на проекта.
7 въпроса2 упр. · C#