Введение в компьютерные науки

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

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

  1. алгоритмическое мышление,
  2. представление информации,
  3. программирование и
  4. проектирование систем.

Предметная область компьютерных наук в целом может быть разделена на две обширные подобласти:

  1. Изучение конкретных процессов обработки информации и связанные с ними вопросы представления данных.
  2. Структуры, механизмы и схемы обработки информации.

Важнейшая цель обучения компьютерным наукам состоит в том, чтобы четко понимать отношения, существующие между прикладными приложениями и компьютерными системами. Компьютерные приложения делятся на две  категории:

  • числовые и
  • нечисловые.

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

Разделы компьютерных наук

В настоящее время в области компьютерных наук обычно выделяют  двенадцать основных разделов:

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

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

Стать специалистом по современным информационным технологиям возможно только при условии комплексного изучения всех составных частей компьютерных наук.

По материалам книги «Введение в компьютерные науки. Общий обзор.» – Дж.Гленн Брукшир, Издательский дом «Вильямс», 2001.

Роль алгоритмов в информационных технологиях
ITandLife.ru