OberonCore
https://forum.oberoncore.ru/

Хабаровский учебник по КП
https://forum.oberoncore.ru/viewtopic.php?f=80&t=1710
Страница 16 из 20

Автор:  Владислав Жаринов [ Понедельник, 22 Август, 2011 12:50 ]
Заголовок сообщения:  Re: Некоторые замечания по "Решению..."

Оказывается, пропустил замечание по Гл.22... добавил во всё то же сообщение.

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

Автор:  Владислав Жаринов [ Среда, 24 Август, 2011 09:44 ]
Заголовок сообщения:  Re: Хабаровские учебники по КП и ИТ-инженерия

Драконограф в viewtopic.php?f=80&t=1710&p=64478#p64478 писал(а):
...
Тем более, что содержательную классификацию всех возможных задач и логически сомнительно построить.
...
Вот из одной популярной книжки выдержка, содержащая обоснование этому - в этом сообщении. М.б. какому-нибудь учню, сомневающемуся в утверждениях из выдержки отсюда, будет полезно... :)

Автор:  Info21 [ Среда, 24 Август, 2011 09:50 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП

ИТ-профессионалы страшно любят употреблять словосочетание "искусство программирования". Хотя в подавляющем большинстве случаев речь идет о ремесле.

Автор:  Владислав Жаринов [ Среда, 24 Август, 2011 10:00 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП

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

Автор:  vvp [ Пятница, 26 Август, 2011 01:14 ]
Заголовок сообщения:  Re: Некоторые замечания по "Решению..."

Драконограф писал(а):
Лишний раз отмечу, что книга хороша. Само изложение задач интересно (и в сравнении с повторами некоторых из них в последующих книгах). Впрочем, это, наверное, потому, что по идее она занимает иное место в "ядре", чем "КП с нуля" и "Искусство алгоритмизации"


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

Автор:  kemiisto [ Пятница, 26 Август, 2011 10:40 ]
Заголовок сообщения:  Re: Некоторые замечания по "Решению..."

vvp писал(а):
Полагаю, что любой анализ начинается с разбиения задач на какие-то классы. [...] Например задачи решаемые перебором, но допускающие какую-то оптимизацию. Или например задачи кажущиеся переборными, но возможна красивая идея полностью уводящая от перебора. Или задачи сводимые к более простой (не разбиению на простые, а именно сводимые). Впрочем такая классификация не самоцель. Я просто сейчас подбираю задачи для книги и смотрю может ли такая классификация получится. если получится, то хорошо, если нет, то и ладно. Единственно чего там не будет точно, это классов вроде "задачи решаемые вот таким-то алгоритмом". Основная идея книги такая же, как и "Решения сложных задач". Что делать, если решение нельзя прочитать в хорошей книжке.

Напоминает подход, используемый в книге Анания В. Левитина "Алгоритмы: введение в разработку и анализ".

Автор:  Владислав Жаринов [ Воскресенье, 28 Август, 2011 21:20 ]
Заголовок сообщения:  Re: Некоторые замечания по "Решению..."

vvp писал(а):
...
Я и беру её за основу для книги "Поиск решения", но я хочу внести некоторое усовершенствование, кроме отладки текстов я хочу внести некоторую первичную систематизацию задач.
...
Впрочем такая классификация не самоцель. Я просто сейчас подбираю задачи для книги и смотрю может ли такая классификация получится. если получится, то хорошо, если нет, то и ладно. Единственно чего там не будет точно, это классов вроде "задачи решаемые вот таким-то алгоритмом". Основная идея книги такая же, как и "Решения сложных задач". Что делать, если решение нельзя прочитать в хорошей книжке.
Собственно, область такая, что "единственно верного пути" нет. Лишь бы не было противоречия с текущим состоянием науки... ну и с общим методом научного поиска, который, видимо, уже имеет устоявшееся определение. :)

Возвращаясь к инженерии и общим принципам. В "Искусстве алгоритмизации" их обоснование начинается от требований к инфопрогизделию. Стоит попробовать ввести единую для всех сторон систему показателей. Конечно, детальные достаточно сложны (можно видеть в этом посте). Но есть простой укрупнённый перечень:
    * экономичность - с учётом гарантоспособности понимается в широком смысле - как термин "показатель эффективности" здесь;
    * функциональность - способность при нормальных условиях продуцировать заданные результаты в требуемых объёмах;
    * сбалансированность - согласование интерфейсов друг с другом и с архитектурными компонентами;
    * масштабируемость - возможность нарастить производительность без переделок изделия.
Во многом у Вас уже есть формулировка в этих терминах. Вот масштабируемость можно уточнить как возможность и просто наращивать количественно - и качественно расширять. Второе может подразумевать:
    * переход от единоличного пользования к коллективному (совместное ведение массивов данных в истории изменений, включая рецензирование/исправление);
    * переход от локальной платформы к распределённой (с различной политикой распределения данных - централизация, частичная/полная децентрализация).
И как эти качества обеспечивать (в общем, прежде всего архитектурно). Это было бы ценно.

Автор:  vvp [ Вторник, 30 Август, 2011 04:58 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП

Я некоторое время вынашиваю идею. Курс это хорошо. Тут я как бы уверен, что он получится, будет неплох и займет свое место в учебно-методической литературе. Но я не чистый методист, я практик и если я считаю, что нашел сильную методическую идею, то она должна найти сильное практическое выражение. Так вот я хочу собрать небольшую группу человек 5 старших ребят и не просто их хорошо научить, а подвести к реальной задаче, сформировать из них коллектив, который эту задачу решить сможет и решит. Эксперимент длиной в 2-4 года. Я частично к проблеме в такой постановке уже подходил. Первая попытка была с уже готовыми спецами. Я где-то рассказывал, что у меня есть клуб бывших учеников в рамках которого я организую постоянное общение, но не обмен соплями о интересном прошлом, а именно профессиональное общение. Была пара попыток создать такой коллектив из них. Принципиально кооперация получилась, но до завершенного результата не дошли, так как каждый в принципе уже при деле и при разных интересах. Есть хороший опыт организации таких коллективов из мелких ребят на 2-3 человека для решения очень трудоемких, больших задач, но все же учебного характера.

Автор:  Валерий Лаптев [ Вторник, 30 Август, 2011 08:14 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП

Таким образом это будет еще и книжка по управлению разработкой ПО? Если так, то кроме поиска решения там надо еще и отладку с тестированием писать. Тестирование - с стиле TDD хорошо бы. Никто не писал, кроме Кента Бека и его соратников...

Автор:  vvp [ Вторник, 30 Август, 2011 08:36 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП

Валерий Лаптев писал(а):
Таким образом это будет еще и книжка по управлению разработкой ПО? Если так, то кроме поиска решения там надо еще и отладку с тестированием писать. Тестирование - с стиле TDD хорошо бы. Никто не писал, кроме Кента Бека и его соратников...


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

Автор:  Владислав Жаринов [ Вторник, 30 Август, 2011 08:48 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП

Валерий Лаптев писал(а):
Таким образом это будет еще и книжка по управлению разработкой ПО? Если так, то кроме поиска решения там надо еще и отладку с тестированием писать.
...
Я понял так Виталия Валерьевича, что поиск решения - одна книга, а инженерная разработка/документирование процессов/приложений (пользуясь терминологией Дмитрия_ВБ) решения - другая. Это мне кажется правильным. Но следуют общей для "ядра" идее, это да.
Книга по инж-РДП, пожалуй - первая для читателей курса среди "хороших книжек, в которых можно найти решение" - раз - и как решение реализовать гарантоспособно - два. Ну а книга по поиску - "что делать, если ни там, ни в других книжках решение не нашёл". Имеется в виду содержательная идея решения, я так понимаю.
Хотя скорее первая книга "ядра" (по языку и искусству "говорения алгоритмами и структурами данных для конкретного исполнителя" на нём) должна быть, чтобы "поискать в ней решение".
А книга по инж-РДП может рассматривать конкретный проект, охватывающий все ключевые свойства приложений - вроде как писал при разборе "Локальной СУБД..." в этом сообщении, а также в этом. И тут идея с экспериментальной разработкой её материала - самое то. И управление версиями и другие задачи управления можно отработать.

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

Между прочим, по ответам Валерия в этой теме мне всё больше кажется, что такой редактор, как делается под его руководством, Вам тоже был бы полезен... прежде всего в инженерной работе именно. Вот только управление версиями и сопряжение не только с компилятором, но и с верификатором (по файлам исхтекстов) там важно.

Автор:  vvp [ Вторник, 30 Август, 2011 08:58 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП

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

Автор:  Владислав Жаринов [ Вторник, 30 Август, 2011 09:06 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП

vvp писал(а):
...
В "С нуля" над более четко пояснить зачем нужны несколько циклов и хочу добавить параграф о цикле Дейкстры. Некоторое время назад я наткнулся на очень эффектный пример из которого сам понял, что цикл не академическая выдумка. И может быть следует ввести некоторые термины. Например инвариант цикла. Систематически внедрять терминологию я в принципе там не буду, но может быть некоторые стоит.
Ну да... те понятия, с которыми должен пройти и "по курсу", и "по жизни в ИТ", конечно, лучше вводить как можно раньше... а потом раскрывать их новые аспекты. Инвариант и ЦД - это, очевидно, из тех самых. :)
А зачем нужны несколько циклов (структуры ПОКА и ДО как частные случаи гибридного, я так понимаю)?..

Автор:  vvp [ Вторник, 30 Август, 2011 09:41 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП

Драконограф писал(а):
А зачем нужны несколько циклов (структуры ПОКА и ДО как частные случаи гибридного, я так понимаю)?..



Да все так.

Автор:  Владислав Жаринов [ Вторник, 30 Август, 2011 10:12 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП

vvp писал(а):
Драконограф писал(а):
А зачем нужны несколько циклов (структуры ПОКА и ДО как частные случаи гибридного, я так понимаю)?..
Да все так.
Была тут дискуссия в этой теме и не только, по-моему... ещё тут, нужно ли оставить только цикл WHILE... или, напротив, ввести какие-то расширенные конструкции... Мне интересна точка зрения что "ветвление - чтобы написать больше действий, чем будет выполнено, а цикл - чтобы написать меньше" (частично присутствует здесь), а в отношении ЦД - что это "обобщение цикла" (вроде как тут), а также "универсальная программа" (каждый оборот - новое действие как тело ЦД-ветви в развёртывании исполнения; можно развернуть любую цепочку действий)... но у Вас, очевидно, есть своё представление и методы изложения. :)

Автор:  Владислав Жаринов [ Среда, 31 Август, 2011 06:29 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП

vvp в viewtopic.php?p=65141#p65141 писал(а):
...я не чистый методист, я практик и если я считаю, что нашел сильную методическую идею, то она должна найти сильное практическое выражение. Так вот я хочу собрать небольшую группу человек 5 старших ребят и не просто их хорошо научить, а подвести к реальной задаче, сформировать из них коллектив, который эту задачу решить сможет и решит. Эксперимент длиной в 2-4 года.
...
Драконограф в viewtopic.php?p=65145#p65145 писал(а):
...
Между прочим, по ответам Валерия в этой теме мне всё больше кажется, что такой редактор, как делается под его руководством, Вам тоже был бы полезен...
Такая мысль: а если как реальную задачу для Вашего эксперимента взять написание компилятора к языку структурного редактора? Если нужна также упрощённая постановка - пусть для начала он работает из командной строки с файлом исхтекста и просто делает прогу. А в перспективе - интеграция с редактором в "структурный ББ". Конечно, нужно согласие сторон на интеграцию разработок (в частности, в редакторе д.б. возможность трансляции в исхтекст), а также чтобы стандарт прогязыка устоялся...

Автор:  Валерий Лаптев [ Среда, 31 Август, 2011 13:27 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП

Драконограф писал(а):
vvp в viewtopic.php?p=65141#p65141 писал(а):
...я не чистый методист, я практик и если я считаю, что нашел сильную методическую идею, то она должна найти сильное практическое выражение. Так вот я хочу собрать небольшую группу человек 5 старших ребят и не просто их хорошо научить, а подвести к реальной задаче, сформировать из них коллектив, который эту задачу решить сможет и решит. Эксперимент длиной в 2-4 года.
...
Драконограф в viewtopic.php?p=65145#p65145 писал(а):
...
Между прочим, по ответам Валерия в этой теме мне всё больше кажется, что такой редактор, как делается под его руководством, Вам тоже был бы полезен...
Такая мысль: а если как реальную задачу для Вашего эксперимента взять написание компилятора к языку структурного редактора? Если нужна также упрощённая постановка - пусть для начала он работает из командной строки с файлом исхтекста и просто делает прогу. А в перспективе - интеграция с редактором в "структурный ББ". Конечно, нужно согласие сторон на интеграцию разработок (в частности, в редакторе д.б. возможность трансляции в исхтекст), а также чтобы стандарт прогязыка устоялся...

У нас компилятор - не нужен.
Максимум - конвертер. Я в теме о редакторе уже приводил сохраняемый вид программ.
Хочу добавить, что вышла новая книжка Мартина Фаулера по DSL - и судя по всему наш редактор может служить полигоном для обкатки идей создания и реализации DSL. Во всяком случае, пока не видать противопоказаний.

Автор:  vvp [ Четверг, 01 Сентябрь, 2011 02:20 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП

Здесь планировать задачу нельзя. Очень многое зависит от конкретных ребят, их интересов, наклонностей и т.д.

Автор:  Владислав Жаринов [ Четверг, 01 Сентябрь, 2011 05:23 ]
Заголовок сообщения:  Re: Хабаровский учебник по КП

Это да. Независимо от этого концепция, заложенная в структурный редактор, как я её понял, хороша в обучении информатизации (не только с целью программирования). В силу прежде всего таких вещей:
    * ограничения "комбинирования" операторов языка (чтобы значительно уменьшить поле "приматического", о чём уже писал здесь);
    * возможность графового представления зависимостей между архитектурными единицами.
Второе тем более важно, когда концепция информатизации предполагает много мелких единиц (программных процедур в данном случае). Тогда и та же визуализация важнее не для текста единиц, а именно для системы их связей (которая, конечно, вытекает из текста программы). Для того же техноязыка уже указывалось, что это становится проблемой. И решается она отдельными формами представления зависимостей.
    Для примера достаточно взглянуть, какая схема связей по вызовам получается для гетерогенной очереди Свердлова - в этом посте. А сами процедурки простенькие - большинство, можно сказать, "инлайновые" (если я верно понимаю этот термин).
    То же для "неформальной программы" из этого примера - процедурный состав невелик, а схема вызовов достаточно развитая - см. здесь.
И это ещё нет зависимостей через обмен сообщениями и сохранения/извлечения. И не отражены взаимодействия по вводу/выводу. В таких условиях визуализация только текста процедур ещё не улучшает эргономику представления информодели как целого. Поэтому то, что в редакторе оставлена только текстовая форма для самих процедур, в принципе не так существенно - главное, чтобы любые возможные зависимости можно было посмотреть графово. Для каждой категории (состав которых предварительно очерчен здесь), разумеется, свой тип и язык схем (и при принятом экранном интерфейсе, очевидно, своя вкладка в экранной форме проекта).
Не знаю, правда, предполагается ли визуализация всех этих категорий в данном редакторе?

Автор:  Владислав Жаринов [ Воскресенье, 04 Сентябрь, 2011 08:56 ]
Заголовок сообщения:  Re: Некоторые замечания по "Решению..."

vvp в viewtopic.php?p=65148#p65148 писал(а):
...
В "С нуля" над более четко пояснить зачем нужны несколько циклов и хочу добавить параграф о цикле Дейкстры. Некоторое время назад я наткнулся на очень эффектный пример из которого сам понял, что цикл не академическая выдумка.
...
Насчёт структурности (и циклов тоже) тут было, оказывается, бодалово очень развёрнутое... см. ссылки из этого поста. :)

Драконограф в viewtopic.php?p=65175#p65175 писал(а):
...
А сами процедурки простенькие - большинство, можно сказать, "инлайновые" (если я верно понимаю этот термин).
...
Наверное, всё-таки неверно - если судить по молчаливому одобрению изложенного в этом посте. ;)

Драконограф в viewtopic.php?p=65106#p65106 писал(а):
...
Вот масштабируемость можно уточнить как возможность и просто наращивать количественно - и качественно расширять.
...
Как-то упустил, что с количественным масштабированием тоже есть вопросы - см. хотя бы в этом посте. Вероятно, учни чего-то должны знать на этот случай. :)

Страница 16 из 20 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/