Основи програмування для дітей
Якщо ви хотіли б навчитися або навчити дітей програмування, але відео в Youtube та курси "опануй C++ за 24 години" додають плутанини, трохи системного підходу не завадить.
Ця книга описує основні поняття та концепції програмування, а також пропонує огляд супровідних до програмування робіт у спосіб, що допоможе вам - яку б мову програмування ви не вивчали - шляхом порівняння концепцій, мов та інструментів.
Зміст
- Вступ
- Чому до креслярської дошки?
- Основні поняття
- Для чого пишуть програми
- Мови програмування
- Коментарі
- Команди та оператори
- Цифри та числа
- Текстові рядки
- Збереження даних в пам’яті. Куча і стек. Статичне і динамічне виділення пам’яті
- Змінні та посилання
- Типи даних
- Константи
- Перелічувані типи даних
- Використання змінних
- Операції над даними
- Функції (методи, процедури)
- Що є функція?
- Результати функції
- Локальні змінні
- Параметри функцій
- Перевантажені функції та стандартні параметри
- Виклик функції та передавання параметрів
- Перевірка параметрів та результатів роботи функції
- Посилання на функцію. Зворотній виклик функції.
- Стек викликів. Рекурсія.
- Inline-функції
- З чого складається програма.
- Виконання програм
- Що таке алгоритм
- Блоки коду
- Умовне виконання і переходи
- Множинний вибір
- Цикли
- Паралельне та асинхронне виконання
- Виявлення та обробляння помилок
- Повідомляння про помилку
- Виключення
- Виключення і стек викликів
- Вкладені блоки try
- Складені типи даних
- Масиви
- Структури та записи
- Бітові поля
- Списки (переліки)
- Набори
- Кортежі
- Дерева
- Стек
- Словники та хеш-таблиці
- Черги
- Потоки та буфери
- Об’єктне та об'єктноорієнтоване програмування
- Що таке об’єкт
- Складові частини (члени) об’єкту
- Класи, прототипи та інтерфейси
- Поля та методи класу
- Спадкування
- Видимість і доступність членів
- Життєвий цикл об’єкта
- Робота з даними та пам’яттю
- Типи-значення та типи-посилання
- Робота з пам’яттю (виділення, видалення)
- Хто володіє пам’яттю?
- Збирання сміття
- Хендли
- Програмування, засноване на подіях
- Збирання та використання програм
- Компіляція програм
- Інтерпретовані мови та їхні особливості
- Динамічні та статичні бібліотеки
- Процеси та виконання програм
- Консольні та графічні програми, системні сервіси
- Додаткові модулі (плагіни)
- Організація роботи над програмним кодом
- Інтегровані середовища
- Контроль версій
- Аналіз та поліпшення коду
- Тестування
- Ведення журналу помилок
- Пошук помилок і зневадження коду
- Журналювання роботи
- Покращення ефективності
- Аналіз безпечності
- Підсумок