My suggestion is that the first degree qualifying to practice as a computers scientist should be master's-and a master's designed as a whole-not as a bachelor'r degree with an appended final year or two.
Bjarne Stroustrup «What should we teach new software developers? Why?» Примерно вот так мог бы выглядить гипотетический учебный план «
(
Read more... )
Почему функцинальное программирование в 9 семестре, а не в 4-6, например? Почему, опять же, сети, базы данных, имеют такой маленький объём и идут так поздно? Без них, кстати, про современные вычсистемы и прочие суперкомпьютеры можно не рассказывать.
И да, в шестилетке 12 семестров, всё же, да.
Reply
Reply
- OpenMP, pthreads
- MPI-1,2,I/O
- Global Arrays
- UPC
Что еще?
Далее есть "Параллельные численные алгоритмы".
Reply
P.S. Складывается впечатление, что средний выпускник будет программировать, скажем, на С, но понимать, как работает программа С не будет (в смысле, что делает процессор, кеш, память, и пр.). Поэтому написать эффективную программу именно для той архитектуры, которая у него в руках, он не сможет.
Reply
mr_mumble, salnikov и Сергей Коробков мне сегодня тоже говорили, что курс по параллельным технологиям должен быть годовым.
Кроме того, обсуждалась и необходимость "семинаров по программированию", где нужно решать задачки по параллельному программированию не на компьютере, а на листе бумаги.
Reply
на счет бумаги - это может и неплохо, но есть проблема - как проверить, что программа работает? (или даже просто компилируется?) Или предлагается писать не программу, а алгоритм (в достаточно общем виде)? Но в любом случае нужно потом проверить решение на практике - а то может на листочке всё супер, а на компьютере - всё ползает.
Reply
Сейчас возможности аппаратуры гораздо шире, чем раньше. Если раньше только (грубо говоря) последовательный C, то сейчас параллельный, CUDA, FPGA, ...
Дальше будет только хуже. И нужно готовить людей, которые способны придумывать алгоритмы под аппаратуру (и наоборот!).
Reply
Вл. В. Воеводин рассказывал про суперкомпьютеры за один семестр.
Причем он затрагивал и векторные машины, которые делал С. Крэй.
Если из того курса переместить MPI, OpenMP и Cilk в курс по параллельным технологиям, то в освободившиеся часы как раз и пойдут графические ускорители и FPGA.
С одной стороны, я не уверен, что нужно детально изучать то, о чем ты говоришь. (Ребята жалуются, что сейчас на "Сетях" они вынуждены учить древние протоколы.)
С другой стороны "Если научить десятке старых, то все новые уже будут легко изучаться самостоятельно." - это совершенно правильная фраза.
Наконец, если все-таки когда-нибудь будет непрерывная шестилетка, то в ней может найтись место для подобного курса. (Сейчас-то я два семестра проворонил.)
Reply
и я бы не различал современные и несовременные ;). у студентов кроме просто факта, что архитектуры бывают разные, должны сложиться четкие причинно-следственные связи: почему архитектура именно такая, как одно изменение влечет за собой изменение всех остальных вещей и пр.
Reply
Leave a comment