Принципы, опыт и результаты преподавания информационных технологий на основе инноваций и сотрудничества с ведущими компьютерными фирмами
Сафонов Владимир Олегович, д.т.н., профессор кафедры информатики (v_o_safonov@mail.ru)
Санкт-Петербургский Государственный университет
Аннотация
Рассматриваются принципы преподавания ИТ, разработанные и используемые автором
при преподавании широкого спектра дисциплин в области ИТ на математико-механическом
факультете СПбГУ в течение 30 лет. Анализируется опыт преподавания и исследований
на основе многолетнего сотрудничества с Microsoft и Sun Microsystems по созданию
компиляторов, развитию Java-технологии, разработкам на платформе Microsoft.NET,
аспектно-ориентированному программированию, инженерии надежных и безопасных программ.
Излагаются результаты работ, приводятся ссылки на оригинальные учебные и исследовательские
материалы, полезные многим коллегам
Преподавание ИТ в современных условиях немыслимо без инноваций. Результатом преподавания
ИТ в университете для студентов должно быть, прежде всего, повышение их активности,
заинтересованности и компетентности в самых новых областях ИТ, – например, таких,
как инженерия надежных и безопасных программ (trustworthy computing, secure software
engineering); аспектно-ориентированное программирование; Java-технология; платформа
Microsoft.NET. Студенты должны почувствовать себя причастными к созданию и развитию
новейших инновационных ИТ-технологий. Для этого, с другой стороны, они должны
хорошо представлять себе ход исторического развития концепций и методов ИТ, что
поможет их правильно оценивать и использовать.
В докладе излагаются принципы парадигмы преподавания ERATO (Experience – Retrospective
– Analysis – Theory – Oncoming perspectives) [1], используемой автором в течение
30 лет, и ее развития – Trustworthy ERATO (T-ERATO) [2], предназначенного для
преподавания надежных и безопасных вычислений.
Рассматриваются опыт и результаты сотрудничества с Microsoft – преподавательские
проекты SPBU.NET [1] и TrustSPBU.NET [2], а также исследовательские проекты Aspect.NET
[3, 4] – инструментарий аспектно-ориентированного программирования для Microsoft.NET;
Phoenix-FETE и HL-AST, результаты которых активно используются в преподавании.
Коллектив под руководством автора является первым академическим пользователем
технологии Microsoft Phoenix [5] для создания оптимизирующих компиляторов, участвует
в Phoenix Academic Program, в академической программе Microsoft Windows Shared
Source, а также в преподавании надежных вычислений, поддержанном Microsoft в рамках
инициативы Trustworthy Computing. Студенты и аспиранты с большим интересом принимают
участие в этих инновационных проектах, защищая по ним дипломы и диссертации, приобретая
уникальный опыт разработки и имея возможность убедиться в том, что результаты
их работы вызывают интерес и используются не только в России, но и во многих странах
мира.
Автор и его коллектив поддерживают многолетнее сотрудничество с другой ведущей
компьютерной фирмой – Sun Microsystems в области компиляторов, инструментальных
средств программирования и Java-технологии. Это сотрудничество принесло свои плоды
– в Петербурге в 2004 г. создан Центр высоких технологий Sun на основе созданного
автором коллектива, с которым мы поддерживаем тесное сотрудничество в области
преподавания ИТ и по исследовательским проектам. В докладе рассматривается преподавательский
проект по обучению Java-технологии и компиляторам, поддержанный Sun, а также результаты
по совместному с Sun исследовательскому проекту Make2NetBeans, интегрированные
в известный международный проект NetBeans, что особенно важно для реализаторов
проекта – студентов мат-меха СПбГУ.
Большой интерес у студентов вызывает также направление ИТ, связанное с инженерией
знаний и интеграцией методом инженерии знаний и инженерии программ. В этой области
наш коллектив ведет преподавательскую и исследовательскую работу в течение более
20 лет. Ее результатом явилось чтение курса по экспертным системам на нашем факультете
в течение 15 лет, разработка и реализация языка инженерии знаний Турбо-Эксперт
[6], разработка и реализация расширения Java для представления знаний Java Expert
[7] и, наконец, разработка современного инструментария для инженерии знаний (онтологий,
фреймов, наборов правил) Knowledge.NET [8, 9] для Microsoft.NET на базе расширения
языка C#, в рамках проектов, поддержанных Комитетом по науке Правительства Санкт-Петербурга.
Эти исследования значительно расширяют круг интересов студентов и аспирантов,
позволяя им не замыкаться в рамках лишь традиционного программирования и лучше
осознавать ход развития и современные тенденции ИТ.
Группа аспирантов (22 человека) и студентов мат-меха под руководством автора с
большим интересом и пользой для своего современного инновационного образования
в области ИТ участвует в исследовательских работах по описанным в докладе и другим
проектам возглавляемой автором лаборатории Java-технологии [10]. На семинаре лаборатории
обсуждаются результаты исследований. На сайте лаборатории [10] публикуются материалы
семинара, материалы об истории и результатах лаборатории, а также программы всех
учебных курсов и семинаров автора.
В заключение, в докладе предоставляются ссылки на учебные материалы и результаты
исследовательских проектов – современные работающие системы Aspect.NET, Knowledge.NET
и другие. Все эти материалы могут оказаться очень полезными для многих коллег
из российских вузов. Анализируются перспективы развития и намечаются направления
дальнейших работ.
Литература:
- Safonov V.O. SPBU.NET: principles and experience of teaching .NET, compilers,
software engineering and OS. – .NET Developer’s Journal, 2006, #2.
- Safonov V.O. TrustSPBU.NET: Extending university courses on .NET, compilers,
software engineering and OS by trustworthy computing content. – .NET Developer’s
Journal, 2007, #7 (to be published)
- Aspect.NET 2.0 – инструментарий АОП для Microsoft.NET. http://www.msdnaa.net/curriculum/?id=6595
- Safonov V.O, Grigoryev D.A.. Aspect.NET : aspect-oriented programming for Microsoft.NET
in practice – .NET Developer’s Journal, 2005, # 7.
- Сайт проекта Phoenix: http://research.microsoft.com/phoenix
- Сафонов В.О. и др. Язык представления знаний Турбо-Эксперт. – Кибернетика и
системный анализ, 1991, № 5.
- Safonov V.O., Cherepanov D.G. An extension of Java by production knowledge
representation features and its implementation. – Proceedings of the International
Conference «110th Anniversary of Radio Invention», St. Petersburg, May 2005.
- Сайт проекта Knowledge.NET: http://www.knowledge-net.ru
- Сафонов В.О., Новиков А.В., Черепанов Д.Г., Сигалин М.В., Смоляков А.В. Интеграция
инженерии знаний и инженерии программ: система управления знаниями Knowledge.NET.
– Компьютерные инструменты в образовании, 2005, № 5.
- Сайт лаборатории Java-технологии НИИ математики и механики Санкт-Петербургского
государственного университета: http://polyhimnie.math.spbu.ru
|