Описание учебного курса RUBasic

Описание учебного курса RUBasic

Общие положения

Главная задача учебного курса - дать учащимся базовые знания по общей практической информатике, алгоритмам и программированию так, чтобы в дальнейшем они могли расти и развиваться в этих направлениях сами.

Соответственно, одна из основных задач - научить основам программирования и алгоритмического мышления на примере языка RUbasic. При этом надо понимать, что изучать нужно не языки программирования, а само программирование: алгоритмы, формализацию и постановку задач и т.п., а записать в полученный  алгоритм виде программы в принципе можно на любом языке программирования, язык - это всего лишь инструмент и к моменту завершения курса учащиеся должны владеть несколькими языками программирования.

Однако, начинать, особенно для детей 6-8 лет, лучше даже не с RUbasic, а со Scratch. Scratch является простой игровой визуальной средой программирования объектов (моделирования их поведения), полностью переведённой на русский язык, позволяющей создавать простые игры, мультипликации и решать некоторые другие задачи по программированию на начальном уровне.

На самом первом этапе обучения очень важно научить детей пониманию, что такое программирование на самом деле. Задача преподавателя - дать детям возможность разобраться, что в программировании нет и не может быть никакой "магии": просто есть какой-то объект (любой: например, кружок или квадратик), и мы этим объектом можем управлять в каких-то пределах: узнавать и изменять его свойства (размер, цвет, форму...), заставлять его двигаться в соответствии с теми командами, которые мы ему дадим и т.п.

Затем, для повторения одинаковых команд мы начинаем использовать циклы. На следующем этапе мы вносим в алгоритм элементы анализа - пытаемся научить программу "думать" и "принимать решения" с помощью операторов условного перехода и условного цикла. Затем появляются многозадачность: параллельные потоки, события, передача сообщений - то есть, реализуется понимание полноценной объектной модели. Главная задача на начальном этапе - формирование "интуитивного" алгоритмического мышления: восприятие задач с точки зрения последовательности действий для их решения.

На это все с использованием Scratch нужно около 2 лет. Меньше, как правило, не получается, потому что слишком велик объем задач и информации, которые нужно очень хорошо уложить в голове, но и не больше, иначе учебный процесс превратится просто в игру, и развитие обучающегося остановится.

В принципе, начинать обучение на Scratch можно в 6-7 лет, а затем переходить на RUbasic - в 8-9 лет. Сразу начинать писать программы на RUbasic конечно можно, но для детей это будет скучно и не слишком понятно. Однако, если дети (или не дети) начинают изучать программирование в возрасте 10-12 лет или позже, то можно сразу начинать обучение с RUbasic.

И еще один очень важный момент: если возможно включение в общий учебный курс курса робототехники - это замечательно. Это очень просто реализовать при использовании RUbasic с наборами Lego EV3, потому что поддержка контроллеров EV3 включена в стандартный набор библиотек RUbasic. Курс робототехники можно начинать не раньше чем через год-два после начала изучения RUbasic, и, желательно, не раньше 10-летнего возраста.

Продолжить обучение, особенно в плане адаптации к современным англоязычным языкам программирования лучше всего на MS Small Basic. MS Small Basic родственен языку RUbasic и переход происходит максимально комфортно и безболезненно. Главное - при переходе не теряется время на возврат назад - к основам нового языка: можно продолжать выполнять свои проекты, используя фактически англоязычный аналог языка RUbasic. При удержании заданных темпов роста такой переход возможен в 12-14 лет.

В дальнейшем (в 16-18 лет) создаются все условия для перехода учащихся к программированию на современных "рабочих" языках программирования C и C++. После изучения этих языков у учащегося появляется широкий выбор подобных языков программирования, в которых он в состоянии ориентироваться, и которые ему не придется начинать изучать "с нуля". Это такие языки как C#, Objective C, PHP, Java, JavaScript, ActionScript, D, Scala, Nemerle и многие другие. Программы на этих языках он сможет читать, понимать, модифицировать и также, создавать самостоятельно. Фактически на этом этапе учащийся уже сможет самостоятельно перейти практически на любой язык программирования, который будет наиболее подходящим для решения поставленной задачи. Хочется заметить, что к этому моменту учащийся уже превратится в полноценного инженера-программиста (но ни в коем случае ни в "кодера"), который в дальнейшем сможет расти и развиваться полностью самостоятельно.

 

Структура учебного курса

 

  1. Введение в программирование.
    Понимание машины как исполнителя команд. Арифметика (математика - основа IT).
  2. Алгоритмы и программы.
    Что такое алгоритм. Простейшие алгоритмы. Алгоритмы в жизни.
  3. Что такое язык программирования.
    Типы языков. Текстовое программирование. Понятие команды(оператора) в языке программирования.
  4. Данные программ. Константы.
    Типы данных. Типы констант. Примеры записи.
  5. Интерфейсы программ.
    Ввод-вывод в различных интерфейсах. Простейший консольный интерфейс.
  6. Вывод в программах.
    Операторы вывода. Что и как можно выводить в консоль. Примеры вывода констант.
  7. Комментарии.
    Зачем нужны комментарии. Примеры использования.
  8. Операции.
    Арифметические операции. Текстовые операции. Вывод результатов.
  9. Алгоритм программы как последовательность команд.
    Закрепление предыдущих тем. Примеры построения алгоритмов решения задач.
  10. Блок-схема алгоритма.
    Элементы блок-схем. Составление блок-схем алгоритмов для решения задач.
  11. Тестирование алгоритмов и программ.
    Инструменты и методы тестирования.
  12. Понятие перехода.
    Безусловный переход. Алгоритмы с переходами.
  13. Понятие переменной.
    Типы переменных. Объявление переменных.
  14. Оператор присваивания.
    Присваивание значений и результатов операций. Использование переменных в коде программ.
  15. Ошибки программ.
    Типы ошибок. Способы поиска ошибок и отладки.
  16. Повторение команд. Циклы.
    Простейший цикл со счетчиком.
  17. Проверка условий.
    Простейший условный оператор.
  18. Циклы с условием.
  19. Сложные алгоритмические структуры.
    Блоки. Вложения. Блок-схемы алгоритмических структур
  20. Логические операторы.
    Сложные условия. Условный оператор с альтернативой. Вложения уловных операторов.
  21. Сложные алгоритмические структуры.
    Закрепление предыдущих тем. Примеры сочетания алгоритмических структур.
  22. Функции и их применение.
    Для чего нужны функции. Библиотечные (стандартные) функции.
  23. Ввод-вывод.
    Стандартные функции ввода-вывода. Примеры использования.
  24. Создание функций.
    Структура описания функций. Параметры функций. Возвращаемые значения.
  25. Самостоятельное решение задач.
    Шаги для решения задачи (понимание, формализация, алгоритмизация, оптимизация, кодирование, тестирование, исправление ошибок).

Этого или подобного ему плана стоит придерживаться в начале изучения дисциплины "Программирование".

 

Дополнения

На начальном этапе обязательно использовать следующий пошаговый переход:

  1. алгоритм
  2. построчные комментарии - текстовая пошаговая запись алгоритма
  3. код, соответствующий пошаговой записи алгоритма

Это позволяет учащимся легче воспринимать "превращение" словесного описания алгоритма в программный код. Подробно данная методика описана здесь: https://rubasic.ru/uchebnaya-metodika-kommentarij-algoritm/

Кстати, очень неплохо в процессе объяснения также показать учащимся, на каких элементарных операциях построены все элементы языка программирования:

  1. арифметика
  2. проверка условий
  3. переходы

Поделиться: 

Мы используем cookie-файлы для наилучшего представления нашего сайта. Продолжая использовать rubasic.ru, вы соглашаетесь на использование файлов cookie.
Понятно