2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Практикум на ЭВМ
Сообщение19.09.2006, 21:32 
Заслуженный участник
Аватара пользователя


23/07/05
17976
Москва
Прошу совета.

В прошлом учебном году так получилось, что мне пришлось вести занятия для студентов-заочников по указанной дисциплине. Специальность - прикладная математика и информатика. Произошло это совершенно внезапно: из головного института пришёл приказ, который ограничивал годовую учебную нагрузку для деканов 300 часами в год, и декан свалил на меня эти занятия. На естественный мой вопрос "Чем заниматься?" было сказано: "Чем хотите". Я, конечно, нашёл, чем развлечь заочников в течение нескольких часов, но совершенно не уверен, что занимался тем, чем следовало. Через несколько месяцев из деканов этого преподавателя сместили, и он, к моему облегчению, эту дисциплину опять забрал.

Однако теперь администрация очень настойчиво жаждет услышать от меня "концепцию преподавания" дисциплины "Практикум на ЭВМ" на дневном и заочном отделениях (называется, нашли знатока). Под эту дисциплину отведено 400 часов в течение 6 семестров.

Я нахожусь в полной растерянности. Поделитесь, пожалуйста, опытом, кто этим занимается.

В госстандарте написано: "практикум по программированию; практикум по решению прикладных задач (практическое освоение работы на ЭВМ, умение применять стандартные математические методы и математическое обеспечение ЭВМ для решения различных задач)".

Однако требуется что-то существенно более развёрнутое и конкретное.

 Профиль  
                  
 
 
Сообщение19.09.2006, 21:46 


13/07/06
68
Однако... :) Зависит от специальности, курса, и ранее пройдённеого материала. Судя по выдержке из госстандарта, какие-то естественники. Ну и вручите им какой-нибудь математический пакет, и набор несложных типовых задач решать им, пускай позабавятся.

 Профиль  
                  
 
 
Сообщение19.09.2006, 22:00 
Заслуженный участник
Аватара пользователя


23/07/05
17976
Москва
bugmaker писал(а):
Однако... :) Зависит от специальности, курса, и ранее пройдённеого материала. Судя по выдержке из госстандарта, какие-то естественники. Ну и вручите им какой-нибудь математический пакет, и набор несложных типовых задач решать им, пускай позабавятся.


400 часов в течение 6 семестров для специальности "прикладная математика и информатика"???

 Профиль  
                  
 
 
Сообщение19.09.2006, 22:06 


13/07/06
68
Да, многовато. Сразу чёто не обратил... Однако это "пракикум на ЭВМ" или всётаки "численные методы"? Что-нибудь, звязанное с компьютерами/численными методами ведётся уже, велось на предыдущих курсах или ожидается на следующих?

 Профиль  
                  
 
 
Сообщение19.09.2006, 22:15 
Заслуженный участник
Аватара пользователя


07/03/06
1898
Москва
Полтора года - многовато. Мне кажется, нужно обучать языку программирования, например, С++, с реализацией алгоритмов вычислительной и дискретной математики в этой среде. Затем знакомиться с MathLab, Maple, Mathematica, Mathcad. А лекционный курс - что-нибудь из модификаций Кнута.

 Профиль  
                  
 
 
Сообщение19.09.2006, 23:09 
Заслуженный участник
Аватара пользователя


23/07/05
17976
Москва
Из связанных с компьютерами у них точно есть дисциплины
1) Языки программирования и методы трансляции;
2) Системное и прикладное программное обеспечение;
3) Численные методы;
4) Базы данных и экспертные системы.
Может быть, и ещё что есть, у меня просто нет полной информации. Из языков программирования они, как будто бы, изучают Basic, Pascal (Delphi) и C++. Преподаватель, который сейчас ведёт эти занятия, заставляет их решать простенькие задачки типа вычисления интеграла методом прямоугольников или (уже более сложная задача) интерполяции сплайнами. В качестве инструментов допускается использовать как упомянутые языки программирования, так и системы компьютерной математики типа MathCAD или Maple (по усмотрению студента). На эти темы они пишут ему контрольные и курсовые работы. В этом году у нас был первый выпуск (заочников) по этой специальности, и было две дипломных работы от этого преподавателя; от этих работ госкомиссия морщилась, хотя четвёрки поставила.

Но от меня ожидают какого-то другого подхода (так и было сказано), не предполагая, однако, что я когда-нибудь буду вести занятия (мне для нагрузки хватает математического анализа и алгебры с геометрией). Но у меня просто нет никаких идей. Вот я и спрашиваю. Вдруг кто-нибудь что-нибудь посоветует.

Да, ещё. Лекционного курса там не предполагается. Хотя, конечно, преподавателю всё равно приходится что-то рассказывать и показывать.

 Профиль  
                  
 
 
Сообщение20.09.2006, 06:40 


09/06/06
367
Я считаю , что начинать нужно с самых азов и далее усложнять .
Начинать , на мой взгляд , нужно с таких книг , как Демидович и Марон (численный анализ ,прекрасная книга , почти всю её прорешал на БЗ-21) , Форсайт-Малькольм-Моулер .
Далее можно дать сведения о базах данных .
Не нужно заострять внимание на каких-то узких проблемах .
Главное - хорошо вколотить ключевые знания и научить применять их .

 Профиль  
                  
 
 
Сообщение20.09.2006, 10:03 
Заслуженный участник
Аватара пользователя


01/08/06
3131
Уфа
Помимо численных методов, можно предложить структуры данных: линейные списки, стеки, очереди, деревья, множества. Правда, там нужно теорию рассказать. Зато задач на эту тему море можно найти: реализация двусвязного линейного списка; проверка правильности расстановки круглых, квадратных и фигурных скобок в выражении (использование стека - детский сад); вычисление выражений, записанных в обратной польской записи (использование стека - посложнее) перевод выражений из инфиксной формы в обратную польскую запись (опять использование стека, но ещё сложнее); хеш-реализация множества строк (связанные линейные списки строк с одинаковым хеш-кодом); сбалансированные деревья (AVL-деревья, красно-чёрные деревья, реализация множеств строк и линейных списков с их помощью). Практически вся теория по этой теме есть в Кнуте, а в интернете можно нарыть конкретные задания.

 Профиль  
                  
 
 
Сообщение20.09.2006, 17:28 


13/07/06
68
ИМХО само понятие практикума располагает к более практическим занятиям. Поэтому, в дополнение к имеющимся курсам, предлагаю свалить в этот курс все практические аспекты работы с компьютером. Т.е. начать с основ пользования электронной почтой, веб-серфингом, научить пользоваться оконным интерфейсом (устанавливать атрибуты окон, переключать виртуальные рабочие столы, назначать "горячие клавиши" итд), использование сетевых ресурсов, архивировние, ближе к окончанию - основы сетевой безопасности, автоматизация работы, такая как написание скриптов и выполнение задач по расписанию. Если этот курс будет проходится ближе к началу обучения, он видится мне вполне уместным в таком виде.

 Профиль  
                  
 
 
Сообщение21.09.2006, 23:16 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
По моему личному опыту, большинство специализированных курсов (языки программирования, выч. методы) совершенно не учат основным приемам разработки программы. В частности, таким вещам, как отладка, тестирование, профилирование программы, методика оптимизации, интеграции программ и т.п. Мне кажется, это часть навыков — причем именно практических, — которую «Практикум» мог бы покрыть. Другая идея: взять какую либо тему (сортировка, поиск, контрольные суммы, поиск корней, поиск строки… — в зависимости от образования и доступного времени) и предложить сделать сравнение методов (т.е., каждый студент реализует 3-4-5+ алгоритмов и делает сравнительный анализ результатов и применимости). Желательно при этом показать экзотические варианты, применимые в очень специальных случаях (например, сверхбыстрая сортировка 5 миллионов телефонов за линейное время). И еще: навык не писать программы, примеры решения задач встроенными средствами. Приведу пример: студиозу было предложено включить в makefile генерацию банка тестов и автоматический пропуск со сравнением результатов. Я посоветовал паралельно с генерацией тестов генерировать файл с ожидаемыми результатами, а при прогоне — сравнить. Ну, все хорошо, только вот студент бросился писать программу сравнения — воспользоваться diff ему в голову не пришло. :( Это же относится к использованию эл. таблицы, текстового редактора (хотя частично и покрыто интеграцией).

 Профиль  
                  
 
 
Сообщение28.09.2006, 18:52 
Заслуженный участник
Аватара пользователя


23/07/05
17976
Москва
Спасибо всем.

А можно как-нибудь увязать этот практикум с читаемыми им математическими курсами? Такими, как математический анализ, алгебра и геометрия, дифференциальные уравнения (обыкновенные и с частными производными), ТФКП, ...

 Профиль  
                  
 
 
Сообщение28.09.2006, 19:13 
Заслуженный участник
Аватара пользователя


01/08/06
3131
Уфа
По алгебре можно, например, задать такую задачу:

Конечная группа задана своей таблицей Кэли.
а) Проверить, что это действительно группа
б) Перечислить все её подгруппы (довольно сложная задача)

По геометрии можно задать вычисление всяких произведений векторов, объёмов, расстояний между кривыми и т.п. Кроме того, можно, например, задать программу, визуализирующую проекцию каркаса 4-мерного куба на произвольную плоскость в 4-мерном пространстве.

Дифуры - простейшие методы численного решения ОДУ, численное решение уравнения переноса... Остальное, наверное, сложновато будет для общего курса.

 Профиль  
                  
 
 
Сообщение28.09.2006, 19:16 
Заслуженный участник
Аватара пользователя


17/10/05
3709
:evil:
Завсегда можно. Но это обычно делается на уровне решаемых задач. Например, тема «тестирование»: пишется программа, по трем числам определяющая вид треугольника и банк тестов. Вот и геометрия :) Более глубокие примеры — построение фильтров и ФФТ (например, определение номера при тоновом наборе), даже простейший PID регулятор — уже неплохая задача по программированию. Особенно, если его увязать с эффективностью. Полезно сравнить теоретический результат с получаемым численно. Очень полезно подкинуть где-нибудь плохо обусловленную систему, и дать разобраться, в чем дело.

Одна из забавных возможностей — программирование игры. Тут и геометрия (нужно описать движение в 2/3 измерениях, видимость объектов), и дифуры, и много других возможностей (например, построение стратегии оппонента может потребовать интересной математики в играх типа «быки и коровы» или «морской бой»). Масса разных методов. Главное — выбрать достаточно простую задачу.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 13 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group