Очень сильно.
Если с точки зрения контента: материал гораздо более продвинутый.
Если с точки зрения организации: для студента из Москвы это вообще очные курсы (со всеми бенефитами). Для заочников преимуществом перед MOOC'ами является оперативный и более адресный фидбек от преподавателей. С другой стороны, некоторые «техники» онлайн курсов, определённо, не помешали бы.
куда дальше, яндекс?
Разумеется, Яндекс организовал школу не потому что денег много, а для того, чтобы получать квалифицированные кадры. С другой стороны, никто не обязывает отработать на Я в принудительном порядке n лет «в расплату», можно и стартапы делать, и в гугл пойти.
Но зачем? Основная масса полезного материала всегда будет на английском. С экономической точки зрения выгоднее вложиться в изучение языка, чем поддерживать переводы.
Действительно, они используют HMM для оценки понимания студентом предмета и даже написали по этому поводу пару слов здесь:
It is possible to apply a hidden Markov model (HMM) to predict student retention in a MOOC; this was done, in particular, with edX’s course “CS169.1x—Software as a Service” [5]. Hidden Markov models can provide strong predictions of student behavior; in one example, a hidden Markov model—trained, as in the proposed project, via the Baum–Welch algorithm—did a better job of predicting student behavior in an e-Learning context than did a neural net [3].
Выглядит привлекательно. Интересно, можно ли получить какой-либо профит от интеграции такого подхода в классическую систему образования…
а так же написал бэкенд, являющийся модифицированным кодом Khan Academy, интегрированным в нашу платформу, построенную на алгоритмах скрытых Марковский моделей и адаптивного обучения
Очень интересно, а для чего всё это использовалось? Какую задачу решало?
Смотря для чего.
Как уже выяснили дальше в комментариях, вполне возможно, что исходный код
if ( strncmp(var->fexternal, "cintf", 4)==0 )
так и задуман. Тогда он выглядит легитимно. Можно заменить литерал на константу и тогда уже использовать litlen.
Про свой вариант я писал ещё в самом начале ветки: поверх предложенного в статье подхода навесить ещё один макрос вида
Нет, не стало. «Связанность» этих двух строк всё равно приходится поддерживать программисту, дублируя одну и ту же информацию. И корень проблемы именно в этом, а не в том, заметна ошибка или нет / сложно её допустить или нет.
Да и два одинаковых строковых литерала куда заметнее
Вы правда думаете, что на код кто-то смотрит? Немало ошибок, описаных в статье, «заметны для человека» (см., например, первый пример в блоке «Неправильные сообщения об ошибках»), но тем не менее, мы их наблюдаем. Не стоит надеяться, что раз что-то требует лишь пары нажатий Ctrl+C и Ctrl+V, то оно будет сделано.
if ( strncmp(var->fexternal, "cintf", litlen("cintf"))==0 )
Так лучше-то не стало. Теперь надо заново вводить строчку, в которой тоже можно запросто опечататься. Надо тогда и на это макрос навесить (а-ля litcmp)
Визуализация вычислений сложных функций с помощью Matplotlib и Mayavi
Под сложностью функции здесь подразумевается сложность восприятия результатов (много данных, данные по множеству параметров и т.п.)
Стандарт IEEE 754 гарантирует, что для целых чисел, сохраненных в виде вещественного числа
Каких именно целых чисел? 10^300 тоже целое число, но представить точно 10^300+1 в 64 битах не получится.
Более того, в JS Math.pow(2,63) == Math.pow(2,63)-1 (как и в Питоне (2.0**63+1) == (2.0**63)), т.е. точности double не хватит даже для int64 (что, разумеется, очевидно из того, что их битовая ёмкость одинакова).
Чем описание списка fib не алгоритм? По-моему, ясно видно, что первыми двумя элементами являются единицы, а для получения следующих следует вызвать zipWith с соответствующими параметрами.
Если даже «решать уравнение», то что будет решением такого уравнения?
Спасибо, но я не хочу «на пальцах». Я хочу строго и формально, ибо Ваше «естественным образом» для меня не очевидно.
то может повезти и вычисляя f(f(.....f(f(x0))....)) мы будем приближаться в решению уравнения.
Что значит «приближаться» (Опять же, формально, пожалуйста)? Теорема Банаха о неподвижной точке требует не просто топологического пространства, а полного метрического, да ещё и оператор должен быть сжимающим. Вот в этом случае повезёт, да.
Так зачем Haskell'у решать это «уравнение», если он ленивый? И что Вы считаете решением? Интуитивно решением считается вся последовательность чисел Фибоначчи, которая немного великовата для хранения. У Haskell'а есть определение, по которому можно генерировать новые элементы списка по мере необходимости. Зачем что-то решать?
Так как на бесконечных последовательностях естественным образом определяется топология, Haskell может решить это уравнение методом проcтых итераций (через оператор неподвижной точки).
Простите, что? Какая топология? Что за оператор неподвижной точки? Что значит «решить уравнение», если решением является бесконечная последовательность целых чисел?
Если с точки зрения контента: материал гораздо более продвинутый.
Если с точки зрения организации: для студента из Москвы это вообще очные курсы (со всеми бенефитами). Для заочников преимуществом перед MOOC'ами является оперативный и более адресный фидбек от преподавателей. С другой стороны, некоторые «техники» онлайн курсов, определённо, не помешали бы.
Разумеется, Яндекс организовал школу не потому что денег много, а для того, чтобы получать квалифицированные кадры. С другой стороны, никто не обязывает отработать на Я в принудительном порядке n лет «в расплату», можно и стартапы делать, и в гугл пойти.
Выглядит привлекательно. Интересно, можно ли получить какой-либо профит от интеграции такого подхода в классическую систему образования…
Как уже выяснили дальше в комментариях, вполне возможно, что исходный код так и задуман. Тогда он выглядит легитимно. Можно заменить литерал на константу и тогда уже использовать litlen.
Про свой вариант я писал ещё в самом начале ветки: поверх предложенного в статье подхода навесить ещё один макрос вида
Вы правда думаете, что на код кто-то смотрит? Немало ошибок, описаных в статье, «заметны для человека» (см., например, первый пример в блоке «Неправильные сообщения об ошибках»), но тем не менее, мы их наблюдаем. Не стоит надеяться, что раз что-то требует лишь пары нажатий Ctrl+C и Ctrl+V, то оно будет сделано.
По-моему, здесь всё-таки визуализируются комплекснозначные функции.
Более того, в JS
Math.pow(2,63) == Math.pow(2,63)-1
(как и в Питоне(2.0**63+1) == (2.0**63)
), т.е. точности double не хватит даже для int64 (что, разумеется, очевидно из того, что их битовая ёмкость одинакова).И да, Вы упорно уходите от задания топологии (которая якобы вполне етественна) и определения решения уравнения. С чего бы, интересно?
Если даже «решать уравнение», то что будет решением такого уравнения?
И что там с топологией?
Что значит «приближаться» (Опять же, формально, пожалуйста)? Теорема Банаха о неподвижной точке требует не просто топологического пространства, а полного метрического, да ещё и оператор должен быть сжимающим. Вот в этом случае повезёт, да.
Так зачем Haskell'у решать это «уравнение», если он ленивый? И что Вы считаете решением? Интуитивно решением считается вся последовательность чисел Фибоначчи, которая немного великовата для хранения. У Haskell'а есть определение, по которому можно генерировать новые элементы списка по мере необходимости. Зачем что-то решать?
наркотиков, вестимо.