Основи програмування для дітей

Якщо ви хотіли б навчитися або навчити дітей програмування, але відео в Youtube та курси "опануй C++ за 24 години" додають плутанини, трохи системного підходу не завадить.

Ця книга описує основні поняття та концепції програмування, а також пропонує огляд супровідних до програмування робіт у спосіб, що допоможе вам - яку б мову програмування ви не вивчали - шляхом порівняння концепцій, мов та інструментів.


Зміст

  1. Вступ
  2. Чому до креслярської дошки?
  3. Основні поняття
    • Для чого пишуть програми
    • Мови програмування
    • Коментарі
    • Команди та оператори
    • Цифри та числа
    • Текстові рядки
    • Збереження даних в пам’яті. Куча і стек. Статичне і динамічне виділення пам’яті
    • Змінні та посилання
    • Типи даних
    • Константи
    • Перелічувані типи даних
    • Використання змінних
    • Операції над даними
  4. Функції (методи, процедури)
    • Що є функція?
    • Результати функції
    • Локальні змінні
    • Параметри функцій
    • Перевантажені функції та стандартні параметри
    • Виклик функції та передавання параметрів
    • Перевірка параметрів та результатів роботи функції
    • Посилання на функцію. Зворотній виклик функції.
    • Стек викликів. Рекурсія.
    • Inline-функції
    • З чого складається програма.
  5. Виконання програм
    • Що таке алгоритм
    • Блоки коду
    • Умовне виконання і переходи
    • Множинний вибір
    • Цикли
    • Паралельне та асинхронне виконання
  6. Виявлення та обробляння помилок
    • Повідомляння про помилку
    • Виключення
    • Виключення і стек викликів
    • Вкладені блоки try
  7. Складені типи даних
    • Масиви
    • Структури та записи
    • Бітові поля
    • Списки (переліки)
    • Набори
    • Кортежі
    • Дерева
    • Стек
    • Словники та хеш-таблиці
    • Черги
    • Потоки та буфери
  8. Об’єктне та об'єктноорієнтоване програмування
    • Що таке об’єкт
    • Складові частини (члени) об’єкту
    • Класи, прототипи та інтерфейси
    • Поля та методи класу
    • Спадкування
    • Видимість і доступність членів
    • Життєвий цикл об’єкта
  9. Робота з даними та пам’яттю
    • Типи-значення та типи-посилання
    • Робота з пам’яттю (виділення, видалення)
    • Хто володіє пам’яттю?
    • Збирання сміття
    • Хендли
  10. Програмування, засноване на подіях
  11. Збирання та використання програм
    • Компіляція програм
    • Інтерпретовані мови та їхні особливості
    • Динамічні та статичні бібліотеки
    • Процеси та виконання програм
    • Консольні та графічні програми, системні сервіси
    • Додаткові модулі (плагіни)
  12. Організація роботи над програмним кодом
    • Інтегровані середовища
    • Контроль версій
  13. Аналіз та поліпшення коду
    • Тестування
    • Ведення журналу помилок
    • Пошук помилок і зневадження коду
    • Журналювання роботи
    • Покращення ефективності
    • Аналіз безпечності
  14. Підсумок