Открыть сервис

Компьютерные науки

Компьютерные науки (англ. computer science) — это область знания, изучающая теоретические основы информации и вычислений, а также методы их практической реализации в виде компьютерных систем и программного обеспечения. Компьютерные науки охватывают широкий спектр дисциплин: от абстрактного анализа алгоритмов и теории автоматов до прикладных задач разработки программного обеспечения, искусственного интеллекта и компьютерной графики. Термин часто используется как синоним «информатики», хотя в русскоязычной традиции под информатикой понимают более широкий круг вопросов, включая социальные и гуманитарные аспекты использования компьютерной техники.

История

Предыстория и теоретические основы

До появления электронных вычислительных машин основы компьютерных наук закладывались в логике и математике. В XVII веке Готфрид Вильгельм Лейбниц разработал двоичную систему счисления и создал механический калькулятор. В XIX веке Чарльз Бэббидж спроектировал аналитическую машину — первую универсальную вычислительную машину с программным управлением, а Ада Лавлейс написала для неё первый в истории алгоритм. В 1936 году Алан Тьюринг опубликовал работу «О вычислимых числах», в которой ввёл абстрактную модель — машину Тьюринга, ставшую фундаментом теории алгоритмов. Одновременно с ним Алонзо Чёрч разработал лямбда-исчисление, что позволило формализовать понятие вычислимости (тезис Чёрча — Тьюринга).

Становление как академической дисциплины

Первые электронные компьютеры (ENIAC, МЭСМ) были построены в 1940-х годах. В 1950-е годы возникла необходимость в систематизации знаний о вычислениях. Термин «computer science» впервые появился в 1959 году. Первая в мире кафедра компьютерных наук была основана в 1962 году в Университете Пердью (США). В 1968 году Дональд Кнут начал выпуск многотомного труда «Искусство программирования», заложившего основы алгоритмического анализа. В СССР информатика как дисциплина развивалась в рамках кибернетики и вычислительной математики; в 1985 году в школах был введён курс основ информатики и вычислительной техники.

Современный этап

С 1990-х годов компьютерные науки стали одной из наиболее быстро развивающихся академических областей. Появление интернета, мобильных технологий и облачных вычислений расширило поле исследований. В 2010-е годы значительный импульс получили машинное обучение и глубокое обучение, что привело к практическим прорывам в обработке естественного языка, компьютерном зрении и автономных системах.

Основные разделы

Теоретические основы информатики

Программирование и разработка программного обеспечения

Архитектура компьютеров и аппаратное обеспечение

Искусственный интеллект и машинное обучение

Базы данных и управление информацией

Сети и коммуникации

Вычислительная математика и моделирование

Основные понятия и методы

Алгоритм

Алгоритм — чётко определённая последовательность шагов для преобразования входных данных в выходные за конечное время. Свойства: дискретность, определённость, результативность, массовость. Эффективность алгоритма оценивается с помощью асимптотической сложности (обозначается O-большое).

Данные и информация

Данные — формализованное представление фактов (числа, символы, изображения). Информация — интерпретация данных, имеющая смысл для потребителя. Кодирование (ASCII, Unicode, сжатие) и теории информации (Клод Шеннон) являются базовыми.

Программа и процесс

Программа — последовательность инструкций на одном из языков программирования. Процесс — экземпляр выполняемой программы в операционной системе.

Модель вычислений

Машина Тьюринга — абстрактное устройство, состоящее из бесконечной ленты, головки чтения/записи и набора состояний. Позволяет формализовать понятие «вычислимость» и доказать неразрешимость некоторых задач (проблема остановки).

Применение

Компьютерные науки применяются практически во всех сферах человеческой деятельности:

Образование и профессиональная деятельность

В российских вузах компьютерные науки представлены направлениями «Фундаментальная информатика и информационные технологии», «Прикладная математика и информатика», «Программная инженерия». Ведущие университеты: МГУ имени М. В. Ломоносова, МФТИ, НИУ ВШЭ, СПбГУ, МГТУ имени Н. Э. Баумана. С 2017 года в России реализуется проект «Код будущего» по обучению школьников программированию.

Профессиональные области: разработчик программного обеспечения (backend, frontend, fullstack), DevOps-инженер, специалист по data science, аналитик данных, архитектор информационных систем, инженер машинного обучения, специалист по кибербезопасности.

Критика и вызовы

См. также

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →