MOSCOW CENTER
OF IEEE COMPUTER SOCIETY

Computer Society и образование в России


═══════════════════ COMPUTING CURRICULA 1991

════════════ перечень учебных предметов по дисциплине

══════════ "Вычислительная техника и программирование"


════════════ – Примеры конкретных учебных программ═════════════════

════ подготовки студентов по программированию (computer science)

═══════════════ для получения звания бакалавра═══════════════════

═════════ (и возможности поступления в аспирантуру)══════════════


═══

══════ Общие замечания:

═══ 1) В семестре - 14 недель (без учета экзаменов)

═══ 2) 1 кредитный час = 1 лекционный час = 2 часа практич. занятий (1 час = 45-50 минут)

═══ 3) Все курсыполугодовые (семестровые);обычно в неделю на курс отводится 3 кредитных часа (2 часа лекций + 2 часа практ. занятий)

═══ 4) Содержание каждого курса описывается через модули знаний(AL1, OS4и т.п.), при этом для каждого модуля указывается дробь p/q, где q - общее число лекционных часов, отводимых на весь модуль, из них p ча сов отводится на модуль в данном курсе.

═══ 5)Предлагаемые учебные дисциплины по программированию обозначены Ck0n,где C означает Computing,k - номер курса (1, 2, 3 или 4),на котором она читается, а n - порядковый номер дисциплины на этом курсе.

══════════════════════════════════════════════════════════════════

═══

══════════════ ПРИМЕР D.

═══ Особенность программы: основное внимание уделяетсяреализаторским аспектам программирования.

═══ Всего программа предусматривает 40 курсов, изних16курсовпо программированию, в том числе 10 обязательных и 6 по выбору.

═══

═══════ Обязательные курсы по программированию:

═══

════════ C101 и C102. Введение в программирование I и II

══════════ (84 кред. часов, из них 39 лекц. часов)

═══ Тематика:современныеязыкипрограммирования, структуры данных, процедуры, методы решения задач, сложностьвычислений,сортировкаи поиск, интерфейс с пользователем,знакомство на практических занятиях с конкретными системами.

═══ Модули знаний: AL1 (5/13), AL2 (1/2), AL3 (1/3),AL4(1/4),AL6 (3/6),AL8(2/6),HU1(2/5),NU1 (3/3), NU2 (4/4), PL1 (2/2), PL4 (2/4), SE1 (4/16), SE2 (1/8), SE3 (1/4), SE5(1/8),SP1(2/3),SP2 (1/3), SP4 (1/2).

═══ Врамкахвыделенных84 кред. часов рекомендуется читать (парал лельно или включав в IP) курс "Введение в языки программирования" (PR) - 12 лекц. часов.

═══

════════ C201. Введение в компьютерные системы

══════════ (42 кред. часа, из них 25 лекц. часов)

═══ Тематика: физические основы ЭВМ, цифровая логика и ицфровые системы,системотехника, характеристики устройств; методы проектирования и реализации на аппаратном и программном уровнях, спецификации; графиче ский интерфейс.

═══ Модули знаний: AR1 (12/12), AR2 (4/6), AR (2/3), HU1 (2/5), SE1 (2/16), SE2 (1/8), SE3 (1/4), SE5 (1/8).

═══

════════ C202. Анализ и разработка алгоритмов

══════════ (42 кред. часа, из них 34 лекц. часов)

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

═══ Модулизнаний:AL1(8/13), AL2 (1/2), AL3 (2/3), AL4 (3/4), AL5 (4/4), AL6 (3/6), AL7 (3/6), AL8 (1/6), AI1 (3/3), AI2 (6/6).

══════════════════════════════

════════ C301. Архитектура ЭВМ и язык ассемблера

══════════ (42 кред. часа, из них 21 лекц. час)

═══ Тематика: архитектура ЭВМ, машинное представление данных, программирование на языке ассеблера, ввод-вывод.

═══ Модули знаний: AR2 (2/6), AR3 (1/3), AR4 (12/15), AR5 (6/13).

═══

════════ C302. Программные системы

══════════ (42 кред. часов, из них 30 лекц. часов)

═══ Тематика: методы проектирования и реализации систем среднейсложности, параллельныевычисления, базы данных,интерфейс с пользователем.

═══ Модули знаний: AL7 (3/6), AL8 (3/6), AL9 (3/3), DB1 (3/4), DB2 (5/5),HU2(3/3),PL2(2/2),PL3 (2/2), SE1 (1/16), SE (1/8), SE3 (1/4), SE4 (1/8), SE5 (1/8).

═══

════════ C303. Программная инженерия

══════════ (42 кред. часа, из них 32 лекц. часа)

═══ Тематика:проблемыпроектированияиреализации больших систем, жизненный цикл систем, спецификации, верификация и тестирование, социальные и этические проблемы программирования.

═══ Модули знаний: SE1 (9/16), SE2 (5/8), SE3 (1/4),SE4(5/8),SE5 (5/8), SP1 (1/3), SP2 (2/3), SP3 (3/3), SP4 (1/2).

═══

════════ C304. Языки программирования

══════════ (42 кред. часа, из них 38 лекц. часов)

═══ Тематика: проблемы создания ЯП, методы трансляции.

═══ Модулизнаний:PL4(2/4),Pl5 (4/4), PL6 (4/4), PL7 (6/6), PL8 (4/4), PL9 (3/3), PL10 (2/2), PL11 (10,10), PL12 (3/3).

═══

════════ C401. Операционные системы

══════════ (42 кред. часа, из них 33 лекц. часа)

═══ Тематика: управление процессами, устройствами ипамятью,секретность и защита, сети ЭВМ, распределенные ОС.

═══ Модули знаний: DB1 (1/4), HU1 (1/5), OS1 - OS10 (полностью).

═══

════════ C402. Альтернативные архитектуры ЭВМ

════════ ══(42 кред. часа, из них 20 лекц. часа)

═══ Тематика: альтернаятивные архитектуры и их особенности.

═══ Модули знаний: AR4 (3/15), AR5 (7/13), AR6 (5/5), AR7 (5/5).

═══

════════════ Программистские курсы по выбору:

Обозначение Программная инженерия Систем баз знаний Мультипрограммирование
CS1 Анализ программ СУБД Соврем. ОС
CS2 СУБД Маш.графика Сети ЭВМ
CS3 Теория вычислений ИИ Секретность на ЭВМ
CS4 Трансляторы Понимание ЕЯ Надежность ЭВМ
CS5 Верификация и тестирование Распредел. БД Паралл. и распред. ЭВМ
CS6 Технология программирования Экспертные системы Проектирование ЭВМ

═══

═══════════ Типовой учебный план(кред. часы в неделю)

═══ (ГСД = гуманитарная или социальная дисциплина по выбору; ЕНД = естественно-научная дисциплина по выбору)

осенний семестр весенний семестр
1 курс (freshman year)
физика-1 4 физика-2 4
мат.анализ-1 4 мат.анализ-2 4
C101 3 C102 3
англ.язык 3 ГСД 3
ГСД 3 ГСД 3
итого: 17 итого: 17
2 курс (sophomore year)
ЕНД 3 ЕНД 3
мат.анализ-3 3 лин.алгебра 3
C201 3 C202 3
диск.математика 3 ГСД 3
ГСД 3 ГСД 3
итого: 15 итого: 15
3 курс (junior year)
C301 3 C303 3
C302 3 C304 3
вер. и статис. 3 професс.этика 3
CS1 3 CS2 3
курс по выбору 3 ГСД 3
итого: 15 итого: 15
4 курс (senior year)
С401 3 С402 3
CS3 3 CS5 3
CS4 3 CS6 3
ГСД 3 курс по выбору 3
курс по выбору 3 курс по выбору 3
итого: 15 итого: 15

═════════════════ ПРИМЕР F

═══

═══ Особенность программы: основное вниманиеуделяетсятеоретическим

аспектам программирования; больше математических курсов (6).

═══ Всего в программе 40 учебных курсов, из них 14 курсов попрограммированию (9 обязательных и 6 по выбору).

═══

════════════ Обязательные курсы по программированию:

═══

═══════ C101. Программирование I

═══════════ (56 кред. часов, из них 42 лекц. часа)

═══ Тематика: основные методы и принципы программирования(алгоритмы, архитектура ЭВМ, языки программирования, технология программирования); значительное место уделяется программированию на ЯП и методам проектирования и реализации программ; абстрактные типы данных,сортировкаи поиск.

═══ Модулизнаний:AL2(1/2), AL6 (3/6), PL3 (1/2), PR (12/12), SE1 (16/16).

═══

════════ C102. Программирование II

═══════════ (42 кред. часа, из них 42 лекц. часа)

═══ Тематика:продолжение курса C101, основные вычислительные методы, структуры данных, рекурсия, интерфейс спользователем,социальныеи профессиональные вопросы программирования.

═══ Модули знаний: AL1 (4/13), AL2 (1/2), AL3 (1/3),AR3(3/3),NU1 (3/3),NU2(4/4),PL1(2/2),PL2 (2/2), PL3 (1/2), PL4 (1/4), PL5 (2/4), SE2 (8/8), SP1 (3/3).

═══

════════ C201. Архитектура ЭВМ

══════════ (42 кред. часа, из них 31 лекц. часа)

═══ Тематика: основы работы ЭВМ (цифровая логика и т.п.);работаЭВМ налогическомуровне;физическая реализация и организация различных видов памяти.

═══ Модули знаний: AR1 (12/12), AR2 (6/6), AR5 (13/13).

═══

════════ C202. Структуры данных и анализ алгоритмов

══════════ (42 кред. часа, из них 33 лекц. часа)

═══ Тематика: углубленное изучение структур данных и алгоритмов;формальноеопределениерекурсии, основные алгоритмы решения сложных задач, сложность алгоритмов, неразрешимыепроблемы,оценкаалгоритмов сортировки и поиска; введение в параллельные и распределенные вычисления.

═══ Модулизнаний:AL1(9/13), AL3 (2/3), AL4 (4/4), AL5 (4/4), AL6 (3/6), AL7 (3/6), AL8 (6/6), AL9 (2/3).

═══

════════ C203. Компьютерные системы и интерфейс

══════════ (42 кред. часа, из них 27 лекц. часов)

═══ Тематика: программирование на языке ассемблера; машинное представление данных и команд, способы адресации, ввод-вывод и прерывания, модульность; взаимодействие между устройствами ЭВМ; альтернативные архитектуры ЭВМ; интерфейс с пользователем.

══Модули знаний: AR4 (12/15), AR6 (5/5), AR7 (5/5), HU1 (5/5).════

════════ C204. Принципы языков программирования

══════════ (42 кред. часа, из них 30 лекц. часов)

═══ Тематика:методыуправления, контроль типов, реализация структур данных, управление памятью во время счета; семантика языков; парадигмы программирования и их отражение в ЯП.

═══ Модулизнаний:AL9(1/3),AI1 (1/3), AI2 (6/6), PL4 (2/4), PL6 (4/4), PL11 (10/10), PL12 (3/3).

═══

════════ C301. Операционные системы, файловые системы.

═════════(42 кред. часа, из них 37 лекц. часов)

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

═══ Модули знаний: DB1 (3/4),DB2(5/5),OS1-OS7(полностью),OS8 (1/3), OS9 (3/3), OS10 (3/3).

═══

════════ C302. Теория вычислений

══════════ (42 кред. часа, из них 21 лекц. час)

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

═══ Модули знаний: AL7 (3/6), PL7-PL10 (полностью), SE5 (3/5).

═══

════════ C303. Технология программирования

══════════ (42 кред. часа, из них 33 лекц. часа)

═══ Тематика:спецификации,проектирование, верификация и тестирование; инженерия программирования; социальные,этическиеипрофессиональныепроблемы программирования - с выходом на проблемы ИИ, секретности и защиты данных в ОС и СУБД.

═══ Модули знаний: AI1 (2/3), DB1 (1/4), HU2(2/3),OS8(2/3),SE3 (4/4), SE4 (8/8), SE5 (5/8), SP2-SP4 (полностью).

═══

═══

═════════ Программистские курсы по выбору:

═══════ (1 - на 3-м курсе, 4 - на 4-м курсе)

═══ Современные операционные систмеы

═══ Современные методы проектирования программных систем

═══ Искусственный интеллект

═══ Принципы баз данных

═══ Семантика и верификация

═══ Методы трансляции

═══ Сети и распределенные ЭВМ

═══ Машинная графика

═══ Параллельные вычисления

═══ Моделирование

═══ Численные и символьные вычисления

═════════

═══

═══════════ Типовой учебный план(кред. часы в неделю)

15
осенний семестр весенний семестр
1 курс (freshman year)
дискрет.матем. 4 мат. логика 4
C101 4 C102 3
ГСД 3 ЕНД 3
ГСД 3 ГСД 3
курс по выбору 3 курс по выбору 3
итого: 16 итого: 16
2 курс (sophomore year)
мат.анализ-1 3 мат.анализ-2 3
C201 3 C203 3
C202 3 C204 3
ЕНД 3 ЕНД 3
ГСД 3 ГСД 3
итого: 15 итого: 15
3 курс (junior year)
лин.алгебра 3 теор.вер. 3
C301 3 C302 3
CS1 3 C303 3
ГСД 3 ГСД 3
ЕНД 3 ГСД
итого: 15 итого: 15
4 курс (senior year)
CS2 3 СS4 3
CS3 3 CS5 3
матем. по выбору 3 ГСД 3
ГСД 3 ГСД 3
курс по выбору 3 курс по выбору 3
итого: 15 итого:

═══

══════════ ПРИМЕР L

═══

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

═══ Всего в программе 40 курсов, из них 14 по программированию (9 обязательных и 5 по выбору).

═══

═════════ Обязательные курсы по программированию.

═══

════════ C101. Введение в программирование I

══════════ (56 кред. часов, из них 40 лекц. часов)

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

═══ Модули знаний: AL1 (5/13), AL6 (2/6),AR(1/3),PL3(2/2),PR (7/12), SE1 (16/16), SP1 (3/3), SP2 (1/3), SP3 (1/3), SP4 (2/2).

═══

════════ C102. Введение в программирование II

══════════ (56 кред. часов, из них 19 лекц. часов)

═══ Тематика:основныеидеив проектировании и развитии программных систем; АТД, реализация разлмчных структур данных и их применение; рекурсия; жизненный цикл программ, спецификации, введение в верификацию. Существенное внимание уделяется практическим занятиям.

═══ Модули знаний: AL1 (8/13), Al2 (2/2), AL3 (3/3),AL6(2/6),SE2 (1/8), SE3 (1/4), SE4 (1/8), SE5 (1/8).

═══

════════ C201. Анализ алгоритмов

══════════ (42 кред. часа, из них 24 лекц. часов)

═══ Тематика: анализ сложности алгоритмов на примере методов сортировкиипоиска, методов поиска в ИИ, операций над файлами; классы сложности, вычислимость и неразрешимость, универсальнаямашинаТьюринга; параллельные вычисления.

═══ Модулизнаний:AL4(4/4),AL5 (4/4), AL6 (2/6), AL7 (3/6), AL8 (6/6), AL9 (3/3), AI2 (2/6).

═══

════════ C202. Разработка цифровых систем

══════════ (56 кред. часов, из них 41 лекц. часов)

═══ Тематика: введение в цифровыесистемы,ихматематическиемодели; логические элементы ЭВМ, минимизационные методы, организация памяти, взаимодействие, альтернативные архитектуры (включая микропроцессоры и гиперкубы).

═══ Модули знаний: AR1 (12/12), AR2 (6/6). AR5-AR7 (полностью).

═══

════════ 203. Теория вычислений

══════════ (42 кред. часа, из них 21 лекц. часа)

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

═══ Модули знаний: AL7 (3/6), PL7-PL10 (полностью), SE5 (3/8).

═══

════════ 204. Операционные системы и СУБД

══════════ (56 кред. часов, из них 43 лекц. часа)

═══ Тематика: определение ОС и СУБД; задачи, процессы,синхронизация, физическаяи виртуальная память, распределенные ОС, секретность и защита; языки программирования для параллельных вычислений;реляционная модель базы данных, физическая организация данных.

═══ Модулизнаний:DB1-DB2(полностью),OS1-OS10 (полностью), PL12 (3/3).

═══

════════ 301. Языки программирования и парадигмы.

══════════ (56 кред. часов, из них 43 лекц. часа)

═══ Тематика: язык ассемблера; процедурные языки;объектно-ориентированные, функциональные и логические парадигмы и языки; принципы проектирования и реализаторские концепции языков.

═══ Модулизнаний:AR3(2/3),AR4(15/15),PL1(2/2),PL2 (2/2), PL4-PL6 (полностью), PL11 (10/10).

═══

══════ 302. Инженерия программирования и пользовательский интерфейс

══════════ (56 кред. часов, из них 33 лекц. часа)

═══ Тематика: основные методы проектирования,спецификации,фукнциональный и объектно-ориентированный подходы к проектированию, верификацияи сопровождение; программные инструменты; социальная и профессиональная ответственность; человеко-машинный интерфейс.

═══ Модули знаний: HU1 (5/5), HU2 (3/3),SE(7/8),SE2(7/8),SE5 (4/8), SP2 (2/3), SP3 (2/3).

═══

════════ 303. Методы вычислений

══════════ (42 кред. часа, из них 14 лекц. часа)

═══ Темактика:различныеалгоритмыв научном программировании и ИИ; численные методы для линейной аглебры и интегрированияоценками), преобразования Фурье, алгоритмы компьютерной геометрии и др. (по желанию лектора); методы поиска в ИИ, нейронные сети.

═══ Модули знаний: AI1 (3/3), AI2 (4/6), NU1 (3/3), NU2 (4/4).

═══

═══

═════════ Программистские курсы по выбору:

═══ Современные алгоритмы

═══ Искусственный интеллект

═══ Проектирование трансляторов

═══ Сети и распределенные вычисления

═══ Машинная графика

═══ Параллельные вычисления

═══ Моделирование

═══ Численные и символьные вычисления

═══ Объектно-ориентированное программирование

═══ Семантика и верификация

═══ другие курсы по желанию факультета

═══

═══

═══════════ Типовой учебный план(кред. часы в неделю)

осенний семестр весенний семестр
1 курс (freshman year)
дискрет.матем. 3 мат. логика 3
C101 4 C102 4
ГСД 3 ГСД 3
ЕНД 4 ЕНД 4
курс по выбору 3 курс по выбору 3
итого: 17 итого: 17
2 курс (sophomore year)
мат.анализ-1 3 мат.анализ-2 3
C201 3 C203 3
C202 4 C204 4
ГСД 3 ГСД 3
ГСД 3 ГСД 3
итого: 16 итого: 16
3 курс (junior year)
лин. алгебра 3 C303 3
C301 4 CS1 3
C302 4 ГСД 3
ГСД 3 курс по выбору 3
курс по выбору 3 курс по выбору 3
итого: 17 итого: 15
4 курс (senior year)
CS2 3 СS4 3
CS3 3 CS5 3
курс по выбору 3 курс по выбору 3
курс по выбору 3 курс по выбору 3
курс по выбору 3 курс по выбору 3
итого: 15 итого: 15