Темы докладов для сорока трёх студентов
Студентов 31 (без отчисленной Миланы) и каждый делает 2 разных доклада за семестр, и еще 4 доклада во втором семестре итого 6 доклады:
уникальные темы.
Студент берет тему соотвествующий его номеру по порядку в журнале (без отчисленной Миланы) и делее свой номер +31, +62,+93 и тд
Охватить все существующие алгоритмы невозможно: область постоянно развивается и число специализированных алгоритмов практически неограниченно. Но предложенные темы охватывают основные семейства классических и современных вычислительных методов, численной линейной алгебры, интерполяции, интегрирования, дифференциальных уравнений, оптимизации, стохастических методов, обработки сигналов, поиска, сортировки, структур данных и графовых алгоритмов.
|
Доклад |
Доклад |
Доклад |
Доклад |
|
1. Числа с плавающей точкой, машинная точность, абсолютная и относительная погрешность |
44. Интерполяция Лагранжа |
87. Градиентный спуск |
130. Стек и алгоритмы вычисления выражений, польская и обратная польская запись |
|
2. Обусловленность вычислительной задачи и устойчивость алгоритма |
45. Интерполяция Ньютона с разделёнными разностями |
88. Градиентный спуск с momentum |
131. Очередь, дек и кольцевой буфер |
|
3. Метод половинного деления для нелинейных уравнений |
46. Интерполяция Ньютона по конечным разностям |
89. Ускорение Нестерова |
132. Односвязные и циклические списки |
|
4. Метод простой итерации и условия сходимости |
47. Интерполяция Эрмита |
90. Метод Ньютона в оптимизации |
133. Двусвязные списки и операции над ними |
|
5. Метод Ньютона для нелинейного уравнения |
48. Линейные и кусочно-линейные сплайны |
91. Quasi-Newton, BFGS и L-BFGS |
134. Skip list и вероятностно сбалансированный поиск |
|
6. Модифицированный метод Ньютона |
49. Кубические сплайны |
92. Координатный спуск |
135. Двоичное дерево поиска |
|
7. Метод секущих |
50. B-сплайны и базисные функции |
93. Метод золотого сечения |
136. AVL-деревья |
|
8. Метод regula falsi, Illinois и Pegasus |
51. Кривые Безье как вычислительный метод аппроксимации |
94. Одномерный метод Брента для минимизации |
137. Красно-чёрные деревья |
|
9. Метод Деккера и метод Брента для поиска корня |
52. Метод наименьших квадратов и полиномиальная аппроксимация |
95. Nelder–Mead |
138. Куча и очередь с приоритетом |
|
10. Схема Горнера и устойчивое вычисление многочленов |
53. Ортогональные многочлены и аппроксимация Чебышёва |
96. Метод сопряжённых градиентов как оптимизационный метод |
139. Префиксное дерево Trie |
|
11. Численное нахождение всех корней многочлена методом Durand–Kerner |
54. Минимаксная аппроксимация и алгоритм Ремеза |
97. Line search: Armijo и условия Wolfe |
140. Хеш-таблица и методы разрешения коллизий |
|
12. Метод Aberth–Ehrlich для корней многочлена |
55. Численное дифференцирование: правые, левые и центральные разности |
98. Trust-region методы |
141. Фильтр Блума |
|
13. Метод Гаусса |
56. Формулы численного дифференцирования высокого порядка |
99. Симплекс-метод линейного программирования |
142. Система непересекающихся множеств Union–Find |
|
14. Метод Гаусса с частичным выбором главного элемента |
57. Метод complex-step для численного дифференцирования |
100. Методы внутренней точки для линейного программирования |
143. Последовательный поиск и поиск с барьером |
|
15. Метод Гаусса–Жордана |
58. Экстраполяция Ричардсона |
101. Транспортная задача и потенциалы |
144. Бинарный поиск |
|
16. LU-разложение |
59. Формула левых, правых и средних прямоугольников |
102. Венгерский алгоритм задачи о назначениях |
145. Интерполяционный и экспоненциальный поиск |
|
17. Разложение Холецкого |
60. Метод трапеций |
103. Квадратичное программирование |
146. Quickselect и статистики порядка |
|
18. LDLᵀ-разложение |
61. Метод Симпсона |
104. Проецируемый градиентный метод |
147. Сортировка вставками |
|
19. QR-разложение отражениями Хаусхолдера |
62. Формулы Ньютона–Котеса |
105. Proximal gradient |
148. Сортировка выбором, пузырьковая и cocktail sort |
|
20. QR-разложение вращениями Гивенса |
63. Адаптивный метод Симпсона |
106. ADMM |
149. Сортировка Шелла |
|
21. Метод прогонки для трёхдиагональной системы |
64. Интегрирование Ромберга |
107. Имитация отжига |
150. Сортировка слиянием |
|
22. Итерационный метод Якоби |
65. Квадратуры Гаусса |
108. Генетические алгоритмы |
151. Быстрая сортировка |
|
23. Метод Гаусса–Зейделя |
66. Квадратуры Гаусса–Кронрода |
109. Дифференциальная эволюция |
152. Introsort и гибридные сортировки |
|
24. Метод верхней релаксации SOR |
67. Квадратуры Clenshaw–Curtis |
110. Particle Swarm Optimization |
153. Heapsort |
|
25. Метод сопряжённых градиентов для СЛАУ |
68. Несобственные интегралы и преобразования переменной |
111. Ant Colony Optimization |
154. Counting sort |
|
26. GMRES |
69. Многомерное численное интегрирование |
112. Линейные конгруэнтные генераторы псевдослучайных чисел |
155. Radix sort |
|
27. BiCG и BiCGSTAB |
70. Интегрирование Монте-Карло |
113. Современные PRNG: xorshift/xoshiro/PCG |
156. Bucket sort |
|
28. Степенной метод нахождения собственного значения |
71. Квазимонте-Карло и последовательности низкой расходимости |
114. Метод обратной функции для генерации случайных величин |
157. Внешняя сортировка больших данных |
|
29. Обратные итерации |
72. Метод Эйлера для ОДУ |
115. Rejection sampling |
158. BFS |
|
30. Итерация Рэлея |
73. Улучшенный метод Эйлера |
116. Box–Muller |
159. DFS |
|
31. QR-алгоритм собственных значений |
74. Метод средней точки и метод Хойна |
117. Цепи Маркова |
160. Топологическая сортировка |
|
32. SVD |
75. Метод Рунге–Кутты четвёртого порядка |
118. Metropolis–Hastings |
161. Сильно связные компоненты: Косарайю |
|
33. Число обусловленности матрицы |
76. Адаптивные методы Рунге–Кутты RK45 |
119. Gibbs sampling |
162. Сильно связные компоненты: Тарьян |
|
34. Метод наименьших квадратов: нормальные уравнения против QR |
77. Методы Adams–Bashforth |
120. Bootstrap и jackknife |
163. Алгоритм Дейкстры |
|
35. Псевдообратная матрица Мура–Пенроуза |
78. Методы Adams–Moulton и predictor–corrector |
121. Стохастический градиентный спуск |
164. Bellman–Ford |
|
36. Разреженные матрицы: COO, CSR и CSC |
79. BDF для жёстких ОДУ |
122. k-means |
165. Floyd–Warshall |
|
37. Итерационное уточнение решения СЛАУ |
80. Численные методы для жёстких систем ОДУ |
123. k-medoids |
166. A* |
|
38. Суммирование Кэхэна, Neumaier и попарное суммирование |
81. Метод стрельбы для краевой задачи |
124. PCA и его вычисление через SVD |
167. Prim |
|
39. Интервальная арифметика |
82. Конечно-разностное решение краевой задачи |
125. DFT |
168. Kruskal |
|
40. Арифметика произвольной точности |
83. Уравнение теплопроводности: явная и неявная схемы |
126. FFT Cooley–Tukey |
169. Максимальный поток: Ford–Fulkerson и Edmonds–Karp |
|
41. Многомерный метод Ньютона |
84. Численное решение волнового уравнения |
127. Быстрая свёртка и корреляция через FFT |
170. Dinic и двудольное паросочетание |
|
42. Метод Бройдена |
85. Уравнения Лапласа и Пуассона: конечно-разностные методы |
128. FIR/IIR-фильтры и численная обработка сигнала |
171. Динамическое программирование: рюкзак, LCS и редакционное расстояние |
|
43. Gauss–Newton и Levenberg–Marquardt |
86. Метод конечных элементов, конечных объёмов и метод линий: сравнительный обзор |
129. Wavelet-преобразование, PageRank и степенные итерации |
172. Backtracking, N-Queens, branch-and-bound, TSP и сравнение сложности переборных методов |
Такое распределение : первый доклад студента посвящён главным образом численной алгебре или нелинейным уравнениям, второй — аппроксимации, интегрированию или дифференциальным уравнениям, третий — оптимизации, вероятностным и вычислительным методам, четвёртый связывает всё это с алгоритмами и структурами данных.
Обязательная структура каждого доклада
Реферат не должен превращаться в пять механически скопированных реализаций. Для каждого метода студент обязан пройти одну и ту же последовательность:
Постановка задачи → математическая идея → псевдокод (plantUML и диаграммы или Mermaid ко и диаграммы) → C → C++ при необходимости → JavaScript → Go → Rust → Python → одинаковые тестовые данные → сравнение результата → сравнение времени → сложность → численная ошибка → вывод.
Для численного метода обязательны:
-
математическая формула;
-
условия применимости;
-
критерий остановки;
-
абсолютная/относительная ошибка;
-
вопрос сходимости;
-
пример, где метод работает плохо;
-
вычислительный эксперимент минимум на трёх наборах параметров.
Для дискретного алгоритма:
-
вход и выход;
-
инвариант либо идея корректности;
-
временная сложность;
-
пространственная сложность;
-
лучший/средний/худший случай, когда это имеет смысл;
-
тест на граничных данных.
Требование по пяти языкам и пяти колонкам
Для каждого алгоритма идет таблица.
Первая:
|
C/C++ |
JavaScript |
Go |
Rust |
Python |
|
|
|
|
|
|
Далее текстом
|
Формула/псевдокод |
Результаты теста |
Анализ |
|
алгоритмический смысл |
одинаковые входные данные |
сложность, ошибка, особенности |
Так сохраняются:
-
все пять языков в таблице из 5 колонок;
-
возможность визуально сравнивать код построчно — аналогичные строки должны находиться напротив и генерировать;
-
математический и экспериментальный анализ.
Если принципиально требуется одна таблица, остаётся менее удачный вариант:
|
C/C++ |
JavaScript |
Go |
Rust |
Python |
|
|
|
|
|
|
но тогда требование «код разных языков напротив друг друга» выполняется хуже.
Форматирование реферата
Можно закрепить буквально:
Основной материал реферата оформляется в книжной(вертикальной) ориентации, без лист полей (минимальные поля) . Сравнительные части представляются таблицами по четыре колонки. Основной шрифт таблиц — Tahoma, 6 pt, межстрочный интервал — одинарный, вертикальное положение листа, интервалы перед и после абзаца — 0 pt. Внутри ячеек запрещены искусственные пустые строки. Названия языков и алгоритмов выделяются полужирным. Код набирается текстом, а не изображением.
Обязательно экспортировать в pdf и приложить docx, а также источники (если не нарушаются авторские права) к письму - сами файлы, чтобы мы их могли полистать.
Скриншоты (не меньше 15 скринов текста + скрины обложек источников или ресурсов) и использование ИИ
генеративный ИИ важно тоже использовать
Разрешается использовать ИИ для:
-
объяснения синтаксических различий;
-
первоначального текстового черновика;
-
перевода идеи алгоритма между языками.
-
генерации аналогичных примеров кода на разных языках
-
генерации связного текта всеобъемлящего, который уже потом вручную студентом наполняется скринами подходящими с целью верификации и иузчения существующих источников, а также тренеровки применения научного подхода (сбор и анализ источников, обобщение, компиляция, интерпретация, анализ и тд)
Но студент обязан самостоятельно проверить:
-
формулы;
-
код;
-
результаты;
-
названия методов;
-
ссылки;
-
сложность.
Каждый реферат должен содержать реальные изображения/скриншоты из нескольких независимых источников:
-
страницы официальной документации;
-
фрагменты книг и документации разработчика;
-
результат работы программы;
-
графики;
-
схемы;
-
интерфейс компилятора/браузера.
Под каждым изображением:
Источник: автор/организация, название материала, год.
Скриншот не заменяет ссылку на источник.
Полезно добавить раздел:
Использование генеративного ИИ: название системы, цель использования, какие части проверены автором.
Это не снижает роль студента, а заставляет отличать генерацию текста от проверенного вычислительного результата.
Процедурный стиль сравнительных реализаций
В C желательно использовать:
double bisection(
double (*f)(double),
double left,
double right,
double eps
);
В JavaScript:
function bisection(f, left, right, eps) {
// ...
}
В Go:
func bisection(
f func(float64) float64,
left float64,
right float64,
eps float64,
) float64 {
// ...
}
В Rust:
fn bisection(
f: fn(f64) -> f64,
mut left: f64,
mut right: f64,
eps: f64,
) -> f64 {
// ...
}
В Python:
def bisection(f, left, right, eps):
# ...
pass
Именно такая постановка позволяет сравнивать алгоритмическую идею, а не особенности объектных моделей языков.
Современный стандарт C — ISO/IEC 9899:2024; он определяет синтаксис, семантику и правила интерпретации программ на C. Для сравнительных работ это хороший нормативный языковой ориентир. [5]
Источники для псевдокода
Темы докладов для сорока трёх студентов
Студентов 31 (без отчисленной Миланы) и каждый делает 2 разных доклада за семестр, и еще 4 доклада во втором семестре итого 6 доклады:
уникальные темы.
Студент берет тему соотвествующий его номеру по порядку в журнале (без отчисленной Миланы) и делее свой номер +31, +62,+93 и тд
Охватить все существующие алгоритмы невозможно: область постоянно развивается и число специализированных алгоритмов практически неограниченно. Но предложенные темы охватывают основные семейства классических и современных вычислительных методов, численной линейной алгебры, интерполяции, интегрирования, дифференциальных уравнений, оптимизации, стохастических методов, обработки сигналов, поиска, сортировки, структур данных и графовых алгоритмов.
|
Доклад |
Доклад |
Доклад |
Доклад |
|
1. Числа с плавающей точкой, машинная точность, абсолютная и относительная погрешность |
44. Интерполяция Лагранжа |
87. Градиентный спуск |
130. Стек и алгоритмы вычисления выражений, польская и обратная польская запись |
|
2. Обусловленность вычислительной задачи и устойчивость алгоритма |
45. Интерполяция Ньютона с разделёнными разностями |
88. Градиентный спуск с momentum |
131. Очередь, дек и кольцевой буфер |
|
3. Метод половинного деления для нелинейных уравнений |
46. Интерполяция Ньютона по конечным разностям |
89. Ускорение Нестерова |
132. Односвязные и циклические списки |
|
4. Метод простой итерации и условия сходимости |
47. Интерполяция Эрмита |
90. Метод Ньютона в оптимизации |
133. Двусвязные списки и операции над ними |
|
5. Метод Ньютона для нелинейного уравнения |
48. Линейные и кусочно-линейные сплайны |
91. Quasi-Newton, BFGS и L-BFGS |
134. Skip list и вероятностно сбалансированный поиск |
|
6. Модифицированный метод Ньютона |
49. Кубические сплайны |
92. Координатный спуск |
135. Двоичное дерево поиска |
|
7. Метод секущих |
50. B-сплайны и базисные функции |
93. Метод золотого сечения |
136. AVL-деревья |
|
8. Метод regula falsi, Illinois и Pegasus |
51. Кривые Безье как вычислительный метод аппроксимации |
94. Одномерный метод Брента для минимизации |
137. Красно-чёрные деревья |
|
9. Метод Деккера и метод Брента для поиска корня |
52. Метод наименьших квадратов и полиномиальная аппроксимация |
95. Nelder–Mead |
138. Куча и очередь с приоритетом |
|
10. Схема Горнера и устойчивое вычисление многочленов |
53. Ортогональные многочлены и аппроксимация Чебышёва |
96. Метод сопряжённых градиентов как оптимизационный метод |
139. Префиксное дерево Trie |
|
11. Численное нахождение всех корней многочлена методом Durand–Kerner |
54. Минимаксная аппроксимация и алгоритм Ремеза |
97. Line search: Armijo и условия Wolfe |
140. Хеш-таблица и методы разрешения коллизий |
|
12. Метод Aberth–Ehrlich для корней многочлена |
55. Численное дифференцирование: правые, левые и центральные разности |
98. Trust-region методы |
141. Фильтр Блума |
|
13. Метод Гаусса |
56. Формулы численного дифференцирования высокого порядка |
99. Симплекс-метод линейного программирования |
142. Система непересекающихся множеств Union–Find |
|
14. Метод Гаусса с частичным выбором главного элемента |
57. Метод complex-step для численного дифференцирования |
100. Методы внутренней точки для линейного программирования |
143. Последовательный поиск и поиск с барьером |
|
15. Метод Гаусса–Жордана |
58. Экстраполяция Ричардсона |
101. Транспортная задача и потенциалы |
144. Бинарный поиск |
|
16. LU-разложение |
59. Формула левых, правых и средних прямоугольников |
102. Венгерский алгоритм задачи о назначениях |
145. Интерполяционный и экспоненциальный поиск |
|
17. Разложение Холецкого |
60. Метод трапеций |
103. Квадратичное программирование |
146. Quickselect и статистики порядка |
|
18. LDLᵀ-разложение |
61. Метод Симпсона |
104. Проецируемый градиентный метод |
147. Сортировка вставками |
|
19. QR-разложение отражениями Хаусхолдера |
62. Формулы Ньютона–Котеса |
105. Proximal gradient |
148. Сортировка выбором, пузырьковая и cocktail sort |
|
20. QR-разложение вращениями Гивенса |
63. Адаптивный метод Симпсона |
106. ADMM |
149. Сортировка Шелла |
|
21. Метод прогонки для трёхдиагональной системы |
64. Интегрирование Ромберга |
107. Имитация отжига |
150. Сортировка слиянием |
|
22. Итерационный метод Якоби |
65. Квадратуры Гаусса |
108. Генетические алгоритмы |
151. Быстрая сортировка |
|
23. Метод Гаусса–Зейделя |
66. Квадратуры Гаусса–Кронрода |
109. Дифференциальная эволюция |
152. Introsort и гибридные сортировки |
|
24. Метод верхней релаксации SOR |
67. Квадратуры Clenshaw–Curtis |
110. Particle Swarm Optimization |
153. Heapsort |
|
25. Метод сопряжённых градиентов для СЛАУ |
68. Несобственные интегралы и преобразования переменной |
111. Ant Colony Optimization |
154. Counting sort |
|
26. GMRES |
69. Многомерное численное интегрирование |
112. Линейные конгруэнтные генераторы псевдослучайных чисел |
155. Radix sort |
|
27. BiCG и BiCGSTAB |
70. Интегрирование Монте-Карло |
113. Современные PRNG: xorshift/xoshiro/PCG |
156. Bucket sort |
|
28. Степенной метод нахождения собственного значения |
71. Квазимонте-Карло и последовательности низкой расходимости |
114. Метод обратной функции для генерации случайных величин |
157. Внешняя сортировка больших данных |
|
29. Обратные итерации |
72. Метод Эйлера для ОДУ |
115. Rejection sampling |
158. BFS |
|
30. Итерация Рэлея |
73. Улучшенный метод Эйлера |
116. Box–Muller |
159. DFS |
|
31. QR-алгоритм собственных значений |
74. Метод средней точки и метод Хойна |
117. Цепи Маркова |
160. Топологическая сортировка |
|
32. SVD |
75. Метод Рунге–Кутты четвёртого порядка |
118. Metropolis–Hastings |
161. Сильно связные компоненты: Косарайю |
|
33. Число обусловленности матрицы |
76. Адаптивные методы Рунге–Кутты RK45 |
119. Gibbs sampling |
162. Сильно связные компоненты: Тарьян |
|
34. Метод наименьших квадратов: нормальные уравнения против QR |
77. Методы Adams–Bashforth |
120. Bootstrap и jackknife |
163. Алгоритм Дейкстры |
|
35. Псевдообратная матрица Мура–Пенроуза |
78. Методы Adams–Moulton и predictor–corrector |
121. Стохастический градиентный спуск |
164. Bellman–Ford |
|
36. Разреженные матрицы: COO, CSR и CSC |
79. BDF для жёстких ОДУ |
122. k-means |
165. Floyd–Warshall |
|
37. Итерационное уточнение решения СЛАУ |
80. Численные методы для жёстких систем ОДУ |
123. k-medoids |
166. A* |
|
38. Суммирование Кэхэна, Neumaier и попарное суммирование |
81. Метод стрельбы для краевой задачи |
124. PCA и его вычисление через SVD |
167. Prim |
|
39. Интервальная арифметика |
82. Конечно-разностное решение краевой задачи |
125. DFT |
168. Kruskal |
|
40. Арифметика произвольной точности |
83. Уравнение теплопроводности: явная и неявная схемы |
126. FFT Cooley–Tukey |
169. Максимальный поток: Ford–Fulkerson и Edmonds–Karp |
|
41. Многомерный метод Ньютона |
84. Численное решение волнового уравнения |
127. Быстрая свёртка и корреляция через FFT |
170. Dinic и двудольное паросочетание |
|
42. Метод Бройдена |
85. Уравнения Лапласа и Пуассона: конечно-разностные методы |
128. FIR/IIR-фильтры и численная обработка сигнала |
171. Динамическое программирование: рюкзак, LCS и редакционное расстояние |
|
43. Gauss–Newton и Levenberg–Marquardt |
86. Метод конечных элементов, конечных объёмов и метод линий: сравнительный обзор |
129. Wavelet-преобразование, PageRank и степенные итерации |
172. Backtracking, N-Queens, branch-and-bound, TSP и сравнение сложности переборных методов |
Такое распределение : первый доклад студента посвящён главным образом численной алгебре или нелинейным уравнениям, второй — аппроксимации, интегрированию или дифференциальным уравнениям, третий — оптимизации, вероятностным и вычислительным методам, четвёртый связывает всё это с алгоритмами и структурами данных.
Обязательная структура каждого доклада
Реферат не должен превращаться в пять механически скопированных реализаций. Для каждого метода студент обязан пройти одну и ту же последовательность:
Постановка задачи → математическая идея → псевдокод (plantUML и диаграммы или Mermaid ко и диаграммы) → C → C++ при необходимости → JavaScript → Go → Rust → Python → одинаковые тестовые данные → сравнение результата → сравнение времени → сложность → численная ошибка → вывод.
Для численного метода обязательны:
-
математическая формула;
-
условия применимости;
-
критерий остановки;
-
абсолютная/относительная ошибка;
-
вопрос сходимости;
-
пример, где метод работает плохо;
-
вычислительный эксперимент минимум на трёх наборах параметров.
Для дискретного алгоритма:
-
вход и выход;
-
инвариант либо идея корректности;
-
временная сложность;
-
пространственная сложность;
-
лучший/средний/худший случай, когда это имеет смысл;
-
тест на граничных данных.
Требование по пяти языкам и пяти колонкам
Для каждого алгоритма идет таблица.
Первая:
|
C/C++ |
JavaScript |
Go |
Rust |
Python |
|
|
|
|
|
|
Далее текстом
|
Формула/псевдокод |
Результаты теста |
Анализ |
|
алгоритмический смысл |
одинаковые входные данные |
сложность, ошибка, особенности |
Так сохраняются:
-
все пять языков в таблице из 5 колонок;
-
возможность визуально сравнивать код построчно — аналогичные строки должны находиться напротив и генерировать;
-
математический и экспериментальный анализ.
Если принципиально требуется одна таблица, остаётся менее удачный вариант:
|
C/C++ |
JavaScript |
Go |
Rust |
Python |
|
|
|
|
|
|
но тогда требование «код разных языков напротив друг друга» выполняется хуже.
Форматирование реферата
Можно закрепить буквально:
Основной материал реферата оформляется в книжной(вертикальной) ориентации, без лист полей (минимальные поля) . Сравнительные части представляются таблицами по четыре колонки. Основной шрифт таблиц — Tahoma, 6 pt, межстрочный интервал — одинарный, вертикальное положение листа, интервалы перед и после абзаца — 0 pt. Внутри ячеек запрещены искусственные пустые строки. Названия языков и алгоритмов выделяются полужирным. Код набирается текстом, а не изображением.
Обязательно экспортировать в pdf и приложить docx, а также источники (если не нарушаются авторские права) к письму - сами файлы, чтобы мы их могли полистать.
Скриншоты (не меньше 15 скринов текста + скрины обложек источников или ресурсов) и использование ИИ
генеративный ИИ важно тоже использовать
Разрешается использовать ИИ для:
-
объяснения синтаксических различий;
-
первоначального текстового черновика;
-
перевода идеи алгоритма между языками.
-
генерации аналогичных примеров кода на разных языках
-
генерации связного текта всеобъемлящего, который уже потом вручную студентом наполняется скринами подходящими с целью верификации и иузчения существующих источников, а также тренеровки применения научного подхода (сбор и анализ источников, обобщение, компиляция, интерпретация, анализ и тд)
Но студент обязан самостоятельно проверить:
-
формулы;
-
код;
-
результаты;
-
названия методов;
-
ссылки;
-
сложность.
Каждый реферат должен содержать реальные изображения/скриншоты из нескольких независимых источников:
-
страницы официальной документации;
-
фрагменты книг и документации разработчика;
-
результат работы программы;
-
графики;
-
схемы;
-
интерфейс компилятора/браузера.
Под каждым изображением:
Источник: автор/организация, название материала, год.
Скриншот не заменяет ссылку на источник.
Полезно добавить раздел:
Использование генеративного ИИ: название системы, цель использования, какие части проверены автором.
Это не снижает роль студента, а заставляет отличать генерацию текста от проверенного вычислительного результата.
Процедурный стиль сравнительных реализаций
В C желательно использовать:
double bisection(
double (*f)(double),
double left,
double right,
double eps
);
В JavaScript:
function bisection(f, left, right, eps) {
// ...
}
В Go:
func bisection(
f func(float64) float64,
left float64,
right float64,
eps float64,
) float64 {
// ...
}
В Rust:
fn bisection(
f: fn(f64) -> f64,
mut left: f64,
mut right: f64,
eps: f64,
) -> f64 {
// ...
}
В Python:
def bisection(f, left, right, eps):
# ...
pass
Именно такая постановка позволяет сравнивать алгоритмическую идею, а не особенности объектных моделей языков.
Современный стандарт C — ISO/IEC 9899:2024; он определяет синтаксис, семантику и правила интерпретации программ на C. Для сравнительных работ это хороший нормативный языковой ориентир. [5]
Источники и средства для псевдокода:
Средства:
Онлайн редакторы planuml:
Песочницы sql
https://coddy.tech/playground/ru/sql
https://sql-academy.org/ru/sandbox
или любые другие поиском в яндекс и гугл
Песочницы planuml
https://sujoyu.github.io/plantuml-previewer/
https://www.planttext.com/
https://editor.plantuml.com
https://plantuml.planeta-team.ru/
https://plant-uml-editor.vercel.app
https://plantuml.online
https://plantumlviewer.web.app
и любы другие
Документация planuml
https://plantuml.com/ru/
https://plantuml.com/ru/guide
Песочница мермейд (альтернатива planuml и другой язык разметки, но более красочные диаграммы)
https://mermaid.live/
Мердейд документация:
https://mermaid.ai
Еще ряд альтернативных языков размети диаграмм и песочница к ним единая
https://kroki.io/
Список ИИ
https://arena.ai/ (если пользуетесь помечайте какая конкретно версия - обязательно озвучивать), переписку с ИИ сохранять сочетанием клави ctrl+s в mhtml и тоже следует прикладывать к письму,
https://alice.yandex.ru
https://giga.chat/
z.ai
и любые другие включая обычный ии чат из поиск Яндекс и Гугл
Важный промпт: "пиши алгортим на js в вbде .htm файла, чтобы можно было открыть и потетировать в браузере"
