LINUX.ORG.RU

История изменений

Исправление ddf, (текущая версия) :

pascal хорош в том плане, что синтаксис уже устоялся и практически не меняется, и под него есть доступные и удобные учебные среды разработки, с современным gui, например pascalabc

с python в этом плане сложнее: язык менее стабильный и более сложный, слишком быстро меняется, информации много, но наполовину устаревшей, сред разработки много и слишком они разные, у ученика может быть информационный шторм

pascal компилируемый и типизированный - это хорошо для понимания происходящих процессов, для демонстрации ошибок при неправильном использовании типов или нарушениях синтаксиса

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

так что pascal все же более строг и академичен, более полезен на начальных этапах

но pascal менее полезен в практическом плане: это уже практически мертвый язык, на нем можно обучить основам, но далее он будет бесполезен, на нем ничего полезного не написать так что рассматривать его можно только как трехколесный велосипед: он нужен только чтобы поставить учеников на ноги, дать понимание самых базовых вещей, далее его нужно обязательно сменить на один из современных востребованных языков, тут и можно переключиться на python

так что в моем понимании обучение может быть выстроено примерно так:

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

каждый из этапов закрепляем небольшой практической работой, чтобы каждый мог пощупать, понять что это и как с этим обращаться

далее можно переходить ближе к компьютерам:

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

далее уже можно давать более сложные задачи и алгоритмы, углубиться в базовые структуры данных

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

с python уже можно уйти в практические задачи: взаимодействие с файлами, обработка строк, основные библиотечные функции, коллекции и их вспомогательные функции, работа с аргументами и консольные приложения, взаимодействие с операционной системой, веб-сервисы

ну а отсюда уже можно перейти и к браузерам, основам http и html это уже более чем приличный уровень для основ: веб-сервис, отрисовка и обработка простейших веб-форм, простейшие апи, это уже то, что каждый может на практике использовать для себя

дальше уже каждый сам будет углубляться в нужную ему сторону: кто-то ограничится скриптами для практических задач, кто-то пойдет в веб или другие сферы, кто-то в другие языки, и в каждом из направлений уже свои стеки и наборы технологий, рассматривать их в рамках базового обучения особо смысла нет, даже на уровне css/js

Исправление ddf, :

pascal хорош в том плане, что синтаксис уже устоялся и практически не меняется, и под него есть доступные и удобные учебные среды разработки, с современным gui, например pascalabc

с python в этом плане сложнее: язык менее стабильный и более сложный, слишком быстро меняется, информации много, но наполовину устаревшей, сред разработки много и слишком они разные, у ученика может быть информационный шторм

pascal компилируемый и типизированный - это хорошо для понимания происходящих процессов, для демонстрации ошибок при неправильном использовании типов или нарушениях синтаксиса

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

так что pascal все же более строг и академичен, более полезен на начальных этапах

но pascal менее полезен в практическом плане: это уже практически мертвый язык, на нем можно обучить основам, но далее он будет бесполезен, на нем ничего полезного не написать так что рассматривать его можно только как трехколесный велосипед: он нужен только чтобы поставить учеников на ноги, дать понимание самых базовых вещей, далее его нужно обязательно сменить на один из современных востребованных языков, тут и можно переключиться на python

так что в моем понимании обучение может быть выстроено примерно так:

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

каждый из этапов закрепляем небольшой практической работой, чтобы каждый мог пощупать, понять что это и как с этим обращаться

далее можно переходить ближе к компьютерам:

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

далее уже можно давать более сложные задачи и алгоритмы, углубиться в базовые структуры данных

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

с python уже можно уйти в практические задачи: взаимодействие с файлами, обработка строк, основные библиотечные функции, коллекции и их вспомогательные функции, работа с аргументами и консольные приложения, взаимодействие с операционной системой, веб-сервисы

ну а отсюда уже можно перейти и к браузерам, основам http и html это уже более чем приличный уровень для основ: веб-сервис, отрисовка и обработка простейших веб-форм, простейшие апи это уже то, что каждый может на практике использовать для себя

дальше уже каждый сам будет углубляться в нужную ему сторону: кто-то ограничится скриптами для практических задач, кто-то пойдет в веб или другие сферы, кто-то в другие языки, и в каждом из направлений уже свои стеки и наборы технологий, рассматривать их в рамках базового обучения особо смысла нет, даже на уровне css/js

Исходная версия ddf, :

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

но pascal менее полезен в практическом плане: это уже практически мертвый язык, на нем можно обучить основам, но далее он будет бесполезен, на нем ничего полезного не написать так что рассматривать его можно только как трехколесный велосипед: он нужен только чтобы поставить учеников на ноги, дать понимание самых базовых вещей, далее его нужно обязательно сменить на один из современных востребованных языков, тут и можно переключиться на python

так что в моем понимании обучение может быть выстроено примерно так:

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

каждый из этапов закрепляем небольшой практической работой, чтобы каждый мог пощупать, понять что это и как с этим обращаться

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

  • рассказываем о переменных подробнее: о типах и их представлении в памяти, об ограничениях и особенностях основных типов, об особенностях представления отрицательных чисел, о синтаксисе объявления
  • рассказываем о базовом синтаксисе pascal: блоки, переменные, логические операции и сравнения, циклы, функции, базовые библиотечные функции - математика, ввод/вывод на консоль
  • рассказываем об основах работы в среде разработки или о консольных командах на сборку бинарника и запуск программы
  • рассказываем о базовой отладке программы: основные ошибки и исключения, что с этим делать, как можно проверить что происходит в конкретной части кода, основы логирования
  • собственно практика с программами уровня hello world, набить руку с написанием и запуском кода
  • практика с ранее усвоенной теорией: повторение ранее разобранных базовых алгоритмов, но уже с переводом из алгоритма в код, запуском и отладкой

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

с python уже можно уйти в практические задачи: взаимодействие с файлами, обработка строк, основные библиотечные функции, коллекции и их вспомогательные функции, работа с аргументами и консольные приложения, взаимодействие с операционной системой, веб-сервисы

ну а отсюда уже можно перейти и к браузерам, основам http и html это уже более чем приличный уровень для основ: веб-сервис, отрисовка и обработка простейших веб-форм, простейшие апи это уже то, что каждый может на практике использовать для себя

дальше уже каждый сам будет углубляться в нужную ему сторону: кто-то ограничится скриптами для практических задач, кто-то пойдет в веб или другие сферы, кто-то в другие языки в каждом из направлений уже свои стеки и наборы технологий, рассматривать их в рамках базового обучения особо смысла нет, даже на уровне css/js