OberonCore https://forum.oberoncore.ru/ |
|
Лебедь, Рак и Щука https://forum.oberoncore.ru/viewtopic.php?f=7&t=43 |
Страница 1 из 1 |
Автор: | starant [ Четверг, 01 Декабрь, 2005 11:04 ] |
Заголовок сообщения: | Лебедь, Рак и Щука |
Несколько лет назад я захотел научиться программировать. Просто было интересно: как научить такую железяку как компьютер выполнять твои команды? После нескольких часов игры в какую-нибудь компьютерную игрушку задавал себе вопрос: а чем я хуже, неужели я не смогу создать подобную вещь? Дальше, поход в библитеку... а здесь... пустота. Я не нашел ни одной книги, которая бы учила составлению программ. Что-то нашел по БЕЙСИКУ и то для каких-то совдеповских компьютеров. В общем, с горем пополам запустил КУБЕЙСИК и запустил простейшую программку, уже не помню что она делала. Дальше, столкновение с ПАСКАЛЕМ. Не просто столкновение, а разрушительный удар. Непонятные названия, какие-то разделы, объявления - это ПАСКАЛЬ после БЕЙСИКА. Учил ПАСКАЛЬ просто по ужасной книге - в ней давалось определение оператора и дальше шёл пример программы. В ней не объяснялось как устранять ошибки, как работать с отладчиком, что означают сообщения, которые выдавал компилятор. С потом и кровью мне удавалось откомпилировать программу, учился только на своих ошибках. Где-то с двадцатой удачно компилированной программой стало что-то проясняться. Дальше стало гораздо легче. Через три года познакомился с Дельфи, но не мог понять, почему бы не связать строковую переменную с полем ввода. Измени, например, значение переменной - поменлось текстовое поле, поменял бы что-то в поле - изменилось значение переменной. Ну, ладно кое-как разобрался. После Дельфи познакомился с Питоном - теперь я понял: изучи ПАСКАЛЬ, а другой язык возьмешь с такой-же легостью как и пересадка с велосипеда на мотоцикл. Сейчас книжек по программированию просто куча, однако, "воз и ныне там". Я не нашел ни одной, которая бы учила САМОСТОЯТЕЛЬНО составлять правильные алгоритмы."Искусство программирования" Кнута для новичка, что высшая математика для первоклассника. Основная мысль, которая в них наблюдается - делай как "я" и будет все прекрасно. Ещё ужаснее, когда половина книги посвящена изучению среды разарботки, а не составлению алгоритмов. И ещё парадокс: никто не учит методике составления алгоритмов - программы берутся из пустоты. Что будет дальше? |
Автор: | Anton [ Четверг, 01 Декабрь, 2005 13:07 ] |
Заголовок сообщения: | |
А как же классика в лице "Алгоритмы и структуры данных" Н.Вирт ![]() |
Автор: | Anton [ Четверг, 01 Декабрь, 2005 13:22 ] |
Заголовок сообщения: | Еще почти в тему |
Почти в тему. ![]() На одном форуме (Clarion) был задан вопрос. "Как программировать базу данных?" Ответ был дан примерно в том же духе. "Берешь программатор и программируешь, программируешь, программируешь" ![]() Если серьезно, то на мой взгляд обучение программированию и составлению алгоритмов надо начинать с изучения русского языка. Именно так и никак иначе. Ведь при написании программы нам приходиться описывать модель окружающей реальности с помощью формальной нотации (языка программирования). Но перед этим, окружающую реальность надо хотя бы по минимуму формализовать, "развернуть". Без владения языком, т.е. без нормального описания действий и потребностей пользователя на естественном языке программу не написать (алгоритм не составить). А когда уровень владения языком как у Виктора Степановича ![]() |
Автор: | А.П. [ Четверг, 01 Декабрь, 2005 15:04 ] |
Заголовок сообщения: | Есть такая проблема - учить алгоритмизации с нуля |
Уровень учебника должен соответствовать математическому уровню и уровню общего развития обучаемого. Учить началам алгоритмизации пятиклассника, девятиклассника и первокурсника по одной и той же книжке, видимо, невозможно. Для этих категорий должны быть разные книжки. Значительный объем их должны составлять формулировки доступных задач, приемы построения опорных схем ("разрисуем задачу" говорю я своим ученикам, зачитав текст задачи), наброски идей решений, подробный расклад решений на русском (национальном) языке с пошаговым переводом на ЯП, деление задачи на подзадачи. Обязательно должно быть присутствовать множество идеально выписанных, прокомментированных решений нескольких сотен задач и примеров, начиная с самых элементарных типа "Hello, world!". Попутно должны быть рассмотрены приемы управления средой программирования и борьбы с ошибками, привиты навыки внимательного анализа текстов задач, экономии физических усилий (копирования фрагментов, быстрого набора конструкций, отката, подбора подходящего прототипа, использования складок и т.п.), обращения к готовым алгоритмам. Написать хорошую книжку-самоучитель (допустим, под КП/ББ и конкретную категорию учащихся) - очень кропотливая и очень трудоемкая задача. От писателя требуется высокая квалификация в нескольких областях. А писателю нужна ясная перспектива с финансированием и гарантией публикации. Вот и имеем состояние литературы по алгоритмизации... далекое от желаемого начинающими программистами. |
Автор: | Илья Ермаков [ Четверг, 01 Декабрь, 2005 17:41 ] |
Заголовок сообщения: | |
Есть хороший задачник по программированию А. Шеня. Сейчас он, кстати, переиздан. У меня есть старое издание в компьютерном варианте. Очень хорошая вещь, рассматриваются на примерах как начальные, так и серьезные алгоритмы (и синтаксичекий разбор, и комбинаторные задачи, и много чего еще). А при обучении школьников еще очень полезно регулярно показывать "вживую", как пишутся программы. Не рассказывать о решении, а специально брать задачу, которую еще не решал, включать проектор (если он, конечно, есть), и на глазах у них составлять. Размышляя вслух, исправляя, комментируя. Главное, чтобы у преподавателя был хороший отточенный стиль, большой опыт программирования, и каждый свой шаг он подробно объяснял - почему сделал так, а не иначе. |
Автор: | Anton [ Четверг, 01 Декабрь, 2005 17:55 ] |
Заголовок сообщения: | |
Илья Ермаков писал(а): Есть хороший задачник по программированию А. Шеня. Сейчас он, кстати, переиздан. У меня есть старое издание в компьютерном варианте.
А можно мне его? ![]() |
Автор: | Илья Ермаков [ Четверг, 01 Декабрь, 2005 18:08 ] |
Заголовок сообщения: | Re: Еще почти в тему |
Anton писал(а): А иначе условные и циклические операции (не говоря уж о каких то более сложных проектных схемах, как например "событийное управление") остаются для них голыми абстракциями.
Вы не поверите, на том диске для школ от 1С-Microsoft, о котором я в соседней ветке тут писал, обучение языку Visual Basic начинается с ООП и модели событийного программирования. Потом идет изучение кликанья мышкой по формам. Ну, на 15 уроке (я не шучу!) обясняется оператор присваивания. Дальше 3 урока - ветвление, цикл, подпрограммы. Все. Курс окончен. Далее идет переход к изучению 1С Предприятие и Борланд Дельфи (На 2-м занятии там пишется рисование на канве формы - это, типа, так освоили машинную графику, а на 10 занятии школьникам предлагается программировать приложение баз данных. Ну нет, не через SQL, конечно, это так низко ведь, фи... Покидать мышкой контролы на формы под умные слова о первичных и внешних ключах, индексах и т.д.) |
Автор: | Илья Ермаков [ Четверг, 01 Декабрь, 2005 18:09 ] |
Заголовок сообщения: | |
Вот он, задачник Шеня: http://ermakov.metasystems.ru/shen.rar Выкладывать на сайт не буду, все ж таки книга с авторскими правами, хоть и 96 года. |
Автор: | Иван Горячев [ Пятница, 02 Декабрь, 2005 02:14 ] |
Заголовок сообщения: | |
В самостоятельном "дохождении" есть и свои плюсы. Человек совершенно точно знает, почему алгоритм получился именно такой, какой получился. Хотя конечно потом с удивлением обнаруживаешь, что твоё решение, которым ты так гордился, давно описано в какой-то книжке ![]() |
Автор: | А.П. [ Пятница, 02 Декабрь, 2005 08:06 ] |
Заголовок сообщения: | |
Илья Ермаков писал(а): еще очень полезно регулярно показывать "вживую", как пишутся программы. Совершенно верно. Но starant больше говорил о книжках для самостоятельного изучения программирования. Такие книжки, имитирующие диалог с учащимся, писать в самом деле непросто. Цитата: ...Дальше 3 урока - ветвление, цикл, подпрограммы. Все. Курс окончен.
Да уж... Проблема - отбор учебного материала. Сколько и каких примеров необходимо и достаточно разобрать, чтобы (а) языковым конструкциям научить, (б) классические алгоритмы "вбить" в мозги, (в) достаточно (это сколько?) развить логику алгоритмизации, действительно, начиная с изучения русского (родного) языка, (г) приучить к усидчивой, предельно аккуратной работе с каждой "буковкой" задачи и решающей её программы, (д) с особенностями среды программирования подробно ознакомить и научить уверенно в ней работать? Перечисленное называют в целом "мелкой" техникой. Ей можно начинать учить в 5-6 классе. Тогда в старших классах реально будет перейти к "крупной" технике и сложным задачам олимпиадного уровня. |
Автор: | Руслан Богатырев [ Пятница, 02 Декабрь, 2005 13:49 ] |
Заголовок сообщения: | |
Anonymous писал(а): Илья Ермаков писал(а): еще очень полезно регулярно показывать "вживую", как пишутся программы. Совершенно верно. Но starant больше говорил о книжках для самостоятельного изучения программирования. Такие книжки, имитирующие диалог с учащимся, писать в самом деле непросто. Нужны классические учебники по программированию. "Алгоритмы и структуры данных" Вирта в варианте 2004 г. (на Обероне) -- это лишь приближение к идеалу. Цитата из выступления Вирта в Аархусе (2002) "Преподавание информатики: потерянная дорога": Цитата: Несколько месяцев назад я получил просьбу дать список задач, которые я считаю первостепенными для информатики на ближайшие десятилетия. Возможно, создание подобного учебника следовало бы включить в этот список, и может быть даже первым номером. Во всяком случае, эта задача пока не решена.
Много лет Гуткнехт уже собирается написать свой учебник, но у него катастрофически мало времени. Когда я обсуждал с ним этот вопрос в ходе сентябрьского турне, он подтвердил, что хотел бы доделать, но пока тяжеловато... Учебные пособия для разных категорий нужны. Но это, согласитесь, не то, чем была бы настольная книга для программистов. А писать ее должны мэтры... |
Автор: | starant [ Пятница, 02 Декабрь, 2005 14:33 ] |
Заголовок сообщения: | |
Илья Ермаков писал(а): Есть хороший задачник по программированию А. Шеня. Сейчас он, кстати, переиздан.
Видел данную книжку, ничего плохого про нее сказать не могу, однако, я думаю, она полезна тем, кто уже умеет программировать и хочет улучшить и свои познания в программировании. Т.е для новичка в ней нет важного - как самостоятельно находить подход к решению программерских задач. |
Автор: | starant [ Пятница, 02 Декабрь, 2005 14:40 ] |
Заголовок сообщения: | |
Anton писал(а): А как же классика в лице "Алгоритмы и структуры данных" Н.Вирт :D
"Евгений Онегин" - тоже классика русской литературы, но учимся читать по Букварю |
Автор: | starant [ Пятница, 02 Декабрь, 2005 14:52 ] |
Заголовок сообщения: | Re: Еще почти в тему |
Anton писал(а): Почти в тему. :)
Без владения языком, т.е. без нормального описания действий и потребностей пользователя на естественном языке программу не написать (алгоритм не составить). Правильно, в самую точку!!!!!!! Полностью с тобой согласен. Эти золотые слова нужно писать в предисловии к каждому учебнику по программированию. |
Автор: | sacred [ Пятница, 02 Декабрь, 2005 15:47 ] |
Заголовок сообщения: | книги |
Для совсем начинающих, я бы посоветовал книгу К.Боон "Паскаль для всех". Очень доходчиво написано, с картинками ![]() |
Автор: | Сергей Оборотов [ Суббота, 03 Декабрь, 2005 14:31 ] |
Заголовок сообщения: | |
Ivor писал(а): В самостоятельном "дохождении" есть и свои плюсы. Человек совершенно точно знает, почему алгоритм получился именно такой, какой получился. Хотя конечно потом с удивлением обнаруживаешь, что твоё решение, которым ты так гордился, давно описано в какой-то книжке В самостоятельном решении есть только один плюс. Когда нужно найти решение, которое не могло было известно никому. Иначе пустая трата времени.
![]() |
Автор: | Иван Горячев [ Суббота, 03 Декабрь, 2005 16:35 ] |
Заголовок сообщения: | |
GUEST писал(а): В самостоятельном решении есть только один плюс. Когда нужно найти решение, которое не могло было известно никому. Иначе пустая трата времени.
Есть такая штука - опыт. Получается как раз из бесполезных трат времени ![]() |
Автор: | Сергей Оборотов [ Суббота, 03 Декабрь, 2005 21:37 ] |
Заголовок сообщения: | |
Опыта никогда достаточно не бывает, хе-хе. Вопрос в оправдании затраченных усилий и времени. Возможно это не тот опыт который надо приобретать. |
Автор: | Илья Ермаков [ Воскресенье, 19 Февраль, 2006 13:15 ] |
Заголовок сообщения: | |
ОТ МОДЕРАТОРА Создал отдельную ветку "Школьный Алгоритмический Комплекс" http://blackbox.metasystems.ru/forum/vi ... .php?t=118 |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |