WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!

Pages:     | 1 |   ...   | 44 | 45 || 47 | 48 |   ...   | 63 |

Кстати, подход на основе ядра до некоторой степени решает и проблему старения знаний преподавателей — я с 2004 г. больших программ не писал, но долгое время преподавал компьютерную гра фику и программирование интерактивных графических приложе ний с помощью библиотеки OpenGL. Скажу следующее: OpenGL может исчезнуть, все оборудование может измениться, но базовые алгоритмы останутся прежними, а нестареющие принципы органи зации качественных библиотек визуализации я вряд ли когда ни будь забуду.

Остается еще вопрос, где взять это самое ядро, что в него должно быть выделено, чему углубленно учить. При определении того, что входит, а что не входит в данный предмет, специалисты рекомендуют сосредоточиться на общепринятых знаниях и практических методах.

Как и повсюду в нашем мире здесь нет однозначного ответа. Ряд про фессиональных сообществ, ассоциаций, а также крупные работодате ли разрабатывают различные стандарты на ИТ профессии (какими компетенциями должен обладать сотрудник на той или иной должно сти, занимающийся тем или иным делом) и рекомендации для органи заций, ведущих обучение по ИТ направлениям.

Что касается рекомендаций, то, наверное, наиболее известными являются два документа (точнее, два проекта).

Первый проект — «Рекомендации по преподаваниюинформати ки в университетах. Computing Curricula 2001: Computer Science» (CC2001) совместного производства ACM и IEEE CS. Осенью1998 г.

Глава 9. Сначала «Чему», затем «Кого»... и уж потом — «Как» IEEE CS и ACM основали специальнуюКомиссиюс цельюпересмотра существовавших на тот момент руководств по составлению учебных планов для университетских программ по ИТ и, в частности, компью терным наукам. Официально задача работы комиссии была сфор мулирована следующим образом: пересмотреть рекомендации ACM и IEEE CS по учебным планам 1991 г. и разработать исправленную и дополненную версию для 2001 г., которая будет учитывать самые последние достижения компьютерных технологий за последнее деся тилетие и которая сможет выдержать проверку временем в течение последующего десятилетия. Проверку временем документ выдержал, используется до сих пор многими вузами и в России, но уже в 2005 г.

стало ясно, что все ИТ шные профессии одними рекомендациями не охватить, поэтому новая версия CC2005 включила в себя CC2001, а также дополнительные тома с рекомендациями по обучению:

специалистов по информационным системам (IS2002);

cпециалистов по программной инженерии (SE2004);

специалистов по информационным технологиям (IT2006) и т. д.

[168] Я все таки остановлюсь в рассмотрении на CC2001, поскольку давно прикипел к нему душой и поскольку я обучение программистов все же трактую, скорее, как обучение компьютерной науке, нежели как, например, обучение программной инженерии (есть у меня и еще один недостаток, каюсь: я всех ИТ специалистов воспринимаю через призму программирования, по отношениюк нему или в отрыве от не го). Конечно, в зависимости от специфики обучения и требующегося результата каждый из этих документом может быть полезен.

Самое важное, что имеется в CC2001 — это «Структурированная совокупность знаний по информатике». Совокупность организована в виде трехуровневой иерархической структуры. На верхнем уровне иерархии находится область, представляющая собой отдельную часть дисциплины информатики. Каждая область обозначается двухбуквенной аббревиатурой, например, OS для операционных систем (англ. operating system) или PL для языков программирования (англ. programming language). Области делятся на меньшие структуры, называемые разделами, которые представляют собой отдельные тема тические модули внутри области. Каждый раздел обозначается чис ленным суффиксом, добавляемым к имени области, например, OSобозначает раздел параллелизма. Каждый раздел, в своюочередь, со стоит из набора тем, представляющих собой нижний уровень этой иерархии (табл. 9.1).

Табл. 9.1 Совокупность знаний по информатике. Версия CC2001. Два верхних уровня иерархии Раздел Темы DS. Дискретные структуры DS1. Функции, отношения и множества DS2. Основы логики DS3. Методы доказательства DS4. Основы вычислений DS5. Графы и деревья DS6. Дискретная вероятность PF. Основы программирования PF1. Основные конструкции программирования PF2. Алгоритмы и решение задач PF3. Фундаментальные структуры данных PF4. Рекурсия PF5. Событийно управляемое программирование AL. Алгоритмы и теория сложности AL1. Основы анализа алгоритмов AL2. Алгоритмические стратегии AL3. Фундаментальные вычислительные алгоритмы AL4. Распределенные алгоритмы AL5. Основы теории вычислимости AL6. Классы сложностиPиNP AL7. Теория автоматов РЕАЛЬНОСТЬ 2.0b. Современная история информационного общества AL8. Углубленный анализ алгоритмов AL9. Криптографические алгоритмы AL10. Геометрические алгоритмы AL11. Параллельные алгоритмы AR. Архитектура и организация ЭВМ AR1. Цифровая логика и цифровые системы AR2.

Представление данных в памяти компьютера AR3. Организация машины на уровне ассемблера AR4. Устройство памяти компьютера AR5. Взаимодействие и коммуникации AR6. Функциональная организация AR7. Многопроцессорные и альтернативные архитектуры AR8. Улучшение производительности AR9. Архитектура сетевых и распределенных систем OS. Операционные системы OS1. Обзор операционных систем OS2. Основы операционных систем OS3. Параллелизм OS4. Планирование и диспетчеризация OS5. Управление памятью OS6. Управление устройствами OS7. Безопасность и защита данных OS8. Файловые системы Глава 9. Сначала «Чему», затем «Кого»... и уж потом — «Как» Раздел Темы OS9. Встроенные системы и системы реального времени OS10. Отказоустойчивость OS11. Оценка производительности системы OS12. Языки сценариев NC. Распределенные вычисления NC1. Введение в распределенные вычисления NC2. Сети и телекоммуникации NC3. Сетевая безопасность NC4. Web как пример архитектуры «клиент сервер» NC5. Разработка web приложений NC6. Управление сетями NC7. Сжатие и распаковка данных NC8. Технологии мультимедиа NC9. Беспроводные и мобильные компьютеры PL. Языки программирования PL1. Обзор языков программирования PL2. Виртуальные машины PL3. Введение в трансляцию PL4. Переменные и типы данных PL5. Механизмы абстракции PL6. Объектно ориентированное программирование РЕАЛЬНОСТЬ 2.0b. Современная история информационного общества PL7. Функциональное программирование PL8. Системы трансляции PL9. Системы типов PL10. Семантика языков программирования PL11. Разработка языков программирования HC. Взаимодействие человека HC1. Основы взаимодействия человека и машины и машины HC2. Построение простого графического интерфейса HC3. Оценка программного обеспечения, ориентированного на человека HC4. Разработка программного обеспечения, ориентированного на человека HC5. Проектирование графического интерфейса пользователя HC6. Программирование графического интерфейса пользователя HC7. Человеко машинные аспекты мультимедиа систем HC8. Человеко машинные аспекты сотрудничества и коммуникаций GV. Компьютерная графика GV1. Фундаментальные методы в графике и визуализация GV2. Графические системы GV3. Графические коммуникации GV4. Геометрическое моделирование GV5. Основы рендеринга GV6. Углубленное изучение рендеринга GV7. Более сложные методы Глава 9. Сначала «Чему», затем «Кого»... и уж потом — «Как» Раздел Темы GV8. Компьютерная анимация GV9. Визуализация GV10. Виртуальная реальность GV11. Компьютерное зрение IS. Интеллектуальные системы IS1. Основные вопросы, связанные с интеллектуальными системами IS2. Поиск решений IS3. Представление знаний и вывод IS4. Углубленное изучение поиска IS5. Углубленное изучение представления знаний и вывода IS6. Агенты IS7. Обработка естественного языка IS8. Обучение машины и нейронные сети IS9. Системы искусственного интеллекта с планируемым поведением IM. Управление информацией IM1. Информационные модели и системы IM2. Системы баз данных IM3. Моделирование данных IM4. Реляционные базы данных IM5. Языки запросов к базам данных IM6. Проектирование реляционных баз данных РЕАЛЬНОСТЬ 2.0b. Современная история информационного общества IM7. Обработка транзакций IM8. Распределенные базы данных IM9. Проектирование физической структуры базы данных IM10. Извлечение информации IM11. Хранение и поиск информации IM12. Гипертекст и гипермедиа IM13. Мультимедийная информация и системы мультимедиа IM14. Цифровые библиотеки SP. Социальные и професс SP1. История информатики иональные вопросы SP2. Социальный контекст информатики SP3. Методы и средства анализа SP4. Профессиональная и этическая ответственность SP5. Недостатки компьютерных систем и риски, связанные с их применением SP6. Интеллектуальная собственность SP7. Конфиденциальность и гражданские свободы SP8. Компьютерные преступления SP9. Экономические вопросы, связанные с применением компьютеров SP10. Философские концепции Глава 9. Сначала «Чему», затем «Кого»... и уж потом — «Как» Раздел Темы SE. Программа инженеров SE1. Проектирование ПО SE2. Использование программных интерфейсов приложений SE3. Программные средства и окружения SE4. Процессы разработки ПО SE5. Спецификации и требования к ПО SE6. Проверка соответствия ПО SE7. Эволюция ПО SE8. Управление программными проектами SE9. Компонентно ориентированная разработка SE10. Формальные методы SE11. Надежность ПО SE12. Разработка специализированных систем CN. Вычислительная математика CN1. Численный анализ и численные методы CN2. Исследование операций CN3. Моделирование CN4. Высокопроизводительные вычисления РЕАЛЬНОСТЬ 2.0b. Современная история информационного общества Глава 9. Сначала «Чему», затем «Кого»... и уж потом — «Как» Разделы, которые комиссия посчитала необходимыми для изуче ния студентами внутри вузов, в приведенной таблице выделены курси вом [169].

Другой интересующий нас проект — проект по определениюобще принятых элементов инженерии ПО возглавили Исследователи Уни верситета Квебека в Монреале.

Их усилия также координировали ACM и IEEE CS и привлекли как ученых, так и представителей отрасли. В це лом эта работа получила название «Руководство к своду знаний по про граммной инженерии» (англ. Guide to the Software Engineering Body of Knowledge, SWEBOK). Инженерия ПО черпает знания из компьютер ной науки, математики, наук о мышлении (психологии и социологии), управлении проектами и из различных инженерных дисциплин.

В качестве стартовой позиции проект SWEBOK определил облас ти знаний, позволяющие получить базовые умения и навыки профес сионального инженера ПО (см. рис. 9.3):

Требования к ПО. Выявление, описание и анализ требований, которым должно удовлетворять программное обеспечение.

Проектирование ПО. Определение базовой структуры системы на архитектурном и детализированном уровнях, разбиение на модули, определение интерфейсов модулей и выбор алгоритмов внутри модулей.

Создание ПО. Реализация ПО, включая детальное проектиро вание, написание программ, отладку, тестирование компонент, технические экспертизы и оптимизацию производительности.

В какой то степени этот пункт пересекается с проектированием и тестированием ПО.

Тестирование ПО. Все действия, связанные с прогоном про грамм для оценки их возможностей и обнаружения дефектов.

Тестирование включает его планирование, схему конкретных испытаний и специальные виды тестирования, включая тесты разработки, интегрирования, системные тесты, регрессионные тесты и приемные испытания.

Обслуживание ПО. Обновление и расширение готового ПО, соответствующая документация и тестирование.

Управление конфигурацией ПО. Определение, документирова ние и контроль изменений по версиям для всей интеллектуаль ной собственности, созданной в ходе проекта, включая исход ный код, ресурсы (графика, звук, текст и видео), требования, проекты, материалы тестирования, оценки, планы и пользова тельскуюдокументацию.

308 РЕАЛЬНОСТЬ 2.0b. Современная история информационного общества Рис. 9.3. Источники информации в области знаний инженерии ПО Качество ПО. Все работы, связанные с обеспечением соответст вия техническим требованиям компонент ПО. Управление каче ством включает планирование мероприятий по его обеспече ниюи измерению, обеспечение надежности, тестирование, тех нические экспертизы, аудиты, а также сверку и утверждение.

Управление разработкой ПО. Планирование, отслеживание и контроль проекта по разработке ПО, работ по созданиюПО или организации, занимающейся его разработкой.

Инструменты и методы разработки ПО. Поддержка методоло гии и инструментария, таких как CASE средства, прикладные библиотеки пользователя и формальные методики, включая прак тику внедрения и распространения методов и инструментария внутри организации.

Процесс разработки ПО. Работы, связанные с повышением ка чества процессов разработки ПО, с соблюдением сроков, повы шением производительности и других характеристик проекта и продукта [20].

В руководстве каждая из перечисленных областей разбивается на более мелкие компоненты, имеются исчерпывающие пояснения.

Документ также содержит подробный справочник по терминам и по нятиям, основной и дополнительный списки литературы (разумеется, англоязычной, но все равно это просто замечательно) и список ИТ стандартов по каждой рассматриваемой области инженерии ПО. За Глава 9. Сначала «Чему», затем «Кого»... и уж потом — «Как» падным преподавателям и администраторам учебных процессов в этом отношении повезло: берешь SWEBOK, изучаешь и не просто состав ляешь учебный план «на любуюзаданнуютему», но и подводишь под него методическуюбазу в виде книг и стандартов (лично у меня с анг лийским языков в смысле чтения тоже проблем нет). И все благодаря чудовищной по объему работе, проделанной создателями SWEBOK.

Текущей версией является SWEBOK’2004 [170], однако на мо мент написания этих строк (жарким летом 2010 г.) уже принято реше ние об обновлении документа (разработке SWEBOK’2010).

Помимо прочего, большуюработу по стандартизации ИТ профес сий проводит российская АПКИТ [171] (см. табл. 9.2). Квалификаци онные требования АПКИТ — это документ в формате:

профессия;

уровень;

должностные обязанности;

навыки.

На эти стандарты также стоит ориентироваться, поскольку они от ражают представление работодателя (точнее большой группы россий ских работодателей) о том, кого он хочет видеть в качестве своего со трудника.

Нужно только иметь в виду, что это — взгляд на готового специа листа, средство оценки его профпригодности, а не руководство по воспитаниюнужного специалиста с нуля, стандарты не содержат ука заний на то, как учить студента, в рамках каких дисциплин (один и тот же куст можно вырастить разными способами).

Pages:     | 1 |   ...   | 44 | 45 || 47 | 48 |   ...   | 63 |



© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.