Содержание программы дополнительного образования детей "Лаборатория юного линуксоида"

Первый год обучения

  1. Знакомство с операционными системами семейства GNU/Linux (4 часа)
    1. Понятие операционной системы, разнообразие операционных систем. История UNIX, проекта GNU и дистрибутивов Linux. Особенности ОС GNU/Linux.
  2. Принципы работы в графических средах на примере одной из них (10)
    1. Текстовый и графический режимы работы. История возникновения графического интерфейса. Основные элементы графической среды (Desktop, Главное меню, окно). Понятия: файл, директория (папка, каталог), ярлык, формат файла. Операции копирования, перемещения, переименования и удаления. Представление о файловой системе как древовидной структуре. Файловый менеджер.
  3. Разнообразие графических сред пользователя (4)
    1. Особенности работы в других графических средах пользователя.
  4. Обработка текстовой информации (16)
    1. Разнообразие текстовых редакторов и процессоров. Форматированный и "плоский" текст. Правила ввода и редактирования текста. Оформление текста. Добавление в текстовый файл таблиц и графики. Списки и их типы. Логическая структура документа, стили. Дополнительные возможности современных текстовых процессоров.
  5. Создание компьютерных презентаций (8)
    1. Представление о компьютерной презентации. Структура презентации, правила оформления слайдов. Практика создания презентаций. Спецэффекты и интерактивность.
  6. Компьютерная графика (4)
    1. Компьютерная графика, векторная и растровая графика. Цветовые модели, RGB. Распространенные форматы графических файлов и области их применения (GIF, JPEG, PNG).
  7. Создание растровой графики (8)
    1. Обзор программ для создания растровой графики. Инструменты (выделение, примитивы, заливка и др.), палитра. Основные принципы работы в графическом редакторе (перемещение частей изображения, изменение размеров, дублирование, поворот, масштабирование и др.).
  8. Создание векторной графики (18)
    1. Обзор программ для создания векторной графики. Фигуры и их трансформация. Инструмент "Кривая Безье". Булевы операции в графике. Работа с цветом. Контур. Графическое оформление текста. Эффекты. Импорт и экспорт изображений.
  9. Введение в графический дизайн (4)
    1. Влияние характеристик изображения на восприятие информации. Композиция. Формы, размер, пространство, цвет, контраст, пропорции. Передний и задний планы, равновесие, замкнутое и открытое пространство, динамика и статичность.
  10. Введение в программирование на языке Logo (36)
    1. Основные команды Logo. Понятие переменной. Конструкции, изменяющие линейный ход программы. Подпрограммы. Изменение свойств пера и холста. Программирование "черчения" геометрических фигур. Случайные числа, абсолютные и относительные величины. Примеры программ.
  11. Среда программирования Scratch (20)
    1. Управление одним и несколькими объектами. Одновременное и последовательное выполнение скриптов. Интерактивность и диалоговый режим. Использование переменных, условий и циклов. Случайные числа. Программирование "рисования" в Scratch, создание объектов, использование библиотеки объектов. Работа с фоном.
  12. Основы компьютерной 2D-анимации (12)
    1. Понятие анимации. Кадры, слои и сцены. Ключевой и промежуточный кадры. Изменения положения и формы объекта во времени. Циклическая анимация и многократное использование частей сцены. Публикация анимации. Практика создания анимации.

Второй год обучения

  1. Файловая система, типы файлов, права доступа в GNU/Linux (4)
    1. История и разнообразие файловых систем. Файловая структура GNU/Linux. Типы файлов. Роли и права доступа.
  2. Основы работы в командной оболочке Bash (20)
    1. История и назначение командной строки, терминалы. Правила ввода, команды и утилиты, работа со страницами руководств. Ввод и вывод, перенаправление. Шаблоны и фильтры. Работа с файловой системой в режиме командной строки: перемещение по дереву каталогов, просмотр каталогов и файлов, индексный дескриптор, ссылки, виды ссылок, копирование и перемещение файлов.
  3. Распространенные утилиты Unix-подобных систем (4)
    1. Архивирование и схатие файлов, поиск и др.
  4. Знакомство с языком гипертекстовой разметки HTML 4 (16)
    1. Представление о WWW, языке гипертекстовой разметки HTML: понятия тега, контейнера, атрибута и его значения. Структура и внешний вид документа, гипертекстовые ссылки, добавление изображений, работа с таблицами, списки. Структура страниц сайта: меню, контент, "шапка", "подвал".
  5. CSS – язык описания внешнего вида html-документов (16)
    1. Особенности Web-дизайна, шрифты, цветовые схемы, единицы измерения. Каскадные таблицы стилей (CSS): синтаксис, оформление фона, текста, списков, таблиц и др. Использование классов и идентификаторов. Наследование. Создание спецэффектов.
  6. Особенности HTML 5 (6)
    1. Отличительные особенности и дополнительные возможности HTML 5 по сравнению с HTML 4.
  7. Обработка изображений при помощи GIMP (14)
    1. Знакомство с интерфейсом и возможностями программы GIMP. Выделение и рисование, градиенты и текстуры. Сохранение созданного изображения в различных форматах. Работа со слоями. Создание gif-анимации. Обработка фотографий.
  8. Текстовые эффекты (4)
    1. Особенности работы с текстом в графическом процессоре. Применение фильтров для создания различный текстовых эффектов.
  9. Парадигма структурного программирования (6)
    1. Понятие алгоритма. Линейные и разветвляющиеся программы. Циклы и функции. История развития языков программирования.
  10. Язык программирования Python (36)
    1. Типы данных (целые числа, числа с плавающей точкой, строки) и структуры данных (строки, списки, словари), переменные, условные операторы и циклы. Ввод и вывод данных, работа с файловой системой. Понятие о функциях, локальных и глобальных переменных.
  11. Язык программирования Pascal (24)
    1. Отличительные особенности языка программирования Pascal: типы данных, управляющие конструкции, функции и процедуры.
  12. Алгоритмы решения задач (30)
    1. Алгоритмы поиска и сортировки, нахождения НОД, простых чисел. Факториал, числа Фибоначчи и др.
  13. Разработка и создание программ (12)
    1. Особенности и принципы разработки и реализации проектов по программированию. Создание небольших программ на языках Python и Pascal.
  14. Создание сайта на Drupal (24)
    1. Описание установки движка (CMS – системы управления контентом) Drupal на локальном сервере. Создание сайта-блога, основы администрирования сайта, установка темы оформления и ее правка, знакомство с понятием таксономии в web. Работа с модулями Views, CCK, Image, Geshifilter и др.

Третий год обучения

  1. Режимный текстовый редактор Vim (6)
    1. История Vim. Режимы и особенности работы. Команды (копирование, вставка, удаление и др.). Дополнительные возможности редактора.
  2. Многофункциональный редактор Emacs (8)
    1. Принципы работы и возможности Emacs, настройка редактора. Работа с файловой системой и другие возможности.
  3. Особенности верстки публикаций (18)
    1. Публикации и их виды. Работа с текстом, добавление изображений и графических элементов, работа со слоями. Экспорт в различные форматы. Дополнительные возможности программы для верстки публикаций. Особенности верстки статей, визиток, газет и др.
  4. 3D-моделирование и анимация в Blender (40)
    1. Базовые понятия 3D-моделирования. Пространство и управление им, "горячие клавиши". Объекты. Режимы: объектный и редактирования. Экструдирование, модификаторы. Материалы и текстуры. Анимация. Система частиц и физика объектов. Ограничители и арматура.
  5. Основы Blender Game Engine (24)
    1. Сенсоры, контроллеры и активаторы. Моделирование физических свойств. Взаимодействие объектов, сенсоры. Управление камерой и сценами. Моделирование гравитации. Материалы и текстуры в game-режиме.
  6. Реализация творческих работ в среде Blender (12)
    1. Приметы 3D-моделей и интерактивных моделей, реализованных в среде Blender. Реализация собственных моделей и программ.
  7. Принципы объектно-ориентированного программирования (6)
    1. Понятие ООП, наследования, инкапсуляции и полиморфизма. Класс и объект. Примеры объектно-ориентированного проектирования. Области применения ООП.
  8. Реализация парадигмы ООП в языке Python (26)
    1. Создание классов и объектов. Конструктор класса, наследование и полиморфизм, переопределение методов. Композиционный подход. Перегрузка операторов. Практическое использование парадигмы объектно-ориентированного программирования.
  9. ООП на Pascal (16)
    1. Особенности объектно-ориентированного программирования на Pascal.
  10. Обзор инструментов для создания GUI (4)
    1. Обзор сред программирования и графических библиотек.
  11. Программирование GUI с помощью Tkinter (28)
    1. Обзор компонентов. Методы вызова функций-обработчиков. События. Переменные Tkinter. Меню и диалоговые окна. Методы холста. Особенности работы с текстовым полем.
  12. Разработка приложений в Lazarus (30)
    1. Создание графических приложений в среде разработки Lazarus.

Четвертый год обучения

  1. Основы операционных систем (16)
    1. Принципы работы и устройство операционных систем. Процессы, организация синхронизации, памяти, ввода-вывода, файловой системы и др.
  2. Знакомство с языком TeX. Основы работы с издательской системой LaTeX (24)
    1. История возникновения, основное назначение TeX. Особенности работы: исходный файл, программа-транслятор и др. Основные понятия LaTeX: специальные символы, команды, окружение, параметры. Набор и оформление текста и формул. Понятие псевдорисунка, отрезки, окружности, кривые и др. Таблицы. Создание команд. Блоки и клей. Использование системы LaTeX в различных науках: математика, физика, химия, гуманитарные науки и др.
  3. Создание диаграмм и схем (6)
    1. Возможности программы Dia. Создание различных диаграмм и схем.
  4. Диаграммы связи (ментальные карты) (6)
    1. Назначение диаграмм связи, особенности их создания.
  5. Знакомство с CAD-системами и их назначением (6)
    1. Понятие проектирования, назначение, программные продукты для автоматизации проектирования и особенности работы в них.
  6. Знакомство с языком UML. Создание UML-моделей (8)
    1. Особенности разработки программного обеспечения. Использование унифицированного языка моделирования. Программное обеспечение для создания UML-моделей.
  7. Особенности языка программирования C (48)
    1. Управляющие конструкции, типы данных. Указатели, динамические типы данных. Ввод-вывод данных. Работа с массивами и строками. Функции. Структуры. Препроцессор. Создание библиотек и многофайловых проектов.
  8. Объектно-ориентированное программирование на C++ (24)
    1. Особенности ООП в языке C++.
  9. Использование библиотеки QT (36)
    1. Особенности QT, среда разработки. Практика создания приложений с графическим интерфейсом пользователя.
  10. Электронные таблицы (12)
    1. Принципы работы, обработка данных, математические функции.
  11. Теория реляционных баз данных (6)
    1. Общее определение базы данных, реляционная модель. Назначение баз данных.
  12. Системы управления базами данных (24)
    1. Типы данных. Поля и записи. Связи. Проектирование баз данных. Сокращение избыточности данных. Уникальность данных. СУБД — системы управления базами данных: разнообразие, назначение. Создание и заполнение таблиц, установка между ними связей. Создание форм, поиск данных. Формирование запросов и отчетов. Сортировка. Особенности разработки и создания баз данных.

Создано