Одно дело — приглашать "практика" на одноразовое мероприятие, где он щегольнет и на этом все закончится.
И совсем другое — преподавать на постоянной основе. У работающего специалиста есть три "окна" для такой деятельности:
По субботам. Учебные заведения по субботам работают, а на основной работе обычно выходной.
Часов в 8 утра по будням. Возможно если рабочий день фактически начинается в 10-11.
Часов в 18 вечера. Если есть возможность стабильно уходить вечером.
Учебные заведения были бы рады, если у них будет преподавать хороший специалист. Однако далеко не каждый специалист будет жертвовать личным комфортом, чтобы связываться с системой образования в общем и со студентами в частности.
Реальность такова, что практики в программировании стоят довольно дорого и кроме денег просят ДМС со стоматологией, печеньки и диван на кафедре.
Поэтому основная масса студентов учится у теоретиков, которые в своей основе — такие же бывшие студенты.
А не подскажете, в каких open-source проектах новичку в программировании вообще реально что то сделать?
Новичком в данном контексте считать человека, который освоил основные фичи языка, но еще ни разу не участвовал в промышленной разработке.
Просто такой совет я вижу довольно часто. Обычно (для java) при этом рекомендуются проекты вроде Apache commons, guava, Spring, Hadoop и другие общеизвестные фреймворки или проекты.
Но с ними есть две проблемы:
Они слишком сложные для новичка. Чтобы сделать действительно полезный коммит в таком проекте, даже опытному разработчику нужно покурить его исходники недельку-другую. Вдобавок у них хитрая система версий. Причем это может быть сложнее чем «релизная на поддержке» и «экспериментальная на будущее». У новичка происходит шок от объема и запутанности.
В них существует бюрократия. Коммит, который сделает новичок, может не вписываться в общую архитектуру проекта и скорее всего будет просто отклонен или проигнорирован. Мержить имеют право вполне определенные лица, которых еще нужно поймать.
Я бы очень хотел порекомендовать своим студентам какой-нибудь open-source проект. Однако ничего такого, что было бы им по силам, я на горизонте не вижу.
Когда меня спрашивают «Зачем нужна математика?», я отвечаю «Чтобы делать чудеса». И привожу такой пример:
Задача «Найти сумму чисел от 100 до 500». Если загуглить этот вопрос по русски, то решение найдется примерно такое:
int a = 100, b = 500, sum = 0;
while (a <= b){
sum += a;
a++;
}
Студенты сдают его и все довольны. Преподаватель — потому что студенты освоили циклы. Студенты — что у них приняли задачу.
Чудо математики же в том, что задача решается вот так:
int a = 100, b = 500, sum = 0;
sum = (b + a)*(b - a + 1)/2;
Одно дело — приглашать "практика" на одноразовое мероприятие, где он щегольнет и на этом все закончится.
И совсем другое — преподавать на постоянной основе. У работающего специалиста есть три "окна" для такой деятельности:
Учебные заведения были бы рады, если у них будет преподавать хороший специалист. Однако далеко не каждый специалист будет жертвовать личным комфортом, чтобы связываться с системой образования в общем и со студентами в частности.
Поэтому основная масса студентов учится у теоретиков, которые в своей основе — такие же бывшие студенты.
Новичком в данном контексте считать человека, который освоил основные фичи языка, но еще ни разу не участвовал в промышленной разработке.
Просто такой совет я вижу довольно часто. Обычно (для java) при этом рекомендуются проекты вроде Apache commons, guava, Spring, Hadoop и другие общеизвестные фреймворки или проекты.
Но с ними есть две проблемы:
Я бы очень хотел порекомендовать своим студентам какой-нибудь open-source проект. Однако ничего такого, что было бы им по силам, я на горизонте не вижу.
Пока что это самая грамотная подача программирования из всего что я видел.
Есть довольно много учебников в стиле
может быть вам просто один из таких попался?
Задача «Найти сумму чисел от 100 до 500». Если загуглить этот вопрос по русски, то решение найдется примерно такое:
Студенты сдают его и все довольны. Преподаватель — потому что студенты освоили циклы. Студенты — что у них приняли задачу.
Чудо математики же в том, что задача решается вот так:
В обоих случаях получается 120300.