Здравствуйте, BulatZiganshin, Вы писали:
ГВ>>Не знаю, как сейчас, но почти всё по этой ссылке было в программе советского технического вуза. За исключением, пожалуй, теории категорий, теории квантовых вычислений, и ещё относительно слабо был подан раздел символических вычислений.
BZ> ну и что вы например изучали по теории типов, теории вычислимости, анализу алгоритмов?
Именно под такими названиями предметов не было, отдельные положения были собраны в других курсах — всё той же прикладной теории цифровых автоматов (ПТЦА) и последующей прикладной математики (ПМ, де-факто включала дискретку). Анализ алгоритмов был, если не ошибаюсь, в курсе системного программирования (не помню уже точно, в каком именно виде). Теория типов в чистом виде, AFAIK, тоже не фигурировала, отдельные моменты были всё в той же ПМ/ДМ.
ГВ>>Ну как, можем мы гордиться своим *компьютерным* образованием? Дозволяешь? BZ>чем меньше знаешь — тем больше гордишься, так что у тебя самые веские основания
Странная у тебя логика. Коль скоро, по твоим словам, "наши" студенты ничего не знают про CS, то они вполне могут гордиться своим образованием в этой области. Так что, вы уж либо трусы наденьте, либо крестик снимите.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>>>Не знаю, как сейчас, но почти всё по этой ссылке было в программе советского технического вуза.
BZ>> ну и что вы например изучали по теории типов, теории вычислимости, анализу алгоритмов?
ГВ>Именно под такими названиями предметов не было, отдельные положения были собраны в других курсах
вот и подумай, почему на вмк подробно изучают какие-нибудь диффуры, но не находят время на профильные предметы. для подсказки — попробуй выяснить что изменилось в программе обучения за те 40 лет, что существуют отдельные вмк-факультеты
Здравствуйте, BulatZiganshin, Вы писали:
ГВ>>>>Не знаю, как сейчас, но почти всё по этой ссылке было в программе советского технического вуза. BZ>>> ну и что вы например изучали по теории типов, теории вычислимости, анализу алгоритмов? ГВ>>Именно под такими названиями предметов не было, отдельные положения были собраны в других курсах
BZ>вот и подумай, почему на вмк подробно изучают какие-нибудь диффуры, но не находят время на профильные предметы. для подсказки — попробуй выяснить что изменилось в программе обучения за те 40 лет, что существуют отдельные вмк-факультеты
А почему это я должен об этом думать? Тем более, что я сам учился на кафедре КиВТ (кибернетика и вычислительная техника) факультета АВТ (автоматика и вычислительная техника), а не на ВМК.
Кстати, между нами, девочками, перечисленные тобой теории, ИМХО, нет смысла выделять в отдельные курсы. Они вполне укладываются в более общие, вроде какой-нибудь "теории вычислительных процессов". Ничуть не умаляю значения, скажем, анализа алгоритмов, но если хорошо представлять себе, что такое граф и его свойства, то, в общем, постижение весьма ускоряется.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>А почему это я должен об этом думать? Тем более, что я сам учился на кафедре КиВТ (кибернетика и вычислительная техника) факультета АВТ (автоматика и вычислительная техника), а не на ВМК.
одним словом, ты и не училося на программиста
ГВ>Кстати, между нами, девочками, перечисленные тобой теории, ИМХО, нет смысла выделять в отдельные курсы. Они вполне укладываются в более общие, вроде какой-нибудь "теории вычислительных процессов". Ничуть не умаляю значения, скажем, анализа алгоритмов, но если хорошо представлять себе, что такое граф и его свойства, то, в общем, постижение весьма ускоряется.
в техничексих вузах таким же макаром изучают и математику. не потому, что "нет смысла подразделять" — просто у них (у вас?) укороченная программа. это вот как раз есть "полгода поучиться достаточно чтобы формочки клепать". в ваших условиях было бы лучше сократить бесполезные предметы и за счёт них изучать во-первых практические ньюансы профессии (тестирование, жизненный цикл, методологии, паттерны...), во-вторых популярные фреймворки — чтобы на выходе из советского вуза получался не полуфабрикат, а реальный специалист, которого не надо лдоучивать и следить за каждым его шагом
университетская программа же должна выключать всё перечисленное на той странице в виде полноценных предметов — опять же за счёт предметов на букву фы
Здравствуйте, BulatZiganshin, Вы писали:
ГВ>>А почему это я должен об этом думать? Тем более, что я сам учился на кафедре КиВТ (кибернетика и вычислительная техника) факультета АВТ (автоматика и вычислительная техника), а не на ВМК. BZ>одним словом, ты и не училося на программиста
Ой, как интересно. А почему?
ГВ>>Кстати, между нами, девочками, перечисленные тобой теории, ИМХО, нет смысла выделять в отдельные курсы. Они вполне укладываются в более общие, вроде какой-нибудь "теории вычислительных процессов". Ничуть не умаляю значения, скажем, анализа алгоритмов, но если хорошо представлять себе, что такое граф и его свойства, то, в общем, постижение весьма ускоряется.
BZ>в техничексих вузах таким же макаром изучают и математику. не потому, что "нет смысла подразделять" — просто у них (у вас?) укороченная программа.
Ты не понял. Теория типов и анализ алгоритмов — это вещи, которые без дискретной математики принципиально нельзя преподавать. Я тебе потому про граф и напомнил.
BZ>это вот как раз есть "полгода поучиться достаточно чтобы формочки клепать". в ваших условиях было бы лучше сократить бесполезные предметы и за счёт них изучать во-первых практические ньюансы профессии (тестирование, жизненный цикл, методологии, паттерны...),
Ключевое из этого тоже было — жизненный цикл, тестирование.
BZ>во-вторых популярные фреймворки — чтобы на выходе из советского вуза получался не полуфабрикат, а реальный специалист, которого не надо лдоучивать и следить за каждым его шагом
Это называется "производственная практика". Альтернатива — НИРС. Ещё одна альтернатива — мы попросту работали начиная где-то с третьего-четвёртого курса.
BZ>университетская программа же должна выключать всё перечисленное на той странице в виде полноценных предметов — опять же за счёт предметов на букву фы
И ещё в университете непременно нужно изучить все модели мониторов, клавиатур и мышек. А то, вдруг, новая попадётся, а выпускник знать не будет, как с ней обращаться.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, mymuss, Вы писали:
M> 1. посчитать сумму элементов целочисленного массива M> 2. найти площадь круга по радиусу M> 3. записать текущую дату в текстовый файл
M>Неправильный ответ на любой из этих вопросов -- автоматическое no hire. Только если правильно и быстро смог ответить на все три вопроса, будем продолжать разговор.
M>Ваше мнение?
Отличное собеседование для проекта связанного с планиметрией, в котором нужно перебирать элементы массивов и результаты пихать в файл. Например — прочитать из файла исходные значения, сделать вычисления площадей, записать обратно в файл и указать дату
Отличный подход.
У меня был период, гдето 4 года на проекте, когда ни разу не было нужды писать код для открытия/закрытия файлов. Во как !
Здравствуйте, SE, Вы писали:
SE>Здравствуйте, mymuss, Вы писали:
CC>>>Да как то с С# у них тоже не фонтан. Имею на данный момент сомнительное удовольствие копаться в коде написанном штатовскими индусами. Индусский С# такое же говно как и индусский С++. Область — финансы.
M>>Вам попалась неудачная команда.
SE>Почему-то вспомнился анекдот. SE>
SE>Секретарь звонит шефу, который едет домой на авто.
SE>- Але, шеф, будьте осторожны на шоссе — там какой то псих несется по встречке!
SE>- Какой-то псих?! Да тут их сотни!!!
SE>Это я к чему. К тому что "неудачная команда" — это так каждый раз получается почему-то. Особенно если в ней есть индусы.
Встречаются нормальные. Правда, их сразу расхватывают Google, MS, IBM etc, прямо с кампуса. Или же они идут в бодишопы типа Infosys, WiPro в надежде, что их вывезут в штаты.
Нам вот удалось набрать довольно неплохую команду, я доволен в целом.
Здравствуйте, Ikemefula, Вы писали:
I>У меня был период, гдето 4 года на проекте, когда ни разу не было нужды писать код для открытия/закрытия файлов. Во как !
Но если бы тебя через 4 года спросили, то ты бы смог сказать open() -> write() -> close(), правда?
Здравствуйте, olegkr, Вы писали:
O>Здравствуйте, mymuss, Вы писали:
M>>Если же базовые математические знания отсутствуют, то даже если он и способен найти в справочнике, сколько времени на это уйдет? O>Замерил секундомером. Секунд 15-30 в зависимости от тормознутости интернета. На мой взгляд ты путаешь незнание (школьную программу проходили все) и забытое за ненадобностью. Я ради эксперимента задал такой вопрос коллеге. Отвечал он примерно в таком духе — pi*r2... или нет pi*d2... или как же его 2*pi*r2... pi*d2/4
Найти ф-лу площади круга, конечно, не составляет труда. Как насчет понимания того, откуда взялся log в оценке сложности quicksort?
Человек со знаниями элементарной математики, конечно, разберется, может не за 15 сек, а за полчаса, но разберется.
А вот человек без знаний элементарной математики? Ну найдет он статью о символах Ландау за 15-30 сек. Сильно поможет?
(Ну что, кто раньше скажет: "И как знание площади круга связано с асимптотической оценкой сложности?")
O>Думаю, если тебе позадавать вопросы по школьной программе, то получим примерно такой же результат. Вот ты вспомнишь все три закона ньютона сходу? Если вспомнишь, то ты либо недавно школу закончил, либо обладаешь воистину энциклопедическим типом памяти :D
Думаю, что по школьной математике ты меня не завалишь. По физике или биологии, возможно. Но мы же говорим об инжинерах.
Здравствуйте, BulatZiganshin, Вы писали:
BZ>[...] лучше сократить бесполезные предметы и за счёт них изучать во-первых практические ньюансы профессии (тестирование, жизненный цикл, методологии, паттерны...)
Значит, в оригинале (в пресловутой институтской программе) тестирование так и называлось — тестированием. В частности, объясняли, что такое тестирование методом граничных условий, что такое тестовое покрытие, тестирование методом "чёрного ящика" и т.п. То есть, само по себе "тестирование" полагалось чем-то само собой разумеющимся и никак особо внимание не привлекающим. Ну да — программа. Ну да — программы нужно тестировать. Ну да, тесты нужно писать с учётом внутреннего устройства проограммы или как минимум предполагая определённый выход в ответ на определённый вход. И кстати, ни одна лабораторка по программированию, по сути, без тестов не обходилась. Напоминаю, что речь идёт приблизительно о периоде 90-92 г.г. прошлого века.
Иными словами, в памяти студентов отложился совершенно банальная и очевидная часть разработки, включающая в себя разработку простенькой модульной программы (о нет! Это — Unit Testing Framework!), и систематическую сборку модулей и тестовые прогоны (нет-нет, типун мне на мой лживый язык! Это — Continuous Integration & The Unit Testing!). Ну понятно, программы бывают сложные, потому при длительной разработке и многочисленных модификациях что-то можно упустить, поэтому ввод-вывод отдельных модулей нужно как-то зафиксировать в других программах, которые можно запустить и проверить — не сломалось ли чего-нибудь. Также очевидно было, например, что если не совсем понятно, как именно программа должна работать, то нужно сделать тестовый набор данных и подогнать алгоритмы под него (прошу прощения за то, что так уничижительно отозвался о Test-Driven Development-е, Ктулху, не ешь мой мозг, пожалуйста!). Занятия эти, разумеется, полагались до определённой степени скучными и нудными, но в то же время не было ни малейших сомнений, что так или иначе всем этим заниматься нужно, про лабораторки я уже сказал.
Велико же было моё удивление (позволю тут себе определённое брюзжание), когда спустя несколько лет я узнал, что:
а) Мои коллеги об этом почти не знают;
б) Тестирование — это искусство и Чёрная Магия;
в) Для постижения этого искусства нужно покупать специальные книги (в которых рассказывалось то же самое, что и на лекциях, которые можно было пересчитать по пальцам одной руки, но гораздо-гораздо многословней);
г) Что (чуть позже) банальное модульное тестирование переобозвали unit-testing-ом и возвели почти в ранг культа;
д) Что за ради постижения этой Чёрной Магии и Эзотерического Искусства нужно выкинуть из институтской программы чуть ли не всю математику и едва ли не ввести отдельный курс.
А всё почему? Потому что в погоне за "скорей-скорей" напрочь похерили сию важную составляющую — работает как-то и фиг с ним. Восстанавливать справедливость пришлось через возведение тестирования в ранг квазирелигии. Только ты уж поверь, нормальным инженерам вся эта "религия", что называется, "нах не впала". За исключением одного применения — оперируя такими визгами можно таки добиться от менеджеров выделения ресурсов на соответствующую работу. Ну если не способен руководитель опираться на знания и трезвые расчёты своих инженеров — пусть делает то же самое под религиозным соусом, нам-то какая разница?! Не мытьём так катаньем добились того, что разрабтка входит в нормальное русло.
А ты говоришь — "практические нюансы", "тестирование".
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, Геннадий Васильев, Вы писали:
ГВ>Здравствуйте, BulatZiganshin, Вы писали:
BZ>>[...] лучше сократить бесполезные предметы и за счёт них изучать во-первых практические ньюансы профессии (тестирование, жизненный цикл, методологии, паттерны...)
ГВ>Значит, в оригинале (в пресловутой институтской программе) тестирование так и называлось — тестированием. В частности, объясняли, что такое тестирование методом граничных условий, что такое тестовое покрытие, тестирование методом "чёрного ящика" и т.п. То есть, само по себе "тестирование" полагалось чем-то само собой разумеющимся и никак особо внимание не привлекающим. Ну да — программа. Ну да — программы нужно тестировать. Ну да, тесты нужно писать с учётом внутреннего устройства проограммы или как минимум предполагая определённый выход в ответ на определённый вход. И кстати, ни одна лабораторка по программированию, по сути, без тестов не обходилась. Напоминаю, что речь идёт приблизительно о периоде 90-92 г.г. прошлого века.
Через 15 лет от этого ничего не осталось. Когда учился в университетской программе вспомнили протестирование один раз (одна лекция) за все 5 лет.
20 лет назад прогресс в IT двигала наука, а теперь двигает бизнес. Для бизнеса нужно больше продавать, качеством обеспокоены совсем мало, вот и забыли все про тестирование.
Здравствуйте, gandjustas, Вы писали:
G>Через 15 лет от этого ничего не осталось. Когда учился в университетской программе вспомнили протестирование один раз (одна лекция) за все 5 лет.
Печально. Теории в тестировании, конечно, немного, но не до такой же степени. Интересно, чем заменили.
G>20 лет назад прогресс в IT двигала наука, а теперь двигает бизнес. Для бизнеса нужно больше продавать, качеством обеспокоены совсем мало, вот и забыли все про тестирование.
Чёрта-с-два забыли! Наоборот, упёрлись со всего маху.
Я, конечно, несколько утрировал, когда сказал, что совсем забыли о тестировании. Нет, не столько забыли, сколько не уделяли ему достаточного внимания, которое сейчас сменилось гипервниманием. Тестирование, конечно, тоже требует мастерства и обрастает своим фольклором, но до науки, ИМХО, ему далеко, если не скрестить с психологией. А так, теория в тестировании всё та же, что и в "обычном" программировании — те же графы, матрицы, автоматы и т.п. Ну сам посуди, что такое спарка тестовой программы и тестируемой программы? Это просто две взаимодействующие программы. Всё. Осталось назвать некоторые распространённые приёмы тестирования (черный ящик, белый ящик, нагрузочное, автоматизированное...) — и побежали обратно к теории графов.
Я знаю только две бесконечные вещи — Вселенную и человеческую глупость, и я не совсем уверен насчёт Вселенной. (c) А. Эйнштейн
P.S.: Винодельческие провинции — это есть рулез!
Здравствуйте, mymuss, Вы писали:
M>Здравствуйте, Ikemefula, Вы писали:
I>>У меня был период, гдето 4 года на проекте, когда ни разу не было нужды писать код для открытия/закрытия файлов. Во как !
M>Но если бы тебя через 4 года спросили, то ты бы смог сказать open() -> write() -> close(), правда?
Ужас
Все Ваши вопросы смахивают только одно: определить, залётный это тип, случайно попавший на собеседование, или нет. Прямо детский сад какой-то.
Здравствуйте, mymuss, Вы писали:
M>Здравствуйте, olegkr, Вы писали:
O>>Здравствуйте, mymuss, Вы писали:
M>>>Если же базовые математические знания отсутствуют, то даже если он и способен найти в справочнике, сколько времени на это уйдет? O>>Замерил секундомером. Секунд 15-30 в зависимости от тормознутости интернета. На мой взгляд ты путаешь незнание (школьную программу проходили все) и забытое за ненадобностью. Я ради эксперимента задал такой вопрос коллеге. Отвечал он примерно в таком духе — pi*r2... или нет pi*d2... или как же его 2*pi*r2... pi*d2/4
M>Найти ф-лу площади круга, конечно, не составляет труда. Как насчет понимания того, откуда взялся log в оценке сложности quicksort? M>Человек со знаниями элементарной математики, конечно, разберется, может не за 15 сек, а за полчаса, но разберется.
M>А вот человек без знаний элементарной математики? Ну найдет он статью о символах Ландау за 15-30 сек. Сильно поможет?
M>(Ну что, кто раньше скажет: "И как знание площади круга связано с асимптотической оценкой сложности?")
Ну и зачем оно мне, спрашивается? Я за 10 лет такие задачи не решал.
Ах да, может они когда-нибудь понадобятся. Когда появятся, буду решать. Займет некоторое время гуглекопания. В итоге всё вернется к стандартам.
В бизнесе такие скилы не нужны. Бабл сорт заменив на квиксорт не принесет +10% доходности. Вы не космическими технологиями занимаетесь. Вы меня ещё про ряды Фурье спросите или о функции Лагранжа.
Здравствуйте, mymuss, Вы писали:
M>Здравствуйте, Ikemefula, Вы писали:
I>>У меня был период, гдето 4 года на проекте, когда ни разу не было нужды писать код для открытия/закрытия файлов. Во как !
M>Но если бы тебя через 4 года спросили, то ты бы смог сказать open() -> write() -> close(), правда?
> Встречаются нормальные. Правда, их сразу расхватывают Google, MS, IBM etc, прямо с кампуса. Или же они идут в бодишопы типа Infosys, WiPro в надежде, что их вывезут в штаты. > > Нам вот удалось набрать довольно неплохую команду, я доволен в целом.
Здравствуйте, mymuss, Вы писали:
M>Ну а как проверить знание элементарной математики?
Хм. Ну а зачем? Вы там программистов нанимаете или математиков? Разве это так трудно — разделить предметную область и усадить за нее аналитиков-математиков и реализацию — и занять последней уже программистов?
ЗЫ: это категорически не только к математике относится — к любой предметной области относится: в чем смысл пытаться поиметь программиста, дабы он в предметной области разбирался настолько?
Здравствуйте, mymuss, Вы писали:
M>Думаю, что по школьной математике ты меня не завалишь. По физике или биологии, возможно. Но мы же говорим об инжинерах.
Да, конечно. А для физиков и биологов софт не иначе поеты пишут.
Здравствуйте, The Lex, Вы писали:
M>>Думаю, что по школьной математике ты меня не завалишь. По физике или биологии, возможно. Но мы же говорим об инжинерах.
TL>Да, конечно. А для физиков и биологов софт не иначе поеты пишут.
Есть такая профессия: аналитик предметной области. Вот они как правило в предметной области и разбираются. Это как раз их обязанность.
А у программиста основное направление точные науки. О них и речь шла.