9 апреля 2007 · Запись

Пять компьютерных дисциплин

Мои заметки по обзору североамериканских учебных программ в области компьютинга (http://www.acm.org/education/curric_vols/CC2005-March06Final.pdf, Computer Curriculum 2005г.): Тамошние товарищи пошли по двумерному картированию компьютинга: "компьютерный хардвер и архитектура -- системная инфраструктура -- софтовые методы и технологии -- прикладные технологии -- вопросы организации и информационные системы" по одной оси, и "теории -- приложения и разработка по другой оси". Далее на этих координатах пятнами рисуются разные дисциплины: Всего в компьютинге появилось пять дисциплин, которые готовят: -- computer engineering: хардверщиков, умеющих впаивать микроконтроллеры в пластмассовых зайцев; -- software engineering: программистов, которые реально умеют писать программы. Engineering = robust methods for creating reliable artifacts. -- computer science: "специалистов широкого профиля", которые потом подаются в самые разные стороны -- в том числе становятся сисадминами, программистами, в меньшей мере -- учеными и исследователями (хотя готовят из них прежде всего исследователей). -- information systems: системных аналитиков, которые разбираются в информационных потоках организаций. "Процессный подход", схемы баз данных для бухучета и прочая бизнес-премудрость. Чаще всего можно найти в бизнес-школах. -- information technology: сисадмины с высшим образованием. Критерий появления учебной дисциплины: curriculum guidelines, которые утверждены и опубликованы одним или более международным профессиональным и научным обществами. Нет этих guidelines -- нет и учебной дисциплины. Как я понимаю, если хочется создать новую учебную дисциплину, нужно продолбить какую-то международную ассоциацию. Понятно, что дисциплины тем самым появляются нечасто -- раз в десяток лет. Так что в обзоре представлен отнюдь не весь зверинец: есть еще программы по телекоммуникациям, сетевой безопасности, интерактивным мультимедиа, information science и другие. В 2005 году было около 5000 разных имен учебных программ, как-то связанных с компьютингом, и отнюдь не все из них можно условно отнести к предлагаемой ACM классификации на пять учебных компьютерных дисциплин. Computing Ontololy Project был нужен для того, чтобы отмоделировать общее во всех этих пяти дисциплинах -- http://what.csc.villanova.edu/twiki/bin/view/Main/OntologyProject (представляет собой что-то типа "объединенной учебной программы" для всех компьютерных курсов). Состояние на год назад -- http://what.csc.villanova.edu/~cassel/9010SemanticWeb/Project_Status_20060327.ppt Software Engineering Ontology Project (http://what.csc.villanova.edu/twiki/bin/view/Main/SoftwareEngineering). А сейчас эти ребята (начав делать эту онтологию в Protege) засунули ее в ResearchCyc -- и собираются поддерживать далее как OWL, так и CYC-репрезентации. Только сегодня крутил в метро в ладошках полкилограмма своего странного компьютерного устройства (которое я повесил на пояс -- вместо фотоаппарата), и думал -- какие новые приложения могут быть использованы, когда через пару лет следующее поколение таких девайсов будет втрое быстрее, вдвое легче, с впятеро более долгой батарейкой и вдесятеро более емким флеш-драйвом? И вспомнилось мне, что Ленат видел CYC как раз в таком компьютере в качестве "персонального советника". Еще пяток лет назад это читалось как весьма отдаленное будущее -- а вот поди ж ты. И опять я крепко задумался. Собственно, я потихоньку двигаюсь в направлении пункта 2 моей Программы работ http://ailev.livejournal.com/461813.html (в которой, конечно, много по ходу дела уточняется -- так, "операционный менеджмент" был заменен на "администрирование". Но в целом -- предложенную последовательность я удерживаю). Как-то я не рассматривал раньше CYC как моделлер. И вот на тебе: в области компьютерных учебных программ существует огромный задел, и он выполнен в CYC (хотя есть и OWL-версия). Крепко задумался. IFIP group (2002г.) нашла семь аспектов разработки учебных планов: -- body of knowledge (совокупность знаний) -- foundational material (основные сведения) -- application context (контекст приложений) -- social context (социальный контекст, что бы это ни значило) -- Breadth and Depth (широта и глубина) -- Thematic Coherence (тематическая согласованность) -- outcomes (результаты) Подход к образованию компьютерщиков бывает двух видов: фильтра (filter) и воронки (funnel). Фильтр -- это когда компьютерщика сразу грузят специализацией, отфильтровывая на ранних этапах тех студентов, которые ошиблись и учатся не своему делу. Воронка -- это когда сначала образовывают широко и мелко, давая возможность осмотреться и выбрать специализацию потом. Конкурируют с академическим образованием сертификации профессиональных организаций (IEEE-SC, BCS, ICCP) -- это самый большой тренд. Еще один тренд -- аккредитация образовательных учреждений (чтобы убедиться в том, что они имеют ресурсы и процедуры -- библиотеку, правила приема и отчисления, штатных преподавателей и т.д.). Тем не менее, в США практически все CE программы аккредитованы, большинство CS аккредитовано, а аккредитация IS, IT и SE программ только-только начинается.

Читать обсуждение →