о преподавании программирования
Apr. 23rd, 2012 03:01 pmВ реддите обсуждают закрытие факультета CS (Computer Science) во Флориде и один обмен мнениями там заставил меня задуматься. Один из участников написал, что в Америке на факультеты CS поступает очень мало абитуриентов в сравнении с другими факультетами, после которых реально найти работу. Более того, даже это сравнительно малое число абитуриентов завышено, если учесть два обстоятельства. Во-первых, студенты в CS чаще других переходят на другие факультеты или бросают учебу (30-50% drop rate). Во-вторых, из тех, кто остается и заканчивает степень большинство и так уже умели программировать к тому времени, как они записались. Из чего следует вывод, что мы не умеем на самом деле преподавать программирование. Либо человек сам научился, и только дополняет свое умение формальным образованием, математикой, алгоритмами итд., либо не научился, и тогда университет его (чаще всего) не научит.
А другой собеседник ему возражает и говорит: нет, это совсем не так. Да, многие студенты CS приходят уже умея программировать на одном или даже нескольких языках, но далеко не все, и нет корреляции между умением до учебы и успехом впоследствии.
Вот я и думаю, кто прав, и как это чаще бывает? Большинство знакомых мне программистов занимались этим в детстве или школе еще до высшего образования. Очень мало я знаю людей, которые пришли в университет с нулевым знанием программирования. Из таких еще меньше - тех, кто закончили учебу и работают по специальности; есть такие, но выборка крохотная, не знаю, насколько это нормально и обычно.
Как вы думаете? Может, вы знаете много людей, которые учили программирование с нуля в университете, или сами такой человек, и поделитесь мнением/опытом? Может ли университет научить программированию?
А другой собеседник ему возражает и говорит: нет, это совсем не так. Да, многие студенты CS приходят уже умея программировать на одном или даже нескольких языках, но далеко не все, и нет корреляции между умением до учебы и успехом впоследствии.
Вот я и думаю, кто прав, и как это чаще бывает? Большинство знакомых мне программистов занимались этим в детстве или школе еще до высшего образования. Очень мало я знаю людей, которые пришли в университет с нулевым знанием программирования. Из таких еще меньше - тех, кто закончили учебу и работают по специальности; есть такие, но выборка крохотная, не знаю, насколько это нормально и обычно.
Как вы думаете? Может, вы знаете много людей, которые учили программирование с нуля в университете, или сами такой человек, и поделитесь мнением/опытом? Может ли университет научить программированию?
no subject
Date: 2012-04-23 12:08 pm (UTC)Так-то у нас в школе, например, 2 одиннадцатых класса из 4-х, или даже три, не помню, учили "программировать", на паскале. Некоторые даже смогли выучить циклы. Нельзя же их назвать умеюшими программировать в том смысле, в котором усеет программировать человек, которого возьмут на работу программистом.
no subject
Date: 2012-04-23 12:11 pm (UTC)no subject
Date: 2012-04-23 12:11 pm (UTC)К слову, в нашем вузе программировать почти не учили. Три года у нас была высшая математика в различных ее проявлениях. БОльшая часть приобретенных по программированию знаний - самостоятельное изучение, основанное на собственном энтузиазме или на необходимости писать курсовую/диплом.
И по моему опыту работы программистом, учеба после окончания вуза не заканчивается, а только начинается.
no subject
Date: 2012-04-23 12:11 pm (UTC)Т.е., у меня были студенты, которые учили язык практически с нуля и схватывали все идеи на лету; некоторые из них работают сейчас программистами. Один-два человека в год из класса в 50-100 человек. Каждый такой случай производит впечатление исключения: эти люди, видимо, не начали программировать раньше только потому, что им никогда не случалось столкнуться с такой идеей. Если человек не, скажем так, предрасположен к программированию изначально, научить такого человека программировать почти невозможно.
no subject
Date: 2012-04-23 12:13 pm (UTC)Я заканчивал факультет кибернетики МИФИ, программировать умел со средних классов школы (в активе на момент поступления было 5 языков программирования). IMHO, высшей школе обязан не столько практическими навыками разработки софта, столько теоретической подготовкой в области численных методов, статистики, моделирования, надёжности и создания больших программных систем. Многое потом очень пригодилось.
Среди одногруппников были те, кто программиировать раньше не умел. Часть из них научилась и даже работает по специальности.
no subject
Date: 2012-04-23 12:14 pm (UTC)Научили в huji как миленькую, потом 15 лет программировала, да и сейчас наверное могу, если сильно надо. На втором курсе пошла работать, и со товарищи такими же студентами написала программу для дапей-захав, с нуля практически, которая до сих пор им книжки клепает (сложная, интерактивная, с базой данных и непростым алгоритмом расположения фигни на странице и проч). Ну, потом ещё много всякой фигни писала, но главное - да, универ может. Но не любой.
no subject
Date: 2012-04-23 12:15 pm (UTC)Думаю, дело не в том, что в университетах не умеют учить программистов, а в том, что толковые студенты начинают практиковаться самостоятельно, вне зависимости от школьной программы.
no subject
Date: 2012-04-23 12:15 pm (UTC)no subject
Date: 2012-04-23 12:16 pm (UTC)Но я не рассчитываю, что университет научит меня программировать. Я хочу получить от него методологию обучения, базовые знания по математике, основы теории программирования. А конкретным техническим навыкам придется учиться самостоятельно.
Мне кажется, что и в других специальностях так же.
no subject
Date: 2012-04-23 12:16 pm (UTC)Она всю жизнь считала (и продолжает) себя полным куку в математике, но при этом оказалась талантливым программистом, и сейчас (7 что ли лет она работает) - уверена, что это дело всей её жизни, её прет от того что она делает)
она работает сейчас тимлидом на одного из крупнейших провайдеров, отвечает за разработку сайта его со всеми там сервисно-пользовательскими плюшками.
в чистом виде пример того, как научили человека программированию с чистого листа и весьма успешно и несмотря на то, что никаких не было до этого предпосылок (она вообще хотела в школе всякой модой и дизайном заниматься, пошла учиться только потому что надо было срочно зарабатывать деньги и это была область в которой в то время можно было научиться джаваскрипту или чему-то подобному и быстренько начать работать простенько - а теперь бесконечно счастлива, что так звезды встали, и она занимается делом в которое влюблена по уши, а на работе все думают что им с неё невероятно повезло)
я училась в универе в россии на информатике, нас там тоже учили программировать помимо прочего - на паскале и на си, тоже с нуля.
но это было совсем давно и я по специальности не работаю)
no subject
Date: 2012-04-23 12:17 pm (UTC)no subject
Date: 2012-04-23 12:17 pm (UTC)no subject
Date: 2012-04-23 12:18 pm (UTC)Какие еще есть специальности, где [если это верно] большинство студентов, успешно заканчивающих степень, главное занятие умели неплохо делать и до учебы? Скажем, во врачи не идут ан масс люди, и так умеющие лечить. Подозреваю, что студенты-архитекторы не умели проектировать здания до начала учебы. Итд.
no subject
Date: 2012-04-23 12:20 pm (UTC)no subject
Date: 2012-04-23 12:21 pm (UTC)Лет в 12 я пробовал писать на паскале, дальше простейших if и while не ушёл, ничего интересного не написал и забросил это дело. Концепцию указателя осознать не смог. Учился я в гуманитарном лицее, мы учили английский и читали петрарку при свечах. Поступил, однако, на техническую специальность.
В институте двухсеместровые курсы по C и C++ были одними из немногих объективно хороших - их читали "for fun" двое ребят, выпустившиеся за несколько лет до того, и работавшие где-то программистами. Преподавание было не самое системное, но очень толковое - программировать я научился. С остальным образованием было всё плохо, причитающийся мне computer science я добираю сейчас на coursera, как ни смешно это звучит.
Институт я бросил не закончив. Последние шесть лет я perl-программист.
no subject
Date: 2012-04-23 12:21 pm (UTC)no subject
Date: 2012-04-23 12:21 pm (UTC)либо есть, либо нет ((( мне хочется высшее программиста только из за диплома. Нашел одного более менее толкового паренька, сейчас у меня работает, но опять же не программист конечно, но в компьютерах разбирается, только шум стоит. Т.е. если бы захотел мог бы. И я начал замечать, что есть люди которые могут работать с компьютерами вообще, не в смысле открыть программу, ввести текст, сохранить и т.п. а на уровне администратора или программиста.
В общем единичные случаи.
С другой стороны хорошо ) конкурентов меньше ;)
no subject
Date: 2012-04-23 12:21 pm (UTC)no subject
Date: 2012-04-23 12:21 pm (UTC)no subject
Date: 2012-04-23 12:22 pm (UTC)no subject
Date: 2012-04-23 12:24 pm (UTC)"нет корреляции между умением до учебы и успехом впоследствии"
Это вообще для всех наук справедливо.
no subject
Date: 2012-04-23 12:24 pm (UTC)о, вот это очень интересная тема. Что такое программирование на профессиональном уровне? Очевидно, что это не просто зарабатывание денег написанием программ, и не написание программ большого размера. Знаю множество людей, которые относят к вышеуказанному типу, но назвать их умеющими программировать профессионально язык не повернется. И для таких людей есть большая ниша, и зарплаты там во общем-то такие же как у программистов, или даже выше.
no subject
Date: 2012-04-23 12:25 pm (UTC)Но из тех, кому компьютер был доступен, но до университета программировать им было неинтересно, я и правда хороших программистов не видел. Не от того, наверное, что университет не может программировать научить, а от того, что если нет склонности в 16 лет, то в 20 она и не появится.
no subject
Date: 2012-04-23 12:25 pm (UTC)no subject
Date: 2012-04-23 12:26 pm (UTC)Сейчас я занимаюсь другими вещами, но эти навыки мне очень помогают.
Я наблюдал, как многие мои товарищи учились программировать очень хорошо, а многие из тех, кто пришел уже с некоторыми знаниями, расслаблялись и в итоге через некоторое время не могли справиться с заданиями.