Кто Вы, профессор Малан?

в 7:16, , рубрики: computer science, cs50, cs50 на русском, david malan, harvard, Блог компании JavaRush, дэвид малан, основы программирования, Учебный процесс в IT

image

Эта статья расскажет о гарвардском курсе «Основы программирования CS50» под немного другим углом: сквозь призму личности, того, кто создал этот курс в его современном виде, харизматичном Дэвиде Малане.

Нетипичный курс

Аудитория Sanders Theater, Мемориальный Холл Гарвардского университета, город Кембридж, Массачусетс. Здесь проходят не только лекции, но концерты, спектакли, церемонии награждения, выступления известных людей. Эти стены привыкли к торжественному шуму самого разного толка. Но даже для них курс CS50, курс по основам программирования и компьютерных наук, с его эффектно разорванными бумажными справочниками, диджеями, куклами, отрывками из сериалов и прочими элементами массовой культуры — нетипичен, как и в целом для Гарварда.

image

Да что там: для любого вуза мира он нетипичен (театральные специальности не берем, там другие задачи). Тем не менее, принимает CS50 именно Sanders Theater, поскольку эта аудитория — самая большая в Гарварде. В другие помещения все желающие слушать лекции профессора Малана рискуют не поместиться. Последние годы CS50 уверенно лидирует по количеству студентов его выбирающих (мы, естественно, не считаем «виртуальных» слушателей из интернета).

image

Так было не всегда. В Гарварде CS50 обосновался ещё в восьмидесятые годы минувшего столетия, но был совсем другим: качественным (а как иначе в Гарварде!), но вполне традиционным по стилю, курсом программирования для новичков. Не слишком многочисленным, но вдохновившим многих стать «айтишниками».

Кардинальные изменения пришли в 2007 году, когда CS50 возглавил Дэвид Малан. С его приходом курс стал похож на увлекательное шоу с отменно прописанным сценарием, постоянным вовлечением зрителей (студентов) и различных персонажей, начиная от кукол-«маппетов» и заканчивая «живыми» звездами ИТ-шного мира, связанными с Гарвардом — Марком Цукербергом, Биллом Гейтсом, Стивом Баллмером…

Кому-то покажется, что шоу в этих лекциях — слишком много. Но! Важно отметить, что качество курса, его академичность и наполненность — не пострадали. Скорее, наоборот: CS50 постоянно развивается, подхватывает инновации, и вовсе не выглядит застывшим изваянием из прошлого, состоящим из канувших в Лету технологий, которыми пичкают наших студентов почти везде. В конце концов, это один из первых университетских курсов, полностью доступный в интернете.

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

Конечно, рост курса нельзя приписать исключительно Дэвиду с его харизмой и недюжинными режиссерскими способностями: сама сфера и интерес к ней неизменно растут независимо от его усилий. Возможно, с ядерной физикой этот номер не прокатил бы. Да и не перетягивает Дэвид на себя всё одеяло: ему ассистируют многочисленные помощники из числа молодых преподавателей и вчерашних студентов курса. Тем не менее, для многих профессор Малан, который умеет не только рассказать просто о сложном, но и вдохновить — одна из главных причин записи на курс. Так, шестую лекцию «CS50 Основы программирования», переводами которого мы заняты, вел не Малан, а его помощник Роб Боуден. Увидев незнакомца, некоторые зрители онлайн-версии курса взволновались: уж не собирается ли Дэвид оставить CS50 и заняться чем-то другим? Возможно, подобающими профессору научными исследованиями или более «продвинутыми» курсами? В конце-концов, человеку может стать скучно год от года преподавать одно и то же, а уж тем более — основы основ.

Спешим заверить: никуда Дэвид Малан от CS50 не денется. И в следующем разделе статьи мы постараемся объяснить, почему. Точнее, он сам нам всё расскажет.

Нетипичный профессор

Дэвид Малан, профессор с приставкой «Gordon McKay» (это имя — дополнительный почётный титул гарвардской профессуры, учрежден в честь мецената и филантропа Гордона Маккея), вероятно, самый известный действующий преподаватель Гарварда.

image

В графе «О себе» на его 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 так долго, как мне это позволят сделать. Почему? Потому что это то, что я люблю по-настоящему».

Автор: JavaRush

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js