Відмінності між версіями «Computer Science Curricula 2013»
(→Основи розробки програмного забезпечення) |
(→Програмна інженерія) |
||
Рядок 420: | Рядок 420: | ||
|- | |- | ||
|SE/Formal Methods||Формальні методи | |SE/Formal Methods||Формальні методи | ||
+ | |} | ||
+ | |||
+ | ==Основи систем== | ||
+ | {| class="wikitable" | ||
+ | !SF. Systems Fundamentals!!Основи систем | ||
+ | |- | ||
+ | |SF/Computational Paradigms||Обчислювальні парадигми | ||
+ | |- | ||
+ | |SF/Cross-Layer Communications||Міжрівнева взаємодія | ||
+ | |- | ||
+ | |SF/State and State Machines||Стани і автомати | ||
+ | |- | ||
+ | |SF/Parallelism||Паралелізм | ||
+ | |- | ||
+ | |SF/Evaluation||Оцінювання | ||
+ | |- | ||
+ | |SF/Resource Allocation and Scheduling||Виділення ресурсів та планування | ||
+ | |- | ||
+ | |SF/Proximity||Близькість (локальність) | ||
+ | |- | ||
+ | |SF/Virtualization and Isolation||Віртуазізація та ізоляція | ||
+ | |- | ||
+ | |SF/Reliability through Redundancy||Надійність (на основі надлишковості) | ||
+ | |- | ||
+ | |SF/Quantitative Evaluation||Кількісне оцінювання | ||
|} | |} |
Версія за 23:45, 29 жовтня 2015
Рекомендації зі складання навчального плану з комп'ютерних наук
Зміст
- 1 Області знань
- 2 Cкладові одиниці (KU) областей знань
- 2.1 Алгоритми і складність
- 2.2 Архітектура і організація
- 2.3 Наука обчислень
- 2.4 Дискретні структури
- 2.5 Графіка і візуалізація
- 2.6 Людино-машинна взаємодія
- 2.7 Безпека систем
- 2.8 Інформаційний менеджмент
- 2.9 Системи штучного інтелекту
- 2.10 Мережі та комунікація
- 2.11 Операційні системи
- 2.12 Платформно-орієнтована розробка
- 2.13 Паралельні і розподілені обчислення
- 2.14 Мови програмування
- 2.15 Основи розробки програмного забезпечення
- 2.16 Програмна інженерія
- 2.17 Основи систем
Області знань
Фундаментальні дисципліни навчального плану (CS2013 Body of Knowledge) організовані як набір з 18 областей знань (Knowledge Areas – KA) у відповідності з основними областями досліджень в комп’ютерних науках. Кожна область знань являє собою набір одиниць знань (Knowledge Units – KU).
Виділяють такі області знань:
• AL - Algorithms and Complexity | Алгоритми і складність |
• AR - Architecture and Organization | Архітектура і організація |
• CN - Computational Science | Обчислювальні науки |
• DS - Discrete Structures | Дискретні структури |
• GV - Graphics and Visualization | Графіка та візуалізація |
• HCI - Human-Computer Interaction | Людино-машинна взаємодія |
• IAS - Information Assurance and Security* | Безпека інформації |
• IM - Information Management | Інформаційний менеджмент |
• IS - Intelligent Systems | Системи штучного інтелекту |
• NC - Networking and Communications* | Мережі та комунікація |
• OS - Operating Systems | Операційні системи |
• PBD - Platform-based Development* | Платформно-орієнтована розробка |
• PD - Parallel and Distributed Computing* | Паралельні і розподілені обчислення |
• PL - Programming Languages | Мови програмування |
• SDF - Software Development Fundamentals* | Основи розробки програм |
• SE - Software Engineering | Програмна інженерія |
• SF - Systems Fundamentals* | Основи систем |
• SP - Social Issues and Professional Practice | Соціальні питання і професійна практика |
* – нові та модифіковані області знань.
Раніше навчальні плани мали Нормативні (Core) та Вибіркові (Elective) дисципліни. CS2013 запроваджує поділ Нормативних дисциплін на два потоки Нормативні-1 (Core Tier-1) та Нормативні-2 (Core Tier-2).
Кожний навчальний план повинен включати всі дисципліни Нормативні-1 та в середньому 90 % дисциплін Нормативні-2 (мінімум 80 %, максимум 100 %).
Cкладові одиниці (KU) областей знань
Алгоритми і складність
AL. Algorithms and Complexity | Алгоритми і складність |
---|---|
AL/Basic Analysis | Основи аналізу |
AL/Algorithmic Strategies | Алгоритмічні стратегії |
AL/Fundamental Data Structures and Algorithms | Основи структур даних і алгоритми |
AL/Basic Automata, Computability and Complexity | Основи автоматів, обчислюваність і складність |
AL/Advanced Computational Complexity | Обчислювальна складність (поглиблено) |
AL/Advanced Automata Theory and Computability | Теорія автоматів і обчислюваність (поглиблено) |
AL/Advanced Data Structures, Algorithms, and Analysis | Структури даних, алгоритми і аналіз (поглиблено) |
Архітектура і організація
AR. Architecture and Organization | Архітектура і організація |
---|---|
AR/Digital Logic and Digital Systems | Цифрові схеми і системи |
AR/Machine Level Representation of Data | Машинне представлення даних |
AR/Assembly Level Machine Organization | Організація машини рівня асемблера |
AR/Memory System Organization and Architecture | Організація і архітектура пам’яті |
AR/Interfacing and Communication | Інтерфейси і комунікація |
AR/Functional Organization | Функціональна організація |
AR/Multiprocessing and Alternative Architectures | Мультипроцесність і альтернативні архітектури |
AR/Performance Enhancements | Способи підвищення продуктивності |
Наука обчислень
CN. Computational Science | Наука обчислень |
---|---|
CN/Introduction to Modeling and Simulation | Вступ до моделювання і симуляції |
CN/Modeling and Simulation | Моделювання і симуляція |
CN/Processing | Обробка |
CN/Interactive Visualization | Інтерактивна візуалізація |
CN/Data, Information, and Knowledge | Дані, інформація, знання |
CN/Numerical Analysis | Чисельний аналіз |
Дискретні структури
DS. Discrete Structures | Дискретні структури |
---|---|
DS/Sets, Relations, and Functions | Множини, відношення, функції |
DS/Basic Logic | Основи логіки |
DS/Proof Techniques | Методи доведень |
DS/Basics of Counting | Основи обчислень |
DS/Graphs and Trees | Графи і дерева |
DS/Discrete Probability | Дискретна ймовірність |
Графіка і візуалізація
GV. Graphics and Visualization | Графіка і візуалізація |
---|---|
GV/Fundamental Concepts | Основні концепції |
GV/Basic Rendering | Основи рендерінгу |
GV/Geometric Modeling | Геометричне моделювання |
GV/Advanced Rendering | Поглиблений рендерінг |
GV/Computer Animation | Комп’ютерна анімація |
GV/Visualization | Візуалізація |
Людино-машинна взаємодія
HCI: Human Computer Interaction | Людино-машинна взаємодія |
---|---|
HCI/Foundations | Основи |
HCI/Designing Interaction | Проектування взаємодії |
HCI/Programming Interactive Systems | Програмування інтерактивних систем |
HCI/User-Centered Design & Testing | Проектування і тестування, зорієнтовані на користувача |
HCI/New Interactive Technologies | Нові інтерактивні технології |
HCI/Collaboration & Communication | Співпраця і комунікація |
HCI/Statistical Methods for HCI | Статистичні методи для ЛМВ |
HCI/Human Factors & Security | Людський фактор і безпека |
HCI/Design-Oriented HCI | Дизайн-орієнтована ЛМВ, |
HCI/Mixed, Augmented and Virtual Reality | Змішана, доповнена і віртуальна реальність |
Безпека систем
IAS. Information Assurance and Security | Безпека систем |
---|---|
IAS/Foundational Concepts in Security | Основні концепції безпеки |
IAS/Principles of Secure Design | Принципи безпечного проектування |
IAS/Defensive Programming | Безпечне програмування |
IAS/Threats and Attacks | Загрози і атаки |
IAS/Network Security | Мережева безпека |
IAS/Cryptography | Криптографія |
IAS/Web Security | Веб-безпека |
IAS/Platform Security | Безпека платформ |
IAS/Security Policy and Governance | Політика безпеки і управління |
IAS/Digital Forensics | Цифрова криміналістика |
IAS/Secure Software Engineering | Безпечна розробка програм |
Інформаційний менеджмент
IM. Information Management | Інформаційний менеджмент |
---|---|
IM/Information Management Concepts | Концепція інформаційного менеджменту |
IM/Database Systems | Системи баз даних |
IM/Data Modeling | Моделювання даних |
IM/Indexing | Індексація |
IM/Relational Databases | Реляційні бази даних |
IM/Query Languages | Мови запитів |
IM/Transaction Processing | Обробка транзакцій |
IM/Distributed Databases | Розподілені бази даних |
IM/Physical Database Design | Фізичне проектування баз даних |
IM/Data Mining | Інтелектуальний аналіз даних |
IM/Information Storage And Retrieval | Збереження і видобування даних |
IM/MultiMedia Systems | Системи мультимедіа |
Системи штучного інтелекту
IS. Intelligent Systems | Системи штучного інтелекту |
---|---|
IS/Fundamental Issues | Основні питання |
IS/Basic Search Strategies | Основи стратегій пошуку |
IS/Basic Knowledge Representation and Reasoning | Основи представлення знань і виведення (розмірковування?) |
IS/Basic Machine Learning | Основи машинного навчання |
IS/Advanced Search | Розширений пошук |
IS/Advanced Representation and Reasoning | Поглиблене представлення знань і виведення |
IS/Reasoning Under Uncertainty | Виведення в умовах невизначеності |
IS/Agents | Агенти |
IS/Natural Language Processing | Обробка природної мови |
IS/Advanced Machine Learning | Поглиблене машинне навчання |
IS/Robotics | Роботи |
IS/Perception and Computer Vision | Сприйняття і комп’ютерний зір |
Мережі та комунікація
NC. Networking and Communication | Мережі та комунікація |
---|---|
NC/Introduction | Вступ |
NC/Networked Applications | Мережеві додатки |
NC/Reliable Data Delivery | Надійна доставка даних |
NC/Routing And Forwarding | Маршрутизація |
NC/Local Area Networks | Локальні мережі |
NC/Resource Allocation | Розподіл ресурсів |
NC/Mobility | Мобільність |
NC/Social Networking | Соціальні мережі |
Операційні системи
OS. Operating Systems | Операційні системи |
---|---|
OS/Overview of Operating Systems | Огляд операційних систем |
OS/Operating System Principles | Принципи операційних систем |
OS/Concurrency | Конкурентність |
OS/Scheduling and Dispatch | Планування і диспетчеризація |
OS/Memory Management | Керування пам’яттю |
OS/Security and Protection | Безпека і захист |
OS/Virtual Machines | Віртуальні машини |
OS/Device Management | Керування пристроями |
OS/File Systems | Файлові системи |
OS/Real Time and Embedded Systems | Системи реального часу та вбудовані системи |
OS/Fault Tolerance | Відмовостійкість |
OS/System Performance Evaluation | Оцінка продуктивності системи |
Платформно-орієнтована розробка
PBD. Platform-Based Development (Elective) | Платформно-орієнтована розробка |
---|---|
PBD/Introduction | Вступ |
PBD/Web Platforms | Веб-платформи |
PBD/Mobile Platforms | Мобільні платформи |
PBD/Industrial Platforms | Промислові платформи |
PBD/Game Platforms | Ігрові платформи |
Паралельні і розподілені обчислення
PD. Parallel and Distributed Computing | Паралельні і розподілені обчислення |
---|---|
PD/Parallelism Fundamentals | Основи паралелізму |
PD/Parallel Decomposition | Паралельна декомпозиція |
PD/Communication and Coordination | Комунікація і координація |
PD/Parallel Algorithms, Analysis, and Programming | Паралельні алгоритми, аналіз і програмування |
PD/Parallel Architecture | Паралельна архітектура |
PD/Parallel Performance | Паралельна продуктивність |
PD/Distributed Systems | Розподілені системи |
PD/Cloud Computing | Хмарні обчислення |
PD/Formal Models and Semantics | Формальні моделі і семантики |
Мови програмування
PL. Programming Languages | Мови програмування |
---|---|
PL/Object-Oriented Programming | Об’єктно-орієнтоване програмування |
PL/Functional Programming | Функціональне програмування |
PL/Event-Driven and Reactive Programming | Програмування на основі подій та реактивне програмування |
PL/Basic Type Systems | Основи системних типів |
PL/Program Representation | Представлення програми |
PL/Language Translation and Execution | Мовна трансляція і виконання |
PL/Syntax Analysis | Синтаксичний аналіз |
PL/Compiler Semantic Analysis | Семантичний аналіз компілятора |
PL/Code Generation | Генерація коду |
PL/Runtime Systems | Динамічні системи |
PL/Static Analysis | Статичний аналіз |
PL/Advanced Programming Constructs | Просунуті програмні конструкції |
PL/Concurrency and Parallelism | Конкуренція і паралелізм |
PL/Type Systems | Системні типи |
PL/Formal Semantics | Формальна семантика |
PL/Language Pragmatics | Мовна прагматика |
PL/Logic Programming | Логічне програмування |
Основи розробки програмного забезпечення
SDF. Software Development Fundamentals | Основи розробки програмного забезпечення |
---|---|
SDF/Algorithms and Design | Алгоритми і проектування |
SDF/Fundamental Programming Concepts | Основні концепції програмування |
SDF/Fundamental Data Structures | Основні структури даних |
SDF/Development Methods | Методи розробки |
Програмна інженерія
SE. Software Engineering | Програмна інженерія |
---|---|
SE/Software Processes | Процеси розробки ПЗ |
SE/Software Project Management | Керування програмними проектами |
SE/Tools and Environments | Засоби і середовища |
SE/Requirements Engineering | Інженерія вимог |
SE/Software Design | Проектування ПЗ |
SE/Software Construction | Реалізація ПЗ |
SE/Software Verification and Validation | Верифікація і валідація ПЗ |
SE/Software Evolution | Еволюція ПЗ |
SE/Software Reliability | Надійність ПЗ |
SE/Formal Methods | Формальні методи |
Основи систем
SF. Systems Fundamentals | Основи систем |
---|---|
SF/Computational Paradigms | Обчислювальні парадигми |
SF/Cross-Layer Communications | Міжрівнева взаємодія |
SF/State and State Machines | Стани і автомати |
SF/Parallelism | Паралелізм |
SF/Evaluation | Оцінювання |
SF/Resource Allocation and Scheduling | Виділення ресурсів та планування |
SF/Proximity | Близькість (локальність) |
SF/Virtualization and Isolation | Віртуазізація та ізоляція |
SF/Reliability through Redundancy | Надійність (на основі надлишковості) |
SF/Quantitative Evaluation | Кількісне оцінювання |