Компьютерные науки — это ядро теоретических и практических знаний, которые используют в своей работе специалисты в области вычислительной техники, программирования, информационных систем и технологий. Как научная дисциплина компьютерные науки возникли в начале 40-х годов XX века в результате слияния теории алгоритмов и математической логики, а также изобретения электронных
вычислительных машин. На протяжении полувековой истории компьютерных наук неоднократно возникали и исчезали те или иные направления. Но одним из наиболее важных разделов компьютерных наук остается теория, анализ, разработка, оценка эффективности, реализация и практическое применение алгоритмов.
Чтобы применять основные результаты исследований в области компьютерных наук, необходимо обладать навыками в четырех основных направлениях:
- алгоритмическое мышление,
- представление информации,
- программирование и
- проектирование систем.
Предметная область компьютерных наук в целом может быть разделена на две обширные подобласти:
- Изучение конкретных процессов обработки информации и связанные с ними вопросы представления данных.
- Структуры, механизмы и схемы обработки информации.
Важнейшая цель обучения компьютерным наукам состоит в том, чтобы четко понимать отношения, существующие между прикладными приложениями и компьютерными системами. Компьютерные приложения делятся на две категории:
- числовые и
- нечисловые.
В числовых приложениях доминирующими являются математические модели и числовые данные. В нечисловых приложениях информация представляется в виде символов и правил. Традиционно компьютерные науки имеют более тесные связи с математикой. Со своей стороны, компьютерные науки оказывают сильное влияние на математику.
Разделы компьютерных наук
В настоящее время в области компьютерных наук обычно выделяют двенадцать основных разделов:
- Алгоритмы и структуры данных. Раздел теории алгоритмов включает теорию вычислимости, теорию вычислительной сложности, теорию параллельных вычислений (программирование параллельных процессов), теорию дедуктивных и реляционных баз данных, теорию распознавания образов, теорию алгоритмов, криптографию и многие другие направления.
- Языки программирования. Этот раздел компьютерных наук изучает системы обозначений, предназначенных для выполнения алгоритмов на виртуальных машинах, а также способы формальной записи самих алгоритмов и данных. Венцом достижений разработчиков стали программы, которые получают описание языка и автоматически создают компилятор для перевода программ с этого языка на машинный язык (например, программы YACC и LEX).
- Архитектура компьютеров. Раздел теории архитектуры компьютеров включает цифровую логику, булеву алгебру, теорию кодирования и теорию конечных автоматов. К наиболее значительным достижениям в этой области компьютерных наук относятся модули выполнения арифметических операций, кэш-память, так называемые машины фон Неймана, RISC-компьютеры и CISC-компьютеры. Были разработаны эффективные методы записи и хранения информации, а также методы обнаружения и исправления ошибок, включая средства восстановления после отказов.
- Операционные системы и компьютерные сети. Этот раздел компьютерных наук связан с исследованиями механизмов управления, позволяющих эффективно координировать работу большого количества вычислительных ресурсов при проведении вычислений, распределенных по многочисленным компьютерным системам, объединенным в глобальные и локальные сети.
- Разработка программного обеспечения. Данный раздел компьютерных наук связан с созданием больших программных систем, которые должны удовлетворять заданным программным спецификациям, быть безопасными, защищенными, надежными и заслуживающими доверия пользователей.
- Базы данных и информационно-поисковые системы. Этот раздел компьютерных наук связан с организацией больших наборов постоянно сохраняемых и совместно используемых данных, допускающих их обновление и обеспечивающих эффективное выполнение запросов. Для изучения и разработки баз данных и информационно-поисковых систем применяются реляционная алгебра и реляционное исчисление, теория параллельной обработки данных, выполняемых с помощью транзакций.
- Искусственный интеллект и робототехника. Данный раздел компьютерных наук включает моделирование процессов познания мира животными и человеком с конечной целью создания компонентов машин, способных имитировать или усиливать их. Основные объекты изучения в этой области включают распознавание сенсорных сигналов, звуков, изображений и образов, обучение, процессы рассуждения при решении задач и планирования, а также понимание языков. Разработаны основные принципы проектирования систем искусственного интеллекта: логическое программирование; экспертные системы; методы и средства представления, хранения и использования знаний; прикладные системы, использующие естественный язык; синтезаторы речи и системы распознавания речи; роботы; генетические алгоритмы.
- Компьютерная графика. Компьютерная графика связана с процессами визуального представления реальных и виртуальных объектов, а также имитации их движений на двухмерном экране компьютера или в трехмерной голограмме. Она опирается на вычислительную геометрию и многие другие области науки.
- Взаимодействие человека и компьютера. Эта область компьютерных наук изучает вопросы эффективной координации действий и передачи информации между людьми и машинами (пользовательский интерфейс) с помощью различных датчиков и устройств, имитирующих деятельность человека, а также информационные структуры, которые отражают человеческие представления об окружающем мире.
- Вычислительная математика. Эта область компьютерных наук связана с проведением научных исследований, которые невозможно выполнить без высокопроизводительных вычислений и обмена данными.
- Деловая информатика. Данная область компьютерных наук изучает вопросы обмена информацией и создания программных систем, обеспечивающих работу организаций и координацию действий их сотрудников.
- Биоинформатика. Эта новейшая область компьютерных наук возникла в результате тесного взаимодействия вычислительной математики и биологических наук.
Наиболее перспективные направления развития компьютерных наук связываются с вычислительной математикой, теорией познания, библиотековедением, деловой информатикой, биоинформатикой, организацией и управлением промышленным производством, архитектурой.
Стать специалистом по современным информационным технологиям возможно только при условии комплексного изучения всех составных частей компьютерных наук.
По материалам книги «Введение в компьютерные науки. Общий обзор.» – Дж.Гленн Брукшир, Издательский дом «Вильямс», 2001.