Эта статья расскажет о гарвардском курсе «Основы программирования CS50» под немного другим углом: сквозь призму личности, того, кто создал этот курс в его современном виде, харизматичном Дэвиде Малане.
Нетипичный курс
Аудитория Sanders Theater, Мемориальный Холл Гарвардского университета, город Кембридж, Массачусетс. Здесь проходят не только лекции, но концерты, спектакли, церемонии награждения, выступления известных людей. Эти стены привыкли к торжественному шуму самого разного толка. Но даже для них курс CS50, курс по основам программирования и компьютерных наук, с его эффектно разорванными бумажными справочниками, диджеями, куклами, отрывками из сериалов и прочими элементами массовой культуры — нетипичен, как и в целом для Гарварда.
Да что там: для любого вуза мира он нетипичен (театральные специальности не берем, там другие задачи). Тем не менее, принимает CS50 именно Sanders Theater, поскольку эта аудитория — самая большая в Гарварде. В другие помещения все желающие слушать лекции профессора Малана рискуют не поместиться. Последние годы CS50 уверенно лидирует по количеству студентов его выбирающих (мы, естественно, не считаем «виртуальных» слушателей из интернета).
Так было не всегда. В Гарварде CS50 обосновался ещё в восьмидесятые годы минувшего столетия, но был совсем другим: качественным (а как иначе в Гарварде!), но вполне традиционным по стилю, курсом программирования для новичков. Не слишком многочисленным, но вдохновившим многих стать «айтишниками».
Кардинальные изменения пришли в 2007 году, когда CS50 возглавил Дэвид Малан. С его приходом курс стал похож на увлекательное шоу с отменно прописанным сценарием, постоянным вовлечением зрителей (студентов) и различных персонажей, начиная от кукол-«маппетов» и заканчивая «живыми» звездами ИТ-шного мира, связанными с Гарвардом — Марком Цукербергом, Биллом Гейтсом, Стивом Баллмером…
Кому-то покажется, что шоу в этих лекциях — слишком много. Но! Важно отметить, что качество курса, его академичность и наполненность — не пострадали. Скорее, наоборот: CS50 постоянно развивается, подхватывает инновации, и вовсе не выглядит застывшим изваянием из прошлого, состоящим из канувших в Лету технологий, которыми пичкают наших студентов почти везде. В конце концов, это один из первых университетских курсов, полностью доступный в интернете.
Известно: люди охотнее впитывают серьезную информацию, если она подается с горящими глазами и аллюзиями на известные или цепляющие вещи. Мы же привыкли, что в научных курсах нам скармливают абстрактные безвкусные сухари, не заботясь о нашем пищеварении. И машина закрутилась. CS50 стал расти, как на дрожжах.
Конечно, рост курса нельзя приписать исключительно Дэвиду с его харизмой и недюжинными режиссерскими способностями: сама сфера и интерес к ней неизменно растут независимо от его усилий. Возможно, с ядерной физикой этот номер не прокатил бы. Да и не перетягивает Дэвид на себя всё одеяло: ему ассистируют многочисленные помощники из числа молодых преподавателей и вчерашних студентов курса. Тем не менее, для многих профессор Малан, который умеет не только рассказать просто о сложном, но и вдохновить — одна из главных причин записи на курс. Так, шестую лекцию «CS50 Основы программирования», переводами которого мы заняты, вел не Малан, а его помощник Роб Боуден. Увидев незнакомца, некоторые зрители онлайн-версии курса взволновались: уж не собирается ли Дэвид оставить CS50 и заняться чем-то другим? Возможно, подобающими профессору научными исследованиями или более «продвинутыми» курсами? В конце-концов, человеку может стать скучно год от года преподавать одно и то же, а уж тем более — основы основ.
Спешим заверить: никуда Дэвид Малан от CS50 не денется. И в следующем разделе статьи мы постараемся объяснить, почему. Точнее, он сам нам всё расскажет.
Нетипичный профессор
Дэвид Малан, профессор с приставкой «Gordon McKay» (это имя — дополнительный почётный титул гарвардской профессуры, учрежден в честь мецената и филантропа Гордона Маккея), вероятно, самый известный действующий преподаватель Гарварда.
В графе «О себе» на его Facebook-страничке — короткая фраза «Я преподаю CS50» и более никакой личной характеристики. Только информация о месте работы и учёбы (без сюрпризов: Гарвард в обоих случаях, колледж Дэвид окончил в 1999 году), о предыдущих проектах (ИТ-компании) и месте жительства (Кембридж, Массачусетс). А также ссылки на веб-сайты, в названиях которых фигурируют главным образом те самые, знакомые нам из самоописания четыре буквы: CS50.
И всё бы ничего, если не знать, что CS50 — это курс для абсолютных новичков. Его и толковый школьник, знающий элементарную математику и как пользоваться клавиатурой, «потянет» при большом желании.
«Тоже мне, — предмет для гордости для гарвардского профессора!», — подумает кто-то. У нас принято недооценивать начальное образование в любом из смыслов, а достижения профессуры меряют сложностью и новизной их исследований. А тут — анатомия компьютеров для полных «нубов» и основы программирования для них же!
Если уйти с Facebook и поискать на сайте Гарварда, мы обнаружим, что Дэвид пишет о себе примерно следующее:
«В мои научные интересы входят кибербезопасность, цифровые средства судебно-медицинской экспертизы, ботнеты, образование в сфере компьютерных наук, дистанционное, совместное и компьютерное обучение. В аспирантуре я работал с деканом Майклом Д. Смитом в составе «Группы Языков программирования» (гарвардское объединение студентов и преподавателей, изучающее проблемы, связанные с реализацией и проектированием языков программирование, прим. ред.), где изучал языки программирования, компиляторы и безопасность. Мне тогда говорили, что я получил зеркальный щит, и он предотвратит большинство атак, и Лайк Лайкс не сможет его съесть (последняя фраза — аллюзия к серии игр The Legend of Zelda, монстр Лайк Лайкс мог съесть некоторые типы оружия и брони, но не зеркальный щит. Вероятно, Дэвид намекает на достижении «дзена» в области безопасности — прим. ред.).
Моё исследование было частью проекта группы Securitas, главное направление которого — безопасность на уровне ПО. В диссертации я предложил быстрое обнаружение ботнетов в рамках совместных сетей пиров (вот ссылка на работу Дэвида, на английском cs.harvard.edu/malan/publications/thesis.pdf). Одним из практических следствий этой работы стал драйвер Wormboy для обнаружения червей на стороне сервера.
До прихода в Securitas я работал с профессором Мэттом Велшем, в проекте Code Blue группы SYRAH, посвященном применению беспроводных сенсорных сетей для догоспитального лечения и лечения в условиях неотложной помощи, реагирования на стихийные бедствия и реабилитации пациентов после инсультов. С этой работой был связан модуль EccM для TinyOS, который демонстрирует жизнеспособность эллиптической криптографии на MICA2”.
Как видите, с таким образованием, интересами и энергичностью, этот человек мог бы серьезно заниматься наукой или создать ИТ-компанию. Или преподавать что-то продвинутое, если уж ему так нравится делиться знаниями со следующими поколениями. Но нет, почему-то Дэвид ведет CS50 и еще несколько более или менее «новичковых» курсов, не требующих от профессора глубоких знаний. Иному учёному «ссылка» на младшие курсы, особенно постоянная, может показаться тоской смертной, но только не Малану:
«Я прослушал CS50 в Гарварде, когда учился на втором курсе, в осеннем семестре 1996 года, и он стал для меня вдохновением для перехода в компьютерные науки. Вёл его сам Брайан Керниган («К» в K&R! Под этой аббревиатурой скрывается первая книга по языку Си написанная авторами языка Брайаном Керниганом и Деннисом Ритчи. — прим. ред), сейчас он работает в Принстоне.
Летом следующего года я сменил свою главную специализацию с политических наук на компьютерные. Я до сих пор вспоминаю тот пятничный вечер, когда я погрузился в первый Problem Set (недельные домашние задания по программированию). Ощущение подъема, которое я ощутил от его решения, оказалось знаковым! С тех пор курс занял в моем сердце особое место. И если бы мне нужно было выбрать один и только один курс для преподавания, я бы не мешкал.
Мне очень повезло: в то время, когда я защитил свою диссертацию (Ph. D.) мой научный руководитель Майкл Д. Смит, который преподавал CS50, получил должность декана и мне выпала счастливая возможность взяться за курс. Попал в правильное место в правильное время!».
Слышите? Гарвардский профессор говорит о возможности преподавать новичковый курс, как о крупной удаче и осознанном выборе! И ему вовсе не скучно учить «одному и тому же из года в год»:
«CS50 меняется постоянно, причем самым нетривиальным образом, — говорит Дэвид. — порой эти изменения касаются просто расписания, чаще — применяемых технологий, а иногда и географически! (здесь Дэвид намекнул на официальный статус CS50 в другом университете Лиги Плюща, Йеле, в который курс пришёл в 2015 году — прим. ред). Эти изменения держат в тонусе, оставляя меня мотивированным и заинтересованным. Точнее, даже не так: я сам постоянно инициирую эти изменения, дабы оставаться мотивированным и заинтересованным!
Но и помимо меня всё меняется постоянно: каждый год курс слушают новые студенты, подрастают новые ассистенты и все эти люди приносят новые идеи для развития курса. Количество и качество практических заданий возрастает, как и демонстраций кода на лекциях. Парадигмы, которым мы учим, также меняются со временем (это, конечно, больше касается части курса, посвященной веб-программированию, Си изменения затрагивают в гораздо меньшей степени). Мы также не задерживаемся на платформах, к которым привыкли: в 2015 году мы подключили CS50 к современной облачной IDE вместо виртуальной машины, которую использовали до этого. В какой-то момент лекции курса появились в интернете. В 2010 году мы впервые провели Хакатон, в 2011 — ввели дни головоломок, а совсем недавно, летом 2016 года, ссостоялось первое открытое соревнование по кодингу CS50 Coding Contest, в рамках которого студентам предлагалось решать максимальное количество задач на Cи.
В настоящее время мы снимаем курс в разрешении 4К (а начинали со скромной картинки SD 4:3), а осенью 2016 года будет впервые представлена возможность его смотреть в очках виртуальной реальности. Так что однообразие из года в год — это не о CS50!»
Увлеченностью Дэвида хочешь-не-хочешь, а заражаешься. И, пожалуй, это самое главное и неоспоримое его достоинство, как лектора. Людей, которые хорошо знают материал для новичков — хватает. А вот истинных популяризаторов науки или искусства — всегда единицы, но они способны зажечь тех, кто без них бы мог никогда и не узнать, и не понять, и не почувствовать. Вспомните неутомимых популяризаторов науки, таких, как Яков Перельман в СССР или Айзек Азимов в США. Первый известен массой научно-популярных книг, таких, как «Занимательная физика» или «Занимательная математика», второй, помимо научно-фантастических книг также очень активно писал научно-популярные, на темы от арифметики и физики до географии и истории.
Можно вспомнить и Леонарда Бернстайна. У нас он известен в первую очередь как композитор (причем писал он и мюзиклы, и академическую музыку) и дирижёр, а на западе его знают и как человека, который 50-70 годы читал многочисленные публичные лекции о музыке, пытаясь донести её красоту и структуру музыки всем и повсюду. Сохранились телезаписи его «Young people concerts», рассчитанных на детей, телепередачи Omnibus для широкого круга слушателей, а также видео более серьезных лекций, прочитанных им в том же Гарварде в 1973 году. В США не одно поколение музыкантов утверждает, что начали понимать музыку именно благодаря Бернстайну-учителю, причем многие — «заочно», по записям его лекций.
Что-то нам подсказывает, что и Малана-учителя ждет (и отчасти уже воплощается) подобная участь. И он ей чрезвычайно рад:
«Раньше я и вообразить не мог, что я буду заниматься тем, чем я занимаюсь сегодня. Я начал преподавать только чтобы улучшить свой навык публичных выступлений. Впервые я заговорил перед аудиторией на третьем году моего обучения в колледже. Это было ужасающе плохо. Казалось, я никогда не смогу быть достаточно хорош для публичных выступлений. Тем не менее, я работал над их улучшением, и, кажется, кое-чего добился. Я планирую и далее их использовать: я буду преподавать CS50 так долго, как мне это позволят сделать. Почему? Потому что это то, что я люблю по-настоящему».
Комментарии (16)
uSasha
23.08.2016 13:00-1Курс был первым, из тех, которые я прошел в интернете.
С одной стороны он сильно заинтересовал меня в онлайн обучении, с другой стороны планка была очень высокой и многие курсы смотрелись просто ужасно. Приятным исключением стали курсы от института биоинформатики на Stepic.
BoogieMan75
23.08.2016 13:12Я смотрел этот курс. Что в нем такого? На мой взгляд, какое то не понятное шоу, в котором очень не хватает фраз «Иисус любит Вас» и в таком же роде.
alexx1941
23.08.2016 15:50+1Да хороший курс. Просто нужно посмотреть не только первую лекцию, но и остальные. Мнение изменится.
Для новичков сложно найти что-то лучше.PavelMSTU
23.08.2016 16:21На вкус и цвет все фломастеры разные… И ваше мнение тоже имеет место быть.
Последние пять лет я вижу какую-то лютейшую деградацию в сфере образования и очередных «популярных видосов»…
Для новичков самое лучшее — это БУМАЖНАЯ книга с задачками на Python или на «олдскульный Pascal».
Для новичнов самое лучшее — это метод «каменной задницы» и текст, текст, текст а не всякие «видео»…
Еще хорошо очное общение с нормальными спецами, которое никакими курсами не заменишь.
Лично меня, как и BoogieMan75 уже достали все эти курсы для «абсолютных новичков»…
alexx1941, вот вы сами как в IT вошли? Я думаю методом «каменной задницы» и с помощью нормальных книжек и нормальных задачек (а далее и проектов), а не просмотром «видосов» лежа на диване.
Я помимо основной работы уже 4 года преподаю раз в две недели в Бауманке.
Поверье, мое мнение «выстрадано» не одним пропащим поколением студентов.MashaJM
23.08.2016 16:42+2Разве эти лекции противоречат упомянутому Вами методу «каменной задницы»?
Они, как и почти любой другой материал, не являются панацеей и прямым путеводителем в ИТ, но, как мне (и не только мне, судя по популярности курса) кажется, новичкам они многое дают. Естественно, вместе с тщательной проработкой практических домашних заданий, чтением дополнительных материалов и прочей самостоятельной работой.
А то, что элементарный материал подан интересно и весело, — разве это плохо?
Среди выпускников CS50 есть сотрудники Google и других ИТ-компаний. Та же Сьюзен Войжицки, например. Нет, им удалось это не только благодаря CS50. Тем не менее. Если современные студенты любят, когда в процессе обучения присутствуют игровые и развлекательные элементы, это не делает их тупыми или деградирующими. Главное, чтобы после соответствующей лекции они пошли домой и сели за программирование. Тогда все будет хорошо. Что бы их на это ни толкало, игровые элементы или развлечения.
Не стоит недооценивать силу мотивации.
Randl
23.08.2016 16:57+1Курс Гарварда как пример деградации в сфере образования это сильно
PavelMSTU
23.08.2016 17:55-2Я сторонник мнения А.И.Фурсова. Гарвард — это статусный вуз, не имеющий никакого отношения к качеству образования.
Но это идеологический спор. Как вижу по минусам — моя точка зрения в откровенном меньшинстве.Randl
23.08.2016 18:15+2Вам довелось сравнить хотя бы сотню случайных выпускников Гарварда с сотней выпускников любого вуза в котором по вашему качественное образование и найти объективные доказательства вашей теории? Немногим доводится сравнить качество образования двух вузов в принципе, но отрицательных отзывов на Гарвард практически нет (а они разлетелись бы быстро, каждый не поступивший/не имеющий возможности оплатить трубил бы об этом на каждом углу).
Во первых, статус позволяет привлекать лучших студентов и лучших профессоров.
Во вторых, без качества образования статус долго не протянет, потому что работодатели поймут, что смысла переплачивать за имя нет, следом абитуриенты поймут, что смысла переплачивать за имя нет и всё — прощай статус. Конечно, можно возразить, что Гарвард набирает лучших, и независимо от качества образования — они лучшие. Но лучших набирает не только Гарвард, и соответственно относительно прочих вузов своего уровня его статус все равно бы упал.
uSasha
23.08.2016 17:30+1Насчет бумаги не согласен, у всех по разному работают разные каналы информации.
Безусловно, обучаться исключительно по видео нереально, этого никто не предлагает.
Если не сложно, то добавьте полезной информации от себя:
скиньте название бумажной книжки с задачками на Python, многим это пригодится, возможно кому-то это будет полезнее.
К самому курсу, к стати, есть список дополнительной литературы, дополнительные задачи для глубокого изучения.
Видео это ТОЛЬКО лекции. Вы в институте лекций считаете проводить не нужно?
BoogieMan75
23.08.2016 17:09Я же не сказал, что он плохой. Я имел в виду, что стиль ведения напомнил… (выше сказано).
bagiroff777
23.08.2016 21:56Я думаю, вы не раз встречали людей, понимающих материал, так сказать, 'на интуитивном уровне'? Такие люди сами хватают материал и им его не нужно вдалбливать. Их легче обучать, не так ли?Так вот, мне кажется, такие уроки имеют больше шансов привить тягу к данной сфере. Это, так сказать, популяризация.
Надеюсь, эта задумка выгорит и мне лет в 40-50 не придется больше обьяснять бухгалтерам, как работает компьютер.
mikhailaukiryl
23.08.2016 19:35Не стоит забывать, что это курс для домохозяек, которые решили начать изучать программирование с нуля
alexx1941
23.08.2016 16:39+2Ну это не очередной «популярный видос» для просмотра на диване из серии «C++ за 5 часов» =)
Это все-таки самый популярный курс Гарвардского университета) Одного из лучших ВУЗов в мире. И он не такой простой как кажется на первый взгляд. Нужно просто посмотреть больше, чем несколько первых лекций. Да, он сделан интересно, но что в этом плохого? В нем много практики, куча интересных заданий.
Никто же не говорит, что не нужно ничего делать, а только сидеть смотреть этот курс и больше ничего. Но для тех кто начинает изучать программирование этот материал весьма полезный.
DiegoV
23.08.2016 19:35+2Даже для человека уже с опытом программирования за плечами курс не перестает быть интересным и увлекательным. Это очень радует и отчасти даже поражает. Было бы прекрасно увидеть более сложные курсы и лекции в представлении Дэвида Малана.
Mats
Крутой мужик, крутой курс. Спасибо за перевод!