С подкрепата на фондация “Софтуерен университет” и с помощта на вдъхновени български учители и доброволци, беше разработено публично хранилище за учебни материали за курсовете по програмиране и софтуерни технологии за българските училища:
https://github.com/BG-IT-Edu/School-Programming
В хранилището ще намерите детайлно разработени учебни материали, презентации, задания за упражнения и домашно, задания за проекти, с интегрирана judge система за автоматизирана проверка.
Безплатно учебно съдържание за професия “Приложен програмист”
- Увод в програмирането (Programming Basics) – 8 клас
- Променливи, проверки, цикли, функции (методи)
- Програмиране (Programming Fundamentals) – 9 клас
- Сорс контрол, типове данни, масиви и списъци, речници и хеш-таблици, дебъгване, стрингове, многомерни масиви
- Увод в обектно-ориентираното програмиране (OOP Basics) – 10 клас
- Дефиниране на класове (класове, конструктори, полета, свойства), член-функции (методи), енкапсулация на данни, статични членове
- Увод в алгоритмите и структурите от данни (Algorithms and Data Structures Basics) – 10 клас
- Алгоритми и сложност, линейни структури данни (списък, стек, опашка), алгоритми върху редици и линейни структури, алгоритми за сортиране и търсене
- Математически основи на програмирането (Mathematical Foundations of Programming) – 11 клас
- Бройни системи, статистика, системи линейни уравнения, функции, вектори, комбинаторика и вероятности
- Обектно-ориентирано програмиране (OOP Advanced) – 11 клас
- Компонентно тестване, дефиниране на по-сложни класове, шаблонни типове, наследяване, абстракция, интерфейси, полиморфизъм, упрвление на изключения, шаблони за дизайн
- Бази данни (Databases and SQL) – 11 клас
- Бази данни, таблици, записи, колони, моделиране на релационна база, SQL заявки за извличане на данни, съединения на таблици, агрегация и групиране, функции
- Разработка на софтуер (Practical Software Development) – 11 клас
- Трислойна архитектура, компонентно тестване, дебъгване, рефакториране на код, инструменти за разработка, софтуерни библиотеки, пакетни мениджъри, достъп до бази данни, ORM, създаване на потребителски интерфейс, изграждане на цялостно трислойно приложение
- Операционни системи (Operating Systems) – 11 клас
- Архитектура на ОС, ядро, обвивка, файлова система, процеси, потребители, памет, пакетни системи и инсталация на софтуер, услуги в ОС, работа с Linux shell и bash, виртуализация и контейнери
- Програмиране за вградени системи (Embedded Systems Programming) – 11 клас
- Микроконтролери, Arduino, среда за разработка, програмиране за микроконтролер, вход и изход (GPIO), управление на сензори и периферия
- Конкурентно програмиране (Concurrent Programming) – 11 клас
- Асинхронно изпълнение, нишки и синхронизация
- Интернет програмиране (Internet and Web Development) – 12 клас
- HTTP протокол, уеб сървъри, уеб програмиране, уеб приложения, сесии, връзка з бази данни, MVC технологична рамка, REST APIs
- Софтуерно инженерство (Software Engineering Concepts) – 12 клас
- Софтуерна разработка, работа с чужд код, сорс-контрол системи, софтуерно тестване, процеси и методологии
- Функционално програмиране (Functional Programming) – 12 клас
- Функции, стойности, състояние, чисти функции, програмиране без променливи и цикли, обработка на списъци, фнкции от по-висок ред, lambda функции, closures
- Алгоритми и структури от данни (Algorithms and Data Structures Advanced) – 12 клас
- Алчни алгоритми, рекурсивни алгоритми, комбинаторни алгоритми, динамично оптимиране, дървовидни структури данни, хеш-таблици, графи и алгоритми върху графи
Споделени курсове от вдъхновени учители
Вдъхновени от проекта, будни учители споделиха своите учебни материали за редица курсове по програмиране и софтуерни технологии, които могат да са полезни и на други учители. Те са качени в това хранилище:
https://github.com/BG-IT-Edu/Free-Content
Всички публикувани учебни материали са свободни за използване в българските училища и учебни заведения.