Вопросы с тегом «didactics»

Дидактические инструменты и методы, особенно подходящие для обучения компьютерным наукам

13
Как обмануть эвристику «попробуй несколько тестов»: алгоритмы, которые кажутся правильными, но на самом деле неверны
Чтобы попытаться проверить, является ли алгоритм для какой-либо проблемы правильным, обычная отправная точка состоит в том, чтобы попытаться запустить алгоритм вручную на нескольких простых тестовых примерах - попробуйте на нескольких примерах проблемных примеров, включая несколько простых «угловых случаев ». Это отличная эвристика: это отличный способ быстро отсеять множество неверных попыток …

5
Каковы причины для изучения различных алгоритмов / структур данных, служащих одной и той же цели?
Я задавался вопросом об этом вопросе, так как я был студентом. Это общий вопрос, но я приведу примеры ниже. Я видел много алгоритмов - например, для задач с максимальным потоком я знаю около 3 алгоритмов, которые могут решить эту проблему: Ford-Fulkerson, Edmonds-Karp & Dinic, причем Dinic имеет лучшую сложность. Для …

2
на «О жестокости по-настоящему преподавания информатики»
Дейкстра в своем эссе « О жестокости реального обучения информатике» предлагает следующее предложение для вводного курса по программированию: С одной стороны, мы учим тому, что похоже на исчисление предикатов, но делаем это совсем не так, как философы. Чтобы обучить начинающего программиста манипулированию неинтерпретируемыми формулами, мы учим его больше как булевой …

3
Обучение NP-полноте - сокращения Тьюринга против сокращений Карпа
Меня интересует вопрос о том, как лучше всего преподавать NP-полноту специальностям информатики. В частности, должны ли мы учить этому, используя сокращения Карпа или сокращения Тьюринга? Я чувствую, что концепции NP-полноты и сокращения - это то, что должен изучать каждый специалист по информатике. Однако, когда я учил NP-полноте, я заметил, что …

4
Как обмануть сюжетную проверку эвристики?
Над здесь , Дэйв Кларк предложил , что для того , чтобы сравнить асимптотический рост вы должны построить функции под руку. Как теоретик, склонный к компьютерным наукам, я называю (ed) это vodoo, поскольку заговор никогда не является доказательством. Во-вторых, я должен согласиться с тем, что это очень полезный подход, который …

3
Что такое интуитивный способ объяснить и понять закон де Моргана?
Закон де Моргана часто вводится во вводный курс по математике для информатики, и я часто вижу в нем способ превращения утверждений из И в ИЛИ путем отрицания терминов. Есть ли более интуитивное объяснение, почему это работает, а не просто запоминание таблиц истинности? Для меня это похоже на использование черной магии, …

4
Quicksort объяснил детям
В прошлом году я читал фантастическую статью «Квантовая механика для детского сада» . Это была не простая бумага. Теперь мне интересно, как объяснить быструю сортировку простейшими словами. Как я могу доказать (или, по крайней мере, вручную), что средняя сложность равна , и каковы лучшие и худшие случаи для класса детского …

3
Логические ворота из повседневных материалов
Логические вентили - это абстрактное устройство, которое может быть реализовано с помощью электромагнитных реле, вакуумных ламп или транзисторов. Эти реализации были успешными в вычислениях отчасти из-за различных свойств цепочки, долговечности и размера, выходящих за рамки их базовой двоичной стабильности. Они также хорошо работают, потому что электричество является источником энергии, который …

6
Какие части линейной алгебры используются в информатике?
Я читал Линейную Алгебру и ее Приложения, чтобы помочь понять материал информатики (главным образом машинное обучение), но я обеспокоен тем, что большая часть информации не полезна для CS. Например, знание того, как эффективно решать системы линейных уравнений, не кажется очень полезным, если вы не пытаетесь запрограммировать новый решатель уравнений. Кроме …

6
Нахождение максимального XOR двух чисел в интервале: можем ли мы сделать лучше, чем квадратичное?
Предположим, нам даны два числа и и мы хотим найти для .lllrrrmax(i⊕j)max(i⊕j)\max{(i\oplus j)}l≤i,j≤rl≤i,j≤rl\le i,\,j\le r Наивный алгоритм просто проверяет все возможные пары; например, в ruby ​​у нас будет: def max_xor(l, r) max = 0 (l..r).each do |i| (i..r).each do |j| if (i ^ j > max) max = i ^ …

1
Советы по обучению с использованием Live Coding
Я участвую в первом курсе по программированию и алгоритмам. В недавней лекции я решил представить материал, используя живое кодирование , что по сути означало, что я сижу за клавиатурой, пишу код и оцениваю его, используя emacs для облегчения процесса. Это было довольно успешно, и студенты прокомментировали, насколько они оценили более …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.