Открыть список
Как стать автором
Обновить

Комментарии 51

Пожалуйста, прокомментируйте свои ответы — что кто конкретно учил, в каком объеме и так далее.

Вопрос возник из спора в одном из топиков Хабра на тему «Нужны ли хабрааудитории доступные статьи по theoretical CS или это все суета, достаточно топиков-туториалов с практическими примерами, без матбазы и общего применения». Очень был бы признателен вашей точке зрения и на эту тему.

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

У меня не IT, но техническое образование (мехмат, физик и т.д.). В нем был курс дискретной математики и theoretical CS.
Не знаю что тут и комментировать.

А статьи нужны, и доступные и очень доступные, ибо хабр читают не только те кто уже умный, но и те кто хотят таковыми стать… (опять же те кто получили диплом что они умные, не факт что умные на самом деле, и не факт что не хотят таковыми стать)
Мое мнение никакие топики не заменят математики, все эти топики это пустое. И научить чему-то в топиках невозможно, ни практическим примерам, ни математике тем более.
Если у человека есть интерес к алгоритмической области, он пойдет и купит себе книжку, но на хабре невозможно этому научить все это профанация.
Не заменят, но успешно дополнят (немаловажный фактор в любом обучении)
Да кто бы спорил, конечно статьи читать нужно, я имел ввиду что читать не на хабре. Здесь статья по функану будет нелепа выглядеть на фоне дюкньюкема или топика про то, как правильно принимать душ.
Ну, если статьи про душ вам кажутся ближе к тематике этого сайта, дело ваше.
Хотя я не против бы почитать про что нибудь поближе к IT
Статьи про душ или про светильники это и есть тематика этого сайта. Я же это не выдумал, можно посмотреть ленту, и увидеть что на самом деле людей интересует. Не хочу никого обидеть, я сам очень люблю контрастный душ ))
Сюда нужны толковые популярные лекции, что бы читались интересно, и чтобы типа про науку в них было. Чего-то серьезного сюда не надо.
Серьезного или нет, это зависит от целевой аудитории, а вот надо или не надо, ИМХО «надо»
Ну вот вам надо, мне надо, но нас двое. Я вот не стал бы писать для нас двоих статью, или делать перевод. Мне как автору, хотелось бы, я понимаю что мысль корыстная, но убивать неделю на написание толковой статьи, что-бы ее прочитало 2 человека? Увы. А вот написать популярную лекцию вполне имеет смысл. И мне даже захотелось написать такую по доказательству теоремы Геделя.
Нас двое сейчас. Статья же будет висеть не один час, и даже не один день. Очень велики шансы, что найдётся и третий, и даже четвёртый читатель.
буду третьим!:)
Надо или не надо — решать не вам и не мне. Все будет понятно по голосованию и рейтингу статьи.
Топики будут опорой, стимулом — на их основе параллельно изучается еще много интересных книг.
Топик- это около 20 % информации, если не знаешь о чем пишет автор, а дальше сам).
С одной стороны нужны — скажем, для тех, кому это ново или хочет повторить.
С другой стороны — объем топика настолько мал, что ты или самые основы расскажешь или слишком по верхам пройдешься. Но этого может хватить, чтобы заинтересовать человека в более глубоком изучении.
Учил в полном объёме. Доступные статьи нужны. Уже многое не помню :)
Было всё из перечисленного, специальность «программное обеспечение выч.техники и автоматизированных систем».

Не помню только предмета с названием «теория сложности».
Функциональное и логическое программирование было на не очень глубоком уровне.
Еще были курсы «Методы принятия решений», всякая нечёткая логика и т.д.

В посчитал что ответ — У меня IT-образование, я учил theoretical CS на базовом уровне, «по верхам». Было больше практики, разных технологий и т.д.
Статьи нужны. Несмотря на то, что «теоретики жгут», нормальной практики без теории не бывает. Да и серьезной и сложной, а соответственно самой интересной практики не бывает без хорошей теории. Поэтому с удовльствием почитал бы подобные статьи.
НЛО прилетело и опубликовало эту надпись здесь
ну не сказать чтобы «в достаточно большом объеме и подробно», но были почти все курсы из перечисленного.
Мм. КПИ, физтех. Дискретная математика была как отдельный годовой курс, теория алгоритмов фигурировала как «алгоритмы и структуры данных» на один семестр, автоматы и языки были, но, кажется, в рамках дискретки, функционального программирования было аж одно случайное упоминание Haskell на 5 курсе (это, кстати, большой минус, до сих пор на него толком перестроиться не могу).

С другой стороны, практики тоже было не особо, упор делался на физику и совсем-жутко-теоретические предметы из математики.
Среди прочего были «Теория алгоритмов и рекурсивных функций», «Теория графов», «Теория чисел». Хорошо помню какое большое впечатление на меня произвела машина Тьюринга и теорема Гёделя о неполноте арифметики Пеано. На первом курсе целый год изучали Pascal. Термин «дискретная математика» у нас не использовался. 1990-1994 гг.
А я с детства мечтал понять как эта теорема доказывается. Я знал о чем эта теорема, но доказать ее мозгов не хватало, и когда до меня доперло что такое геделевская нумерация, я был просто счастлив целую неделю наверное))
Сейчас на 4 курсе, специальность — компьютерная безопасность. Потихоньку проходим все круги ада, начиная от «информатики» (основы комбинаторики и прочее), потом дискретная математика и комбинаторика, еще мат. логика и теория алгоритмов плюс алгебраические системы. В принципе уже было все из перечисленного в первом пункте опроса. Объемы достаточные, но не хватало понятности, да и не всегда настрой был на эти предметы. Было бы неплохо наверно почитать что-нибудь на эту тему.
Тихоокеанский Государственный Университет. Специальность — ПО. Из перечисленного только дискретка, плюс теория компиляторов и конечные автоматы.
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Тут нужно учитывать, что для каждого «объем» — понятие растяжимое. Для наших немногочисленных девочек «объем», например, тервера или матлогики был огромен, а мне наоборот казалось, что дают слишком поверхностно.

Но раз уж вам для статистики — НГТУ АВТФ специальность ПО. Читали всё из перечисленного.
Матмех УрГУ, специальность «компьютерные науки»:
дискретки (включая автоматы и сложность), кодинга много; алгоритмов не очень много; теория языков — семестровый поверхностный курс; фунпрога не было вообще.

Технион, факультет компьютерных наук:
охват более широкий, но всё более поверхностно. Алгоритмов больше; сложность — необязательный спецкурс; фунпрог — несколько лекций и одна лабораторная.
Удивлен, что большинство голосует за достаточный объем, по-моему в вузовскую программу столько не влезет, особенно со всяким побочным хламом, типа культурологии, ОБЖ и т.п. Да и преподавателей хороших не хватает, а это тоже влияет. Нам, например, аспиранты преподавали и ФП и много чего еще, они конечно сами шарили (вроде ;), но преподаватели из них были не очень…
ЮФУ ФВТ. Специальность «Информационные системы и технологии».

У нас сейчас (3 курс) есть предмет «Теория информационных процессов и систем». Предмет сделан по спекам 10тилетней давности. Туда входит «Теория информации», «Теория управления», «Общая теория систем», понятия модели, процесса, анализ свойств, поведения. И это без хорошей базы математики (дискретка «по верхам» (один год), комбинаторика «по верхам» (пол года), чуть матанализа, теорию графов нормально не дали).

По языкам: pascal (первый курс), c/c++ (самое полезное) и asm (второй), html (третий, деградируем), php (четвёртый, это типо на хлеб заработать что ли?). Может будет java (стараюсь учить собственными силами) или c#. Хотя языки — скорее практика, чем теория

Есть ещё факультет МехМат: там больше математики, языки почти те же.
Государственный Университет Информатики и Искусственного Интеллекта(Украина, Донецк).
Специальность: Программное Обеспечение Автоматизированных систем.
Направление: Компьютерные науки.

Учили все из перечисленного в первом пункте + теорию сетевых технологий. Практика программирования занимала примерно столько же часов, сколько и теория. Единственный минус: все изученное тем или иным образом уже устаревшее.

По изученным технологиям: 1 курс: Pascal, C. 2 курс: C++, WinAPI, asm, 3 курс: HTML, JS, программирование сокетов, OpenGL. 4 курс: Lisp, Prolog, UML. В магистратуре сейчас начали учить PHP, Java, MFC, COM. Остальное так по мелочи.

А вот ребята на курс младше меня уже учатся по направлению «Программная инженерия». Там намного больше практики чем у нас.
НЛО прилетело и опубликовало эту надпись здесь
А русского аналога «theoretical computer science» не существует? Очень сильно глаза режет вот такое встраивание английских слов в русские предложения
Про себя напишу, что в бытность мою студентом учил в достаточно большом объеме все выше перечисленное, кроме функционального программирования. ТГНГУ (Тюмень).
Адекватного перевода названия этой науки нет, как парадоксально это ни звучит :)
То, что по-русски принято называть «информатика», описывает более общий класс наук и областей, чем computer science, которая занимается, так сказать, теорией алгоритмизации и математической моделью программирования.

Например, в русской традиции изучение архитектуры ПК принято относить к информатике. Но это не computer science.
А вот оценка времени работы алгоритмов относится к таковой.
Есть хороший термин «компьютерные науки», это просто дословный перевод. Но он в русском языке как-то менее прижился.
«У меня IT-образование, я учил theoretical CS на базовом уровне, „по верхам“.» И практика — по верхам… :(
НЛО прилетело и опубликовало эту надпись здесь
ВУЗ в Германии в городе Фуртванген

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

ах да еще, теорию сетевых технологий с практикой программирования этих самых

в практике: С++, Java, добровольно C#,

и такое как Software Quality, Software Engineering, Project Management
БГТУ (Белгородский Государственный Технологический Университет имени В.Г. Шухова).
Специальность «Программное обеспечение вычислительной техники и автоматизированных систем».
Было все.
Дискретная математика — 1 семестр.
теория алгоритмов (Структуры и алгоритмы обработки данных) — 2 семестра.
теория автоматов и языков — семестра 2: 1 семестр «Теория вычислительных процессов» + 1 семестр теории языков программирования.
теория сложности — так таковой не было. Были элементы курсе «Структуры и алгоритмы обработки данных».
Функциональное программирование (Функциональное и логическое программирование) — 1 семестр.

Но плюс к этому было очень много других теоретических курсов («Мат.логика», «Компьютерная графика», «Операционные системы» (именно теория, практикой в администрировании занимались), «Методы и алгоритмы исследования операций», «Методы и средства защиты информации», СППР и т.д.).

И причем халявы по специальным предметам практически не было.
Черниговский государственный технолонический университет (ЧГТУ)
Факультет: электронных и информационных технологий
Направление: Компьютерная инженерия

На первом курсе изучали алгоритмы и структуры данных — сортировки, деревья (бинарные, RB) и их балансировку, списки, очереди, стеки, ПОЛИЗ, в общем необходимый минимум.

На втором курсе изучали:
— Прикладная теория цифровых автоматов — триггеры, дешитфраторы, мультиплексоры, построение ЦА, оптимизация и т.д.
— Алгоритмы и методы вычислений — алгоритм Дейкстры, Симплекс метод, алгоритм Флёри, методы решения транспортной задачи, задачи коммивояжера
— Дискретная математика — булева алгебра, алгебра множеств, минимизация, формальные системы( совсем чуть-чуть)

Сейчас учим:
— Объектно-ориентированный анализ
— Объектно-ориентированное программирование

Будем учить:
— Методы трансляции
— Моделирование
— ИИ
— Технологии проектирования программных систем

Относительно технологий и языков — Delphi, C++, Assembly, Java, C#, Win32, *nix, .NET, Qt. Насколько знаю, есть факультатив по VoIP.
Hardware — ПЛИС, МК (ARM, TMSXXX, MC51 и другие)

Короче говоря, учиться очень интересно :)
IT образование, брал дискретную математику но добровольное и особо не знаю что такое theoretical computer science :).

Ответил тут, потомучто, volodymyr — завидую, и половины из того что тут перечисленно — у меня небыло… Хотя самому тоже интересно разбиратся.
Не хватает пункта
— У меня не IT, но техническое образование (мехмат, физик и т.д.). В нем был курс дискретной математики, но не было theoretical CS.

Я — математик, закончил физ.мат. специальность математика (КПИ, Киев, Украина). Дискретной математики было очень много, но «theoretical CS»… если не ошибаюсь, то один семестр были какие-то основы компьютерной науки, где максимум сортировку пузырьком писали на паскале. Никаких теорий алгоритмов и т.д.

Зато мат. логика, теория доказательств и т.д. — т.е. «чистая математика» (у нас отдельный был факультет — «прикладная математика», где уже были теории алгоритмов).
Заканчиваю Самарский Аэрокос, специальность информатика. Учил и дискретку (2 семестра), и матстат, и тервер, была алгоритмика, но зачастую уже для какого-то языка. Были паттерны, но в изложении на яве.
Computer Science B.SC. Университет Бен Гуриона в Негеве. 1994-1997. Портом неза конченая Master Degree там же (во время армии начинал :) )
Было мало практического (ну было, напримерк компилятор писали, но не достатончно) и много теории.
Преподавали люди знающие теорию, но не знающие хайтека. Про соурс контроль на первой работе узнал
Даешь статьи по CS на хабр!
Матфак, специальность — математика. Дискретная математика была, само собой. Программирование на паскале пару семестров.
Я так понимаю вам могут быть интересны и видеозаписи лекций по Computer Science. Мы как раз опубликовали архив питерского клуба. Там много именно теории.

Вот мой топик об этом.

habrahabr.ru/blogs/community_life/105002
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.