OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 19 Апрель, 2024 11:45

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 19 ] 
Автор Сообщение
 Заголовок сообщения: Лебедь, Рак и Щука
СообщениеДобавлено: Четверг, 01 Декабрь, 2005 11:04 

Зарегистрирован: Среда, 30 Ноябрь, 2005 11:46
Сообщения: 46
Несколько лет назад я захотел научиться программировать. Просто было интересно:
как научить такую железяку как компьютер выполнять твои команды? После нескольких часов игры в какую-нибудь компьютерную
игрушку задавал себе вопрос: а чем я хуже, неужели я не смогу создать подобную вещь?
Дальше, поход в библитеку... а здесь... пустота. Я не нашел ни одной книги, которая бы учила составлению программ.
Что-то нашел по БЕЙСИКУ и то для каких-то совдеповских компьютеров. В общем, с горем пополам
запустил КУБЕЙСИК и запустил простейшую программку, уже не помню что она делала.
Дальше, столкновение с ПАСКАЛЕМ. Не просто столкновение, а разрушительный удар.
Непонятные названия, какие-то разделы, объявления - это ПАСКАЛЬ после БЕЙСИКА.
Учил ПАСКАЛЬ просто по ужасной книге - в ней давалось определение оператора и дальше шёл пример программы.
В ней не объяснялось как устранять ошибки, как работать с отладчиком, что означают сообщения, которые выдавал компилятор.
С потом и кровью мне удавалось откомпилировать программу, учился только на своих ошибках.
Где-то с двадцатой удачно компилированной программой стало что-то проясняться.
Дальше стало гораздо легче. Через три года познакомился с Дельфи, но не мог понять, почему бы
не связать строковую переменную с полем ввода. Измени, например, значение переменной - поменлось текстовое поле,
поменял бы что-то в поле - изменилось значение переменной.
Ну, ладно кое-как разобрался. После Дельфи познакомился с Питоном - теперь я понял:
изучи ПАСКАЛЬ, а другой язык возьмешь с такой-же легостью как и пересадка с велосипеда на мотоцикл.
Сейчас книжек по программированию просто куча, однако, "воз и ныне там". Я не нашел ни одной, которая бы учила
САМОСТОЯТЕЛЬНО составлять правильные алгоритмы."Искусство программирования" Кнута для новичка, что
высшая математика для первоклассника. Основная мысль, которая в них наблюдается -
делай как "я" и будет все прекрасно. Ещё ужаснее, когда половина книги посвящена изучению среды разарботки, а не составлению алгоритмов.
И ещё парадокс: никто не учит методике составления алгоритмов - программы берутся из пустоты.
Что будет дальше?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Четверг, 01 Декабрь, 2005 13:07 

Зарегистрирован: Среда, 16 Ноябрь, 2005 18:42
Сообщения: 42
Откуда: Ярославль
А как же классика в лице "Алгоритмы и структуры данных" Н.Вирт :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Еще почти в тему
СообщениеДобавлено: Четверг, 01 Декабрь, 2005 13:22 

Зарегистрирован: Среда, 16 Ноябрь, 2005 18:42
Сообщения: 42
Откуда: Ярославль
Почти в тему. :)

На одном форуме (Clarion) был задан вопрос. "Как программировать базу данных?" Ответ был дан примерно в том же духе. "Берешь программатор и программируешь, программируешь, программируешь" :D

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

А когда уровень владения языком как у Виктора Степановича :) "Эт сам, мы тут вот" О чем может идти речь? Я когда-то детей учил азам программирования. Так вот пришлось тратить несколько занятий, на то чтобы научить их развернуто описывать русским языком те явления жизни которые им кажутся вроде как понятными. А иначе условные и циклические операции (не говоря уж о каких то более сложных проектных схемах, как например "событийное управление") остаются для них голыми абстракциями.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 01 Декабрь, 2005 15:04 

Зарегистрирован: Пятница, 02 Декабрь, 2005 14:35
Сообщения: 210
Откуда: Россия, Томск
Уровень учебника должен соответствовать математическому уровню и уровню общего развития обучаемого. Учить началам алгоритмизации пятиклассника, девятиклассника и первокурсника по одной и той же книжке, видимо, невозможно. Для этих категорий должны быть разные книжки. Значительный объем их должны составлять формулировки доступных задач, приемы построения опорных схем ("разрисуем задачу" говорю я своим ученикам, зачитав текст задачи), наброски идей решений, подробный расклад решений на русском (национальном) языке с пошаговым переводом на ЯП, деление задачи на подзадачи. Обязательно должно быть присутствовать множество идеально выписанных, прокомментированных решений нескольких сотен задач и примеров, начиная с самых элементарных типа "Hello, world!". Попутно должны быть рассмотрены приемы управления средой программирования и борьбы с ошибками, привиты навыки внимательного анализа текстов задач, экономии физических усилий (копирования фрагментов, быстрого набора конструкций, отката, подбора подходящего прототипа, использования складок и т.п.), обращения к готовым алгоритмам.
Написать хорошую книжку-самоучитель (допустим, под КП/ББ и конкретную категорию учащихся) - очень кропотливая и очень трудоемкая задача. От писателя требуется высокая квалификация в нескольких областях. А писателю нужна ясная перспектива с финансированием и гарантией публикации.
Вот и имеем состояние литературы по алгоритмизации... далекое от желаемого начинающими программистами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Четверг, 01 Декабрь, 2005 17:41 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Есть хороший задачник по программированию А. Шеня. Сейчас он, кстати, переиздан. У меня есть старое издание в компьютерном варианте. Очень хорошая вещь, рассматриваются на примерах как начальные, так и серьезные алгоритмы (и синтаксичекий разбор, и комбинаторные задачи, и много чего еще).

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Четверг, 01 Декабрь, 2005 17:55 

Зарегистрирован: Среда, 16 Ноябрь, 2005 18:42
Сообщения: 42
Откуда: Ярославль
Илья Ермаков писал(а):
Есть хороший задачник по программированию А. Шеня. Сейчас он, кстати, переиздан. У меня есть старое издание в компьютерном варианте.

А можно мне его? :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Еще почти в тему
СообщениеДобавлено: Четверг, 01 Декабрь, 2005 18:08 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Anton писал(а):
А иначе условные и циклические операции (не говоря уж о каких то более сложных проектных схемах, как например "событийное управление") остаются для них голыми абстракциями.

Вы не поверите, на том диске для школ от 1С-Microsoft, о котором я в соседней ветке тут писал, обучение языку Visual Basic начинается с ООП и модели событийного программирования. Потом идет изучение кликанья мышкой по формам. Ну, на 15 уроке (я не шучу!) обясняется оператор присваивания. Дальше 3 урока - ветвление, цикл, подпрограммы. Все. Курс окончен. Далее идет переход к изучению 1С Предприятие и Борланд Дельфи (На 2-м занятии там пишется рисование на канве формы - это, типа, так освоили машинную графику, а на 10 занятии школьникам предлагается программировать приложение баз данных. Ну нет, не через SQL, конечно, это так низко ведь, фи... Покидать мышкой контролы на формы под умные слова о первичных и внешних ключах, индексах и т.д.)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Четверг, 01 Декабрь, 2005 18:09 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Вот он, задачник Шеня:
http://ermakov.metasystems.ru/shen.rar
Выкладывать на сайт не буду, все ж таки книга с авторскими правами, хоть и 96 года.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 02 Декабрь, 2005 02:14 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
В самостоятельном "дохождении" есть и свои плюсы. Человек совершенно точно знает, почему алгоритм получился именно такой, какой получился. Хотя конечно потом с удивлением обнаруживаешь, что твоё решение, которым ты так гордился, давно описано в какой-то книжке :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 02 Декабрь, 2005 08:06 

Зарегистрирован: Пятница, 02 Декабрь, 2005 14:35
Сообщения: 210
Откуда: Россия, Томск
Илья Ермаков писал(а):
еще очень полезно регулярно показывать "вживую", как пишутся программы.


Совершенно верно. Но starant больше говорил о книжках для самостоятельного изучения программирования. Такие книжки, имитирующие диалог с учащимся, писать в самом деле непросто.

Цитата:
...Дальше 3 урока - ветвление, цикл, подпрограммы. Все. Курс окончен.


Да уж... Проблема - отбор учебного материала. Сколько и каких примеров необходимо и достаточно разобрать, чтобы (а) языковым конструкциям научить, (б) классические алгоритмы "вбить" в мозги, (в) достаточно (это сколько?) развить логику алгоритмизации, действительно, начиная с изучения русского (родного) языка, (г) приучить к усидчивой, предельно аккуратной работе с каждой "буковкой" задачи и решающей её программы, (д) с особенностями среды программирования подробно ознакомить и научить уверенно в ней работать?

Перечисленное называют в целом "мелкой" техникой. Ей можно начинать учить в 5-6 классе. Тогда в старших классах реально будет перейти к "крупной" технике и сложным задачам олимпиадного уровня.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 02 Декабрь, 2005 13:49 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 22:34
Сообщения: 431
Откуда: Москва
Anonymous писал(а):
Илья Ермаков писал(а):
еще очень полезно регулярно показывать "вживую", как пишутся программы.


Совершенно верно. Но starant больше говорил о книжках для самостоятельного изучения программирования. Такие книжки, имитирующие диалог с учащимся, писать в самом деле непросто.


Нужны классические учебники по программированию. "Алгоритмы и структуры данных" Вирта в варианте 2004 г. (на Обероне) -- это лишь приближение к идеалу.

Цитата из выступления Вирта в Аархусе (2002) "Преподавание информатики: потерянная дорога":

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


Много лет Гуткнехт уже собирается написать свой учебник, но у него катастрофически мало времени. Когда я обсуждал с ним этот вопрос в ходе сентябрьского турне, он подтвердил, что хотел бы доделать, но пока тяжеловато...

Учебные пособия для разных категорий нужны. Но это, согласитесь, не то, чем была бы настольная книга для программистов. А писать ее должны мэтры...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 02 Декабрь, 2005 14:33 

Зарегистрирован: Среда, 30 Ноябрь, 2005 11:46
Сообщения: 46
Илья Ермаков писал(а):
Есть хороший задачник по программированию А. Шеня. Сейчас он, кстати, переиздан.

Видел данную книжку, ничего плохого про нее сказать не могу, однако, я думаю, она полезна тем, кто уже умеет программировать и хочет улучшить и свои познания в программировании. Т.е для новичка в ней нет важного - как самостоятельно находить подход к решению программерских задач.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пятница, 02 Декабрь, 2005 14:40 

Зарегистрирован: Среда, 30 Ноябрь, 2005 11:46
Сообщения: 46
Anton писал(а):
А как же классика в лице "Алгоритмы и структуры данных" Н.Вирт :D

"Евгений Онегин" - тоже классика русской литературы, но учимся читать по Букварю


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Еще почти в тему
СообщениеДобавлено: Пятница, 02 Декабрь, 2005 14:52 

Зарегистрирован: Среда, 30 Ноябрь, 2005 11:46
Сообщения: 46
Anton писал(а):
Почти в тему. :)

Без владения языком, т.е. без нормального описания действий и потребностей пользователя на естественном языке программу не написать (алгоритм не составить).

Правильно, в самую точку!!!!!!! Полностью с тобой согласен.
Эти золотые слова нужно писать в предисловии к каждому учебнику по программированию.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: книги
СообщениеДобавлено: Пятница, 02 Декабрь, 2005 15:47 
Аватара пользователя

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 13:17
Сообщения: 84
Откуда: Россия, Мурманск
Для совсем начинающих, я бы посоветовал книгу К.Боон "Паскаль для всех". Очень доходчиво написано, с картинками :). Никаких кликов мышкой, только по делу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Суббота, 03 Декабрь, 2005 14:31 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
Ivor писал(а):
В самостоятельном "дохождении" есть и свои плюсы. Человек совершенно точно знает, почему алгоритм получился именно такой, какой получился. Хотя конечно потом с удивлением обнаруживаешь, что твоё решение, которым ты так гордился, давно описано в какой-то книжке :)
В самостоятельном решении есть только один плюс. Когда нужно найти решение, которое не могло было известно никому. Иначе пустая трата времени.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Суббота, 03 Декабрь, 2005 16:35 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
GUEST писал(а):
В самостоятельном решении есть только один плюс. Когда нужно найти решение, которое не могло было известно никому. Иначе пустая трата времени.

Есть такая штука - опыт. Получается как раз из бесполезных трат времени :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Суббота, 03 Декабрь, 2005 21:37 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 1030
Опыта никогда достаточно не бывает, хе-хе. Вопрос в оправдании затраченных усилий и времени. Возможно это не тот опыт который надо приобретать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Воскресенье, 19 Февраль, 2006 13:15 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
ОТ МОДЕРАТОРА

Создал отдельную ветку "Школьный Алгоритмический Комплекс"

http://blackbox.metasystems.ru/forum/vi ... .php?t=118


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB