Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет kouzdra ([info]kouzdra)
@ 2007-07-03 01:08:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Стандарт для CS
Что должен знать студент CS курсу к третьему:

1) логику - исчисление предикатов etc. Интуиционистскую, позитивную etc логики и всякую с этим связанную херню. То есть не столько знать в деталях, сколько понимать что там и к чему. "Конструктивная математика" идет лесом. Что еще - теоретико-модельные доказательства непротиворечивости и прочей фигни. Минимальные представления об исчислении предикатов высших порядков - в математике это ни на хер не надо, а вот в CS - надо. etc

2) Бестиповое лямбда-исчисление. С подробностями - как минимум до нумералов Черча, теоремы Черча-Россера и прочей фигни. Типизированное лямбда исчисление - как минимум на уровне результатов о завершаемости. Дальше вдоль книжки Барендрегта. Фиг его знает докуда. Как миниимум - до typing ala Church и ala Curry.

3) Теория категорий - хотя бы в объеме вот этого ликбеза: Basic Category Theory for Computer Scientists provides a straightforward presentation of the basic constructions and terminology of category theory, including limits, functors, natural transformations, adjoints, and cartesian closed categories.
Год издания: 1991


Как-то так: подчеркиваю - это никакая не "суперпередовая наука". Это базовый стандарт уже лет 10-15 как (как анализ или общая топология) без которого просто будет невозможно статьи по специальности читать. Как-то так.

PS: Зачем это нужно - чтобы не впадать в ступор при виде страницы из такой вот статьи (про .NET, между прочим - продукт Microsoft Research)- там никаких откровений нет - проходная техническая статья:



(Добавить комментарий)


[info]qwerty
2007-07-03 06:42 (ссылка)
Не понятно, на самом деле. Я бы эту страницу с удовольствием пропустил, потому как вряд ли она что-то добавляет к содержанию. Сиянсы все же не наука, а прикладное инженерное искусство с вкраплением дисциплинок, которые в принципе могли бы во что-то развиться, но шансов тому мало.

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

Ты же, собственно, можешь факультативно почитать и посмотреть, как публика к тому отнесется.

(Ответить) (Ветвь дискуссии)


[info]kouzdra
2007-07-03 09:45 (ссылка)
Тут я бы тоже пропустил. Я и статью эту на самом деле пропустил по диагонали - потому что проходная и .NET еще в достаточной степени на коленке сделан - там особынх наворотов нет.

А вот про если бы был нормальный текст про генерическую жабу, я бы такую страничку как раз бы в основном и читал. Потому как там уже наворот сплошной, и прочитать пару страничек такого гораздо проще, чем словоблудие в Language Reference, которое к тому же ни черта еще толком и не определяет.

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

Что до читать - кое-что просто приходится рассказывать, потому что объяснить, почему типовая система даже уже у ML именно такая без этого сложно. А объяснить как такие вещи придумываются и вовсе нельзя.

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

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]qwerty
2007-07-03 10:38 (ссылка)
Но и призывать поток этих профессиональных математиков читать указанные тобой предметы - занятие гораздо более бесполезное. Можно прочитать самому, можно подбить на это начинание небольшую компанию, можно потом подвести итоги и публично поделиться опытом. Больше, по-моему, ничего сделать нельзя.

Много, конечно, таким способом не прочитаешь, но если в процессе отсылать к внешним источникам, все, кому интересно, сами найдут и научатся. Ибо интернет.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]kouzdra
2007-07-03 10:58 (ссылка)
Но и призывать поток этих профессиональных математиков читать указанные тобой предметы - занятие гораздо более бесполезное

Дык это понятно. Оно и плохо. Их если и притянуть - они вместо этого всякую хрень про рекурсивные функции и множества ломанутся рассказывать.

Можно прочитать самому, можно подбить на это начинание небольшую компанию, можно потом подвести итоги и публично поделиться опытом. Больше, по-моему, ничего сделать нельзя.

Так это делалось. В компании меня, Мити Ломова и Димы Булычева. Результат - умеренно положительный. Собственно, что забавно, что я это притащил и оно как-то прижилось. Просто уровень соотвествующий.

но если в процессе отсылать к внешним источникам, все, кому интересно, сами найдут и научатся. Ибо интернет

Это не так просто найти. Потому что пипл, который этим занимается, как раз про это статей естественно не писал, потому как там все давно уже написано. А в связном виде, заточенном под это дело учебники только сейчас начали появляться - когда в общем все уже придумано. Ну как обычно. И опять же - в формате "для чайников".

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]qwerty
2007-07-03 11:22 (ссылка)
Так это делалось. В компании меня, Мити Ломова и Димы Булычева. Результат - умеренно положительный. Собственно, что забавно, что я это притащил и оно как-то прижилось. Просто уровень соотвествующий
Насчет уровня - это не так и плохо. "Хорошо излагает тот, кто хорошо расчленяет" :)

Насчет интернета - слабо верится, на самом-то деле.

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

(Ответить) (Уровень выше)


[info]ppkk
2007-07-05 22:31 (ссылка)
Привет тогда Мите Ломову, если ещё идёт общение, он мой однокурсник (я Пётр Косаревский).
Мне казалось, что он постоянно работает в IntelliJ. Что он на матмехе/околотеркоме делает?

По сути чего-нибудь собираюсь ответить в стиле "Россия — родина слонов", ибо многое (не про функциональное программирование) выглядит очень знакомо, похоже на изучавшееся на общих курсах. Когда прочитаю подробнее (и книжки отечественные взгляну), напишу.

(Ответить) (Уровень выше)


[info]tristes_tigres
2007-07-04 02:39 (ссылка)
Ни слова про арифметику с плавающей точкой и анализ ошибок. Боятся этого дела компьютерные учёные и программисты до колик.

(Ответить)


[info]dmitri83
2007-07-04 15:26 (ссылка)
по сравнению с math curriculum как-то слишком мало ) К тому же для понимания этой статьи не пригодится (для статьи на самом деле нужно только не пугаться при виде правил типизации, смысл которых понятен и без всякого бэкграунда).

(Ответить)

Прокомментируйте, пожалуйста:
[info]dimiii.livejournal.com
2007-07-12 17:03 (ссылка)
>>Минимальные представления об исчислении предикатов высших порядков - в математике это ни на хер не надо, а вот в CS - надо. etc

Очень интересно.

(Ответить)