Computer Science Curricula 2013

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

Рекомендації зі складання навчального плану з комп'ютерних наук

Області знань

Фундаментальні дисципліни навчального плану (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 Методи розробки