All streams
Search
Write a publication
Pull to refresh
3
0
Валерий Лаптев @LaptevVV

Преподаватель-программист

Send message

А сами как должны получать знания?
А я как получаю ?
Я их этому и учу - самостоятельно учиться.

Константин помоложе, но в двадцатку умеет, .... И его студентки ещё в бакалавриате начинают
Константин преподает в МФТИ.
Куда уезжают от нас - САМЫЕ умные.
Когда не уезжают - они у нас тоже все умеют. :)))
У меня дофига таких учеников. Особенно из первых выпусков, которые уже сами почти все начальники... :)))
Мы сами себе сделали среду обучения программированию, студенты делали под моим руководством.
Пользуемся до сих пор.
Но вот нынешних студентов подвигнуть переписать - пока не получается.
В основном трусят - вдруг не получится... :))))

А приходите, послушайте... :))))
Здесь существует конкретное противоречие - это они должны меня учить современным технологиям, а не я их.
Я - древний советский пенсионер, который может писать на С++20.
И проблем освоить новую технологию у меня нет.
А у них - есть... :))))))
Когда вышла первая книжка на русском в 2014 году про git - это я студентам сказал, чтобы они его осваивали, а не они мне порекомендовали...

И вы, видимо, не преподавали всерьез.
Поэтому не знаете, что научить - нельзя. Можно только научиться.
:)))
И тяжело в учении - легко в бою.
Масса чисто технической рутинной работы во время учебы сильно сокращает время адаптации к реальной работе... :))))
Курсовую надо физически написать: и программу, и док.
А большинства народа с этим проблемы реальные... :))))

Экзамены я провожу в виде собеса - чтоб сразу привыкали.
Билеты - какие билеты ?
На собесе по билетам отвечать будешь ?

Проблема в нашей системе образования сейчас.
Студентов за хвосты не выгоняют, и они просто забивают на учебу...
Это - БОЛЬШАЯ проблема.
Савватеев то же самое говорит - я с ним общаюсь.

А вот у меня в вузе ровно наоборот. Я - бронтозавр - пинаю студентов.
Вот дали мне читать курс, который я ни сном, ни духом раньше ...
Ну, и я на каждой лекции приношу книжки и рассказываю, где чего написано, и где чего прочитать, чтобы сделать курсову.
И в каком порядке делать, с чего начинать и чем заканчивать, чтобы с наименьшими потерями успеть в строк и не сидеть ночами на зачетной неделе...
Бесполезно. Внимают 2 человека из примерно 25.
Половина еще и не приходит.

GitFlic мне нравится больше других. Такое впечатление, что народ взял GitLab и стал его развивать, полностью переведя на русский. Я с ними еще в 2019 году законтачил.
Сейчас стало уже хорошо по сравнению с теми временами. В телеге есть канал, где можно пообщаться

GitVerse - это от сбера. Чего-то у меня постоянные проблемы со входом... :)

mos.hub - это Москва и окрестности. Но в той окрестности работают мои выпускники и всегда есть, где спросить, если что не так. И опять же в телеге есть канал, где я могу прям к главному админу обратиться.

Еще есть tviygit.ru - там тоже репа была у меня.
И до всех этих руссифицированных все сидели на Gitea - это китайская. Тоже вполне нормальная.

Вместо гитхаба можно гитфлик, гитверсе, мосхаб

Подписываюсь
Но я б добавил самое первое издание Таненбаума по организации ЭВМ - там тоже описывается PDP-11. И я писал бортовую ось на нашем клоне типа Электроники-60.
Архитектура - просто песня!

Не, все я понял.
Математически матрицы умножаются строка на столбец, суммируется и получается один элемент матрицы результата.
Но в программировании матрицы лежат в памяти.
И этот факт позволяет обрабатывать матрицы в другом порядке.
Не в математическом. Но результат получается именно такой, как требуется в математике

Смотри сюда

// -- Standard matrix multyply --
void multiplyIJK(const iMatrix &A, const iMatrix &B, iMatrix &R)
{ size_t N = A.size();
for(size_t i = 0; i < N; ++i)
{ for(size_t j = 0; j < N; ++j)
{ for(size_t k = 0; k < N; ++k)
R[i][j] = R[i][j] + A[i][k] * B[k][j];
}
}
return;
}
// -- Rows matrix multyply --
void multiplyIKJ(const iMatrix &A, const iMatrix &B, iMatrix &R)
{ size_t N = A.size();
for(size_t i = 0; i < N; ++i)
{ for(size_t k = 0; k < N; ++k)
{ for(size_t j = 0; j < N; ++j)
R[i][j] = R[i][j] + A[i][k] * B[k][j];
}
}
return;
}
void multiplyJKI(const iMatrix &A, const iMatrix &B, iMatrix &R)
{ size_t N = A.size();
for(size_t j = 0; j < N; ++j)
{ for(size_t k = 0; k < N; ++k)
{ for(size_t i = 0; i < N; ++i)
R[i][j] = R[i][j] + A[i][k] * B[k][j];
}
}
return;
}

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

Можно и строка на строку... :))))
Только надо внимательно посмотреть порядок индексов в циклах
Чтобы все-таки получалось правильное умножение матриц.

c[ij] = c[ij]+a[ik]*b[kj]

Так они и лежит потому, что ее КТО-ТО написал.
А не ты - ибо математики не знаешь...

А кто написал библиотеки ? Инопланетяне что ли ?
Людьми, которые математику как раз знают... :))))

Берешь библиотеку - ключевое.
Если знаешь соответствующую математику - ПИШЕШЬ библиотеку.

Тогда что вы делаете на программерском ресурсе ?
Идите учите реп...:)))))

Да титул здесь не при чем.
А возможности устроиться на разнообразные работы и на разные уровни должности - с пониманием математики и без...

Алгебра тож нужна. Многочлены, векторы, матрицы...
Линейное векторное пространство над полем Галуа - это оно. :))))
Шифрование и кодирование с защитой от ошибок - самое то.
Аналитическая геометрия - чтобы графику понимать...
Теория графов, теория вероятностей и статистика
Методы оптимизации, численные методы
Это навскидку.

Естественно. Глубина использования математики зависит от задач.
Но знание математики раздвигает твои возможности по сферам работы.
Ты просто более конкурентоспособен становишься.
Не считая того, что математика "ум в порядок приводит".
А фронт-ендщики веб-программисты - это такие слесари, а не инженеры разработчики... :))))

  1. До написания кода надо сначала понять, что именно писать... :)))

  2. В наиболее модных направлениях (ИТ + DS) без математики вообще делать нечего.

Линейное векторное пространство над полем Галуа - каждый программист в мире каждый день пользуется 100500 миллионов раз.
Если математику знаешь и ориентируешься, то ты инженер-разработчик высокого класса.
Если не знаешь и не ориентируешься - ты кодер-техник, не более...

Не.
Это нормальный "кризис среднего возраста", который случается у мужчин в районе 32-33-35... Как раз стиль и тон поста говорят мне о "нормальности" автора.

Книжки надо читать!
Страуструп в книжке Дизайн и эволюция С++ давно уже эту идею описал: IDE должна быть языково-ориентирована.

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

Книга Good code, bad code - тоже переведена. Но пока не читал.
Спасибо.

Information

Rating
6,229-th
Location
Астрахань, Астраханская обл., Россия
Registered
Activity