Ответы на тест по компьютерным наукам для 7 класса 2 компьютер

Обновлено: 21.11.2024

Узнайте все о курсе и экзамене. Уже зачислен? Присоединяйтесь к своему курсу в My AP.

Не студент?

Перейдите на AP Central, чтобы получить ресурсы для учителей, администраторов и координаторов.

AP Computer Science A

О курсе

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

Навыки, которым вы научитесь

Проектирование программы, разработка необходимых алгоритмов и написание кода для их реализации

Тестирование программного кода и исправление ошибок

Документирование и объяснение того, как работает программный код

Эквивалентность и предпосылки

Эквивалент курса колледжа

Вводный семестровый курс компьютерных наук в колледже

Рекомендуемые условия

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

Дата экзамена

Среда, 4 мая 2022 г.,
12:00 по местному времени

Экзамен AP по информатике

Это обычная дата экзамена AP Computer Science A.

Об объектах

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

Содержание курса

Модуль 1: Примитивные типы

Вы изучите основы Java, языка программирования, а также другие основополагающие концепции кодирования.

Темы могут включать:

  • Примитивные типы данных, включая int , double и Boolean
  • Вычисление арифметических выражений в программном коде
  • Использование операторов присваивания для получения значения
  • Как переменные и операторы упорядочиваются и комбинируются в выражении для получения результата

На экзамене

2,5 – 5 % от экзаменационного балла

Модуль 2: Использование объектов

Вы изучите эталонные данные как способ представления объектов реального мира в цифровом мире и откроете для себя методы выполнения более сложных операций.

Темы могут включать:

  • Объекты и классы как способы описания экземпляров, атрибутов и поведения
  • Создание объектов путем вызова конструкторов с параметрами и без них
  • Использование библиотек классов, включая Integer и Double.
  • Определение поведения объекта с помощью методов, в том числе статических и математических классов
  • Вызов нестатических методов void с параметрами и без них
  • Использование объектов и методов String
  • Использование интерфейсов прикладных программ (API) и библиотек

На экзамене

5–7,5 % от экзаменационного балла

Модуль 3. Логические выражения и операторы if

Вы углубитесь в строительные блоки алгоритмов и сосредоточитесь на использовании условных операторов для решения проблем и управления результатами.

Темы могут включать:

  • Поиск логических значений с помощью выражений, включающих операторы отношения
  • Использование условных операторов для выполнения различных операторов на основе входных значений
  • Использование условных операторов для создания нескольких возможных результатов.
  • Создание одного и того же значения с использованием эквивалентных логических выражений
  • Ссылки на объекты с помощью псевдонимов

На экзамене

15–17,5 % от экзаменационного балла

Модуль 4: Итерация

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

Темы могут включать:

  • Создание цикла для многократного запуска выражения до тех пор, пока не будут выполнены определенные условия.
  • Стандартные арифметические и строковые алгоритмы
  • Представление итерационных процессов в коде с использованием циклов for и while
  • Вложенные операторы цикла и итерации

На экзамене

17,5–22,5 % от экзаменационного балла

Модуль 5: Написание курсов

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

Темы могут включать:

  • Состав класса, включая атрибуты, являющиеся общедоступными или закрытыми
  • Установка атрибутов объекта с помощью конструкторов
  • Использование комментариев для описания функциональности кода
  • Определение поведения объекта с использованием методов non-void, void и static
  • Где переменные могут использоваться в программном коде
  • Разбиение проблемы на более мелкие части путем создания методов для решения отдельных подзадач.
  • Интеллектуальная собственность и этические аспекты программирования

На экзамене

5%–7.5 % от экзаменационного балла

Модуль 6: Массив

Вы изучите методы и стандартные алгоритмы работы с наборами связанных данных, известных как структуры данных.

Темы могут включать:

  • Представление нескольких связанных элементов в виде объектов-массивов
  • Обход массива путем доступа к элементам с помощью операторов итерации
  • Стандартные алгоритмы, использующие обход массива для выполнения функций.

На экзамене

10–15 % от экзаменационного балла

Модуль 7: ArrayList

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

Темы могут включать:

  • Представление коллекций связанных данных ссылок на объекты с помощью объектов ArrayList
  • Обход ArrayList путем доступа к элементам с помощью операторов итерации
  • Стандартные алгоритмы, использующие обходы ArrayList для выполнения функций.
  • Поиск и сортировка с использованием стандартных алгоритмов
  • Этические вопросы сбора данных

На экзамене

2,5–7,5 % от экзаменационного балла

Модуль 8: 2D-массив

Теперь, когда вы изучили одномерные массивы, вы перейдете к двумерным массивам и поэкспериментируете с наборами данных, представленными в таблице.

Темы могут включать:

  • Представление наборов данных в виде массивов массивов или двумерных массивов.
  • Обход двумерного массива путем доступа к элементам с помощью вложенных операторов итерации

На экзамене

7,5–10 % от экзаменационного балла

Модуль 9: Наследование

Вы узнаете, как программировать, не изменяя существующий код, используя подклассы для создания иерархии.

Темы могут включать:

  • Использование общих атрибутов и поведения для группировки существующих объектов в надклассы
  • Определение и переопределение методов внутри подклассов и суперклассов
  • Создание ссылок с использованием иерархии наследования
  • Связывание объектов подклассов с суперклассами для создания полиморфизма

На экзамене

5–10 % от экзаменационного балла

Модуль 10: Рекурсия

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

Темы могут включать:

  • Выполнение рекурсивных методов
  • Поиск и сортировка с использованием алгоритмов бинарного поиска и сортировки слиянием

На экзамене

5–7,5 % от экзаменационного балла

Поиск кредитной политики AP

Найдите колледжи, которые присуждают зачеты и/или зачисляют баллы за экзамен AP на этом и других курсах AP.

Ресурсы курса

Ресурсы класса AP

После того, как вы присоединитесь к онлайн-разделу своего класса AP, вы сможете получить доступ к видео AP Daily, любым заданиям вашего учителя и результатам ваших заданий в AP Classroom. Войдите, чтобы получить к ним доступ.

Требования к лаборатории AP Computer Science A

Узнайте о необходимых лабораторных компонентах, включенных в программу AP Computer Science A, и загрузите руководства для студентов.

AP Computer Science: краткий справочник по Java — экзамен 2020

В кратком справочнике по Java перечислены доступные методы из библиотеки Java, которые могут быть включены в экзамен, начиная с 2019–20 учебного года. Краткий справочник по Java включен в экзаменационный буклет.

ACM (Ассоциация вычислительной техники)

ACM объединяет педагогов, исследователей и профессионалов в области информатики, чтобы вдохновлять на диалог, делиться ресурсами и решать проблемы в этой области.

  • Перейти к ACM (Ассоциация вычислительной техники)

ACSL (Американская лига компьютерных наук)

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

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

AP Computer Science A Elevens Lab Руководство для студентов

Эта лабораторная работа связана с простым пасьянсом Elevens. Вы изучите правила Elevens и сможете играть в нее, используя прилагаемый графический интерфейс пользователя (GUI).

AP Computer Science A Magpie Lab Руководство для студентов

В этом лабораторном занятии вы изучите некоторые основы обработки естественного языка. По мере изучения вы будете работать с различными методами класса String и практиковаться в использовании оператора if. Вы проследите сложный метод поиска слов в пользовательском вводе.

AP Computer Science: руководство для студентов Picture Lab

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

AP Computer Science: курс и описание экзамена

Это основной документ курса. Он четко излагает содержание курса и описывает экзамен и программу AP в целом.

Подробнее о вашем курсе

Подать заявку на стипендию, стажировку и другие возможности

Откройте для себя стипендии в колледжах, оплачиваемые стажировки и другие возможности в этой области с такими компаниями, как Amazon, Facebook и Google.

Введение в информатику как инструмент для решения реальных аналитических задач с использованием Python 3.5.

Посмотреть видео

Воспроизвести видео для введения в информатику и программирование с использованием Python

Воспроизвести видео для введения в информатику и программирование с использованием Python

Доступен один сеанс:

Я хотел бы получать электронные письма от MITx и узнавать о других предложениях, связанных с введением в информатику и программирование с использованием Python.

Введение в информатику как инструмент для решения реальных аналитических задач с использованием Python 3.5.

Посмотреть видео

Воспроизвести видео для введения в информатику и программирование с использованием Python

Воспроизвести видео для введения в информатику и программирование с использованием Python

Доступен один сеанс:

Я хотел бы получать электронные письма от MITx и узнавать о других предложениях, связанных с введением в информатику и программирование с использованием Python.

Введение в информатику и программирование с использованием Python

Зарегистрироваться сейчас

Этот курс является первым из двух курсов: «Введение в информатику и программирование с использованием Python» и «Введение в вычислительное мышление и науку о данных». Вместе они призваны помочь людям, ранее не знакомым с информатикой или программированием, научиться мыслить вычислительно и писать программы для решения полезных задач. Некоторые из людей, изучающих эти два курса, будут использовать их как ступеньку к более продвинутым курсам информатики, но для многих это будут их первые и последние курсы информатики. В этом прогоне представлены лекционные видео, лекционные упражнения и наборы задач с использованием Python 3.5. Даже если вы ранее проходили курс по Python 2.7, вы сможете легко перейти на Python 3.5 на будущих курсах или зарегистрироваться сейчас, чтобы освежить свои знания.

Поскольку эти курсы могут быть единственными формальными курсами информатики, которые посещают многие студенты, мы решили сосредоточиться на широте, а не на глубине. Цель состоит в том, чтобы предоставить студентам краткое введение во многие темы, чтобы они имели представление о том, что возможно, когда им нужно подумать о том, как использовать вычисления для достижения какой-либо цели в дальнейшей карьере. Тем не менее, это не курсы «оценки вычислений». Это сложные и строгие курсы, на которых учащиеся тратят много времени и усилий, чтобы научиться подчинить компьютер своей воле

Кратко

  • Учреждение: MITx
  • Тема: информатика
  • Уровень: начальный
  • Предпосылки:

Алгебра средней школы и умеренные способности к математике. Учащиеся без опыта программирования обнаружат, что кривая обучения крутая, и им, возможно, придется потратить больше времени, чем предполагалось.

Введение в информатику как инструмент для решения реальных аналитических задач с использованием Python 3.5.

Посмотреть видео

Воспроизвести видео для введения в информатику и программирование с использованием Python

Воспроизвести видео для введения в информатику и программирование с использованием Python

Доступен один сеанс:

Я хотел бы получать электронные письма от MITx и узнавать о других предложениях, связанных с введением в информатику и программирование с использованием Python.

Введение в информатику как инструмент для решения реальных аналитических задач с использованием Python 3.5.

Посмотреть видео

Воспроизвести видео для введения в информатику и программирование с использованием Python

Воспроизвести видео для введения в информатику и программирование с использованием Python

Доступен один сеанс:

Я хотел бы получать электронные письма от MITx и узнавать о других предложениях, связанных с введением в информатику и программирование с использованием Python.

Введение в информатику и программирование с использованием Python

Зарегистрироваться сейчас

Этот курс является первым из двух курсов: «Введение в информатику и программирование с использованием Python» и «Введение в вычислительное мышление и науку о данных». Вместе они призваны помочь людям, ранее не знакомым с информатикой или программированием, научиться мыслить вычислительно и писать программы для решения полезных задач. Некоторые из людей, изучающих эти два курса, будут использовать их как ступеньку к более продвинутым курсам информатики, но для многих это будут их первые и последние курсы информатики. В этом прогоне представлены лекционные видео, лекционные упражнения и наборы задач с использованием Python 3.5. Даже если вы ранее проходили курс по Python 2.7, вы сможете легко перейти на Python 3.5 на будущих курсах или зарегистрироваться сейчас, чтобы освежить свои знания.

Поскольку эти курсы могут быть единственными формальными курсами информатики, которые посещают многие студенты, мы решили сосредоточиться на широте, а не на глубине. Цель состоит в том, чтобы предоставить студентам краткое введение во многие темы, чтобы они имели представление о том, что возможно, когда им нужно подумать о том, как использовать вычисления для достижения какой-либо цели в дальнейшей карьере. Тем не менее, это не курсы «оценки вычислений». Это сложные и строгие курсы, на которых учащиеся тратят много времени и усилий, чтобы научиться подчинить компьютер своей воле

Кратко

  • Учреждение: MITx
  • Тема: информатика
  • Уровень: начальный
  • Предпосылки:

Алгебра средней школы и умеренные способности к математике. Учащиеся без опыта программирования обнаружат, что кривая обучения крутая, и им, возможно, придется потратить больше времени, чем предполагалось.

Несмотря на то, что были приложены все усилия для соблюдения правил стиля цитирования, могут быть некоторые расхождения. Если у вас есть какие-либо вопросы, обратитесь к соответствующему руководству по стилю или другим источникам.

Наши редакторы рассмотрят то, что вы отправили, и решат, нужно ли пересматривать статью.

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

Самые влиятельные ученые-компьютерщики – Алан Тьюринг, взломщик кодов времен Второй мировой войны, которого обычно называют "отцом современных вычислений"; Тим Бернерс-Ли, изобретатель Всемирной паутины; Джон Маккарти, изобретатель языка программирования LISP и пионер искусственного интеллекта; и Грейс Хоппер, офицер ВМС США и ключевая фигура в разработке первых компьютеров, таких как UNIVAC I, а также в разработке компилятора языка программирования.

Информатика применяется в широком спектре дисциплин, включая моделирование последствий изменения климата и вируса Эбола, создание произведений искусства и визуализацию с помощью графического рендеринга, а также моделирование человеческого интерфейса с помощью искусственного интеллекта и машинного обучения.< /p>

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

Многие университеты по всему миру предлагают программы обучения основам теории информатики и применениям компьютерного программирования. Кроме того, распространенность онлайн-ресурсов и курсов позволяет многим людям самостоятельно изучать более практические аспекты информатики (такие как программирование, разработка видеоигр и дизайн приложений).

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

Информатика считается частью семейства пяти отдельных, но взаимосвязанных дисциплин: компьютерная инженерия, информатика, информационные системы, информационные технологии и разработка программного обеспечения. Это семейство стало известно под общим названием компьютерной дисциплины. Эти пять дисциплин взаимосвязаны в том смысле, что компьютеры являются объектом их изучения, но они разделены, поскольку каждая из них имеет свою собственную исследовательскую перспективу и учебную направленность. (С 1991 года Ассоциация вычислительной техники [ACM], Компьютерное общество IEEE [IEEE-CS] и Ассоциация информационных систем [AIS] сотрудничают в разработке и обновлении таксономии этих пяти взаимосвязанных дисциплин и руководств, которые образовательные учреждения использовать во всем мире для своих программ бакалавриата, магистратуры и исследовательских программ.)

Основные разделы информатики включают традиционное изучение компьютерной архитектуры, языков программирования и разработки программного обеспечения. Однако они также включают вычислительную науку (использование алгоритмических методов для моделирования научных данных), графику и визуализацию, взаимодействие человека и компьютера, базы данных и информационные системы, сети, а также социальные и профессиональные проблемы, которые являются уникальными для практики информатики. . Как может быть очевидно, некоторые из этих подполей пересекаются по своей деятельности с другими современными областями, такими как биоинформатика и вычислительная химия. Эти совпадения являются следствием склонности ученых-компьютерщиков признавать многочисленные междисциплинарные связи в своей области и действовать в соответствии с ними.

Развитие информатики

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

Математика является источником двух ключевых концепций разработки компьютеров — идеи о том, что вся информация может быть представлена ​​в виде последовательности нулей и единиц, и абстрактного понятия «хранимой программы». В двоичной системе счисления числа представляются последовательностью двоичных цифр 0 и 1 точно так же, как числа в знакомой нам десятичной системе представляются цифрами от 0 до 9. Относительная легкость, с которой два состояния (например, высокое и низкое напряжение) могут быть реализованы в электрических и электронных устройствах, что естественным образом привело к тому, что двоичная цифра или бит стала основной единицей хранения и передачи данных в компьютерной системе.

Электротехника обеспечивает основы проектирования цепей, а именно идею о том, что электрические импульсы, поступающие в цепь, можно комбинировать с помощью булевой алгебры для получения произвольных выходных сигналов. (Булева алгебра, разработанная в 19 веке, предоставила формализм для проектирования схемы с двоичными входными значениями нулей и единиц [ложь или истина, соответственно, в терминологии логики], чтобы получить любую желаемую комбинацию нулей и единиц на выходе.) Изобретение транзистора и миниатюризация схем, а также изобретение электронных, магнитных и оптических носителей для хранения и передачи информации стали результатом достижений электротехники и физики.

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

Теоретическая работа над вычислительностью, начавшаяся в 1930-х годах, обеспечила необходимое распространение этих достижений на проектирование целых машин; важной вехой стала спецификация машины Тьюринга (теоретическая вычислительная модель, которая выполняет инструкции, представленные в виде последовательности нулей и единиц) в 1936 году британским математиком Аланом Тьюрингом и его доказательство вычислительной мощности модели. Еще одним прорывом стала концепция компьютера с хранимой в памяти программой, которую обычно приписывают американскому математику венгерского происхождения Джону фон Нейману. Это истоки области информатики, которая позже стала известна как архитектура и организация.

В 1950-х годах большинство пользователей компьютеров работали либо в научно-исследовательских лабораториях, либо в крупных корпорациях. Первая группа использовала компьютеры для выполнения сложных математических расчетов (например, траектории ракет), в то время как вторая группа использовала компьютеры для управления большими объемами корпоративных данных (например, платежных ведомостей и запасов). Обе группы быстро поняли, что писать программы на машинном языке нулей и единиц непрактично и ненадежно. Это открытие привело к разработке языка ассемблера в начале 1950-х годов, который позволяет программистам использовать символы для инструкций (например, ADD для сложения) и переменных (например, X). Другая программа, известная как ассемблер, переводила эти символические программы в эквивалентную двоичную программу, шаги которой компьютер мог выполнять или «выполнять».

Другие элементы системного программного обеспечения, известные как связывающие загрузчики, были разработаны для объединения фрагментов собранного кода и загрузки их в память компьютера, где они могли выполняться. Концепция связывания отдельных частей кода была важна, поскольку позволяла повторно использовать «библиотеки» программ для выполнения общих задач. Это был первый шаг в развитии области компьютерных наук, называемой разработкой программного обеспечения.

Позже, в 1950-х годах, язык ассемблера оказался настолько громоздким, что разработка языков высокого уровня (более близких к естественным языкам) стала поддерживать более простое и быстрое программирование. FORTRAN стал основным языком высокого уровня для научного программирования, а COBOL стал основным языком для бизнес-программирования. Эти языки несли с собой потребность в другом программном обеспечении, называемом компилятором, которое переводит программы на языке высокого уровня в машинный код. По мере того, как языки программирования становились все более мощными и абстрактными, создание компиляторов, создающих высококачественный машинный код и эффективных с точки зрения скорости выполнения и использования памяти, стало сложной задачей в области информатики. Разработка и реализация языков высокого уровня лежит в основе области компьютерных наук, называемой языками программирования.

Расширение использования компьютеров в начале 1960-х послужило толчком к разработке первых операционных систем, которые состояли из системно-резидентного программного обеспечения, которое автоматически обрабатывало ввод и вывод, а также выполняло программы, называемые «заданиями». Потребность в более совершенных вычислительных методах привела к возрождению интереса к численным методам и их анализу, и эта деятельность распространилась настолько широко, что стала известна как вычислительная наука.

В 1970-х и 80-х годах появились мощные компьютерные графические устройства, как для научного моделирования, так и для других видов визуальной деятельности. (Компьютерные графические устройства были представлены в начале 1950-х годов с отображением грубых изображений на бумажных графиках и экранах электронно-лучевых трубок [ЭЛТ].) Дорогое оборудование и ограниченная доступность программного обеспечения не позволяли этой области расти до начала 1980-х годов, когда компьютерная память, необходимая для растровой графики (в которой изображение состоит из маленьких прямоугольных пикселей), стала более доступной. Технология растровых изображений вместе с экранами с высоким разрешением и разработкой графических стандартов, которые делают программное обеспечение менее зависимым от машин, привели к взрывному росту этой области. Поддержка всех этих видов деятельности превратилась в область информатики, известную как графика и визуальные вычисления.

С этой областью тесно связано проектирование и анализ систем, которые напрямую взаимодействуют с пользователями, выполняющими различные вычислительные задачи. Эти системы получили широкое распространение в 1980-х и 90-х годах, когда линейное взаимодействие с пользователями было заменено графическими пользовательскими интерфейсами (GUI). Дизайн графического пользовательского интерфейса, который впервые был разработан Xerox, а затем был подхвачен Apple (Macintosh) и, наконец, Microsoft (Windows), важен, поскольку он представляет собой то, что люди видят и делают, взаимодействуя с вычислительным устройством. Разработка подходящих пользовательских интерфейсов для всех типов пользователей превратилась в область компьютерных наук, известную как взаимодействие человека с компьютером (HCI).

Xerox Alto был первым компьютером, в котором для управления системой использовались графические значки и мышь — первый графический пользовательский интерфейс (GUI).

Область компьютерной архитектуры и организации также претерпела значительные изменения с тех пор, как в 1950-х годах были разработаны первые компьютеры с хранимой в памяти программой. В 1960-х годах появились так называемые системы с разделением времени, позволяющие нескольким пользователям запускать программы одновременно с разных терминалов, жестко подключенных к компьютеру. В 1970-е годы были разработаны первые глобальные компьютерные сети (WAN) и протоколы для передачи информации на высоких скоростях между компьютерами, разделенными большими расстояниями. По мере развития этих видов деятельности они объединились в область компьютерных наук, называемую сетями и коммуникациями. Крупным достижением в этой области стало развитие Интернета.

Идея о том, что инструкции и данные могут храниться в памяти компьютера, имела решающее значение для фундаментальных открытий, касающихся теоретического поведения алгоритмов. То есть такие вопросы, как «Что можно/нельзя вычислить?» были официально рассмотрены с использованием этих абстрактных идей. Эти открытия положили начало области информатики, известной как алгоритмы и сложность. Ключевой частью этой области является изучение и применение структур данных, подходящих для различных приложений. Структуры данных, наряду с разработкой оптимальных алгоритмов для вставки, удаления и поиска данных в таких структурах, являются серьезной проблемой для ученых-компьютерщиков, поскольку они так интенсивно используются в компьютерном программном обеспечении, особенно в компиляторах, операционных системах, файловых системах и т. д. и поисковые системы.

В 1960-х годах изобретение накопителей на магнитных дисках обеспечило быстрый доступ к данным, расположенным в произвольном месте на диске. Это изобретение привело не только к более продуманным файловым системам, но и к развитию баз данных и систем поиска информации, которые позже стали необходимы для хранения, поиска и передачи больших объемов и разнообразных данных через Интернет. Эта область информатики известна как управление информацией.

Еще одной долгосрочной целью исследований в области компьютерных наук является создание вычислительных машин и роботизированных устройств, способных выполнять задачи, которые обычно считаются требующими человеческого интеллекта. К таким задачам относятся движение, зрение, слух, речь, понимание естественного языка, мышление и даже проявление человеческих эмоций. Область информатики интеллектуальных систем, первоначально известная как искусственный интеллект (ИИ), на самом деле возникла еще до появления первых электронных компьютеров в 1940-х годах, хотя термин искусственный интеллект появился только в 1956 году.

Три достижения в области вычислительной техники в начале 21 века — мобильные вычисления, клиент-серверные вычисления и взлом компьютеров – способствовали появлению трех новых областей компьютерных наук: разработка на основе платформ, параллельные и распределенные вычисления, и обеспечение безопасности и информации. Платформенная разработка — это изучение особых потребностей мобильных устройств, их операционных систем и их приложений. Параллельные и распределенные вычисления касаются разработки архитектур и языков программирования, которые поддерживают разработку алгоритмов, компоненты которых могут работать одновременно и асинхронно (а не последовательно), чтобы лучше использовать время и пространство. Безопасность и обеспечение информации связаны с проектированием вычислительных систем и программного обеспечения, которое защищает целостность и безопасность данных, а также конфиденциальность лиц, которые характеризуются этими данными.

Наконец, особую озабоченность компьютерных наук на протяжении всей их истории вызывает уникальное общественное влияние, которое сопровождает исследования в области компьютерных наук и технологические достижения. Например, с появлением Интернета в 1980-х разработчикам программного обеспечения необходимо было решить важные вопросы, связанные с информационной безопасностью, личной конфиденциальностью и надежностью системы. Кроме того, вопрос о том, является ли программное обеспечение интеллектуальной собственностью, и связанный с ним вопрос «Кому оно принадлежит?» породила совершенно новую правовую область лицензирования и стандартов лицензирования, которые применялись к программному обеспечению и связанным с ним артефактам. Эти и другие проблемы составляют основу социальных и профессиональных проблем компьютерных наук, и они появляются почти во всех других областях, указанных выше.

Подводя итог, можно сказать, что дисциплина компьютерных наук превратилась в следующие 15 отдельных областей:

Читайте также: