Информатика - Computer science

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

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

Его области можно разделить на теоретические и практические дисциплины . Например, теория вычислений касается абстрактных моделей вычислений и общих классов задач, которые могут быть решены с их помощью, в то время как компьютерная графика или вычислительная геометрия делают упор на более конкретные приложения. Алгоритмы и структуры данных называют сердцем информатики. Теория языков программирования рассматривает подходы к описанию вычислительных процессов, а компьютерное программирование предполагает их использование для создания сложных систем . Компьютерная архитектура описывает построение компьютерных компонентов и оборудования с компьютерным управлением. Искусственный интеллект направлен на синтез целенаправленных процессов, таких как решение проблем, принятие решений, адаптация к окружающей среде, планирование и обучение, присущие людям и животным. Цифровой компьютер способен моделировать различные информационные процессы . Фундаментальная задача информатики - определить, что можно, а что нельзя автоматизировать. Специалисты по информатике обычно сосредотачиваются на академических исследованиях. Премия Тьюринга считается высшей наградой в области компьютерных наук.

История

Чарльз Бэббидж , которого иногда называют «отцом компьютеров».
Ада Лавлейс опубликовала первый алгоритм, предназначенный для обработки на компьютере.

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

Вильгельм Шикард спроектировал и сконструировал первый рабочий механический калькулятор в 1623 году. В 1673 году Готфрид Лейбниц продемонстрировал цифровой механический калькулятор, названный Ступенчатым счетчиком . Лейбница можно считать первым компьютерным ученым и теоретиком информации, среди прочего, по документированию двоичной системы счисления. В 1820 году Томас де Кольмар основал индустрию механических калькуляторов, когда изобрел свой упрощенный арифмометр , первую вычислительную машину, достаточно мощную и надежную для повседневного использования в офисе. Чарльз Бэббидж начал разработку первого автоматического механического калькулятора , своей разностной машины , в 1822 году, что в конечном итоге дало ему идею первого программируемого механического калькулятора , его аналитической машины . Он начал разработку этой машины в 1834 году, и «менее чем за два года он набросал многие характерные черты современного компьютера». «Решающим шагом стало внедрение системы перфокарт, унаследованной от жаккардового ткацкого станка », что сделало ее бесконечно программируемой. В 1843 году, во время перевода французской статьи об аналитической машине, Ада Лавлейс в одной из многих заметок, которые она включила, написала алгоритм вычисления чисел Бернулли , который считается первым опубликованным алгоритмом, когда-либо специально разработанным для реализации. на компьютере. Примерно в 1885 году Герман Холлерит изобрел табулятор , который использовал перфокарты для обработки статистической информации; со временем его компания стала частью IBM . Вслед за Бэббиджем, хотя и не подозревавший о его более ранних работах, Перси Ладгейт в 1909 году опубликовал вторую из двух разработок механических аналитических двигателей в истории. В 1937 году, через сто лет после несбыточной мечты Бэббиджа, Говард Эйкен убедил IBM, которая производила все виды оборудования для перфокарт, а также занималась производством калькуляторов, разработать свой гигантский программируемый калькулятор ASCC / Harvard Mark I , основанный на аналитическом отчете Бэббиджа. Движок, который сам использовал карты и центральный вычислительный блок. Когда машина была закончена, некоторые провозгласили ее «сбывшейся мечтой Бэббиджа».

В 1940-х годах, с развитием новых и более мощных вычислительных машин, таких как компьютер Атанасова – Берри и ENIAC , термин компьютер стал относиться к машинам, а не к их человеческим предшественникам. Когда стало ясно, что компьютеры можно использовать не только для математических вычислений, область информатики расширилась и стала изучать вычисления в целом. В 1945 году IBM основала Лабораторию научных вычислений Уотсона в Колумбийском университете в Нью-Йорке . Отреставрированный дом братства на Вест-Сайде Манхэттена был первой лабораторией IBM, посвященной чистой науке. Лаборатория является предшественником исследовательского подразделения IBM, которое сегодня управляет исследовательскими центрами по всему миру. В конечном счете, тесные отношения между IBM и университетом сыграли важную роль в появлении новой научной дисциплины: в 1946 году Колумбия предложила один из первых академических зачетных курсов по информатике. 1950-е и начало 1960-х годов. Первая в мире программа получения степени по информатике, Кембриджский диплом по информатике , началась в компьютерной лаборатории Кембриджского университета в 1953 году. Первый факультет информатики в Соединенных Штатах был сформирован в Университете Пердью в 1962 году. приложения вычислительной техники стали самостоятельными областями изучения.

Этимология

Хотя впервые термин «информатика» был предложен в 1956 году, термин «информатика» появляется в статье 1959 года в « Коммуникациях ACM» , в которой Луи Фейн приводит доводы в пользу создания Высшей школы компьютерных наук, аналогичной созданию Гарвардской школы бизнеса в 1921 году, оправдывая это. название, утверждая, что, как и наука об управлении , предмет является прикладным и междисциплинарным по своей природе, имея при этом характеристики, типичные для академической дисциплины. Его усилия и усилия других, таких как численный аналитик Джордж Форсайт , были вознаграждены: университеты создавали такие кафедры, начиная с Purdue в 1962 году. Несмотря на свое название, значительная часть компьютерных наук не связана с изучением самих компьютеров. По этой причине было предложено несколько альтернативных названий. Некоторые факультеты крупных университетов предпочитают термин « информатика» , чтобы подчеркнуть именно эту разницу. Датский ученый Питер Наур предложил термин « даталогия» , чтобы отразить тот факт, что научная дисциплина вращается вокруг данных и обработки данных, хотя не обязательно с использованием компьютеров. Первым научным учреждением, использовавшим этот термин, был факультет даталогии Копенгагенского университета, основанный в 1969 году, и Питер Наур был первым профессором в области даталогии. Термин используется в основном в скандинавских странах. Альтернативный термин, также предложенный Науром, - наука о данных ; теперь это используется для мультидисциплинарной области анализа данных, включая статистику и базы данных.

На заре информатики ряд терминов для практиков в области вычислений был предложен в Коммуникациях ACM - тюрингинер , туролог , составитель блок-схем , прикладной метаматематик и прикладной эпистемолог . Три месяца спустя в том же журнале был предложен комптолог , а в следующем году - гиполог . Также был предложен термин « вычислительная техника ».В Европе часто используются термины, полученные из сокращенных переводов выражения «автоматическая информация» (например, «informazione automatica» на итальянском) или «информация и математика», например, informatique (французский), Informatik (немецкий), informatica (итальянский, голландский ), INFORMÁTICA (испанский, португальский), информатика ( славянские языки и венгерский ) или pliroforiki ( πληροφορική , что означает , информатика) в греческом . Подобные слова были приняты и в Великобритании (например, в Школе информатики Эдинбургского университета ). «В США, однако, информатика связана с прикладными вычислениями или вычислениями в контексте другой области».

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

Некоторые считают, что информатика имеет гораздо более тесную связь с математикой, чем многие научные дисциплины, при этом некоторые наблюдатели говорят, что вычисления - это математическая наука. Ранняя информатика находилась под сильным влиянием работы математиков, таких как Курт Гёдель , Алан Тьюринг , Джон фон Нейман , Роза Петер и Алонсо Черч, и между этими двумя областями по-прежнему происходит полезный обмен идеями в таких областях, как математическая логика , категория теория , теория областей и алгебра .

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

Академические, политические и финансовые аспекты информатики, как правило, зависят от того, сформирован ли отдел с математическим или инженерным уклоном. Факультеты информатики, специализирующиеся на математике и числовой ориентации, рассматривают возможность согласования с вычислительной наукой . Оба типа отделов имеют тенденцию прилагать усилия, чтобы объединить область обучения, если не во всех исследованиях.

Философия

Эпистемология информатики

Несмотря на слово «наука» в названии, ведутся споры о том, является ли информатика дисциплиной науки, математики или инженерии. Аллен Ньюэлл и Герберт А. Саймон утверждали в 1975 году:

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

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

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

Парадигмы информатики

Ряд ученых-информатиков выступили за различие трех отдельных парадигм в компьютерных науках. Питер Вегнер утверждал, что эти парадигмы - это наука, технология и математика. Рабочая группа Питера Деннинга утверждала, что это теория, абстракция (моделирование) и дизайн. Амнон Иден описал их как «рационалистическую парадигму» (которая рассматривает информатику как отрасль математики, которая преобладает в теоретической информатике и в основном использует дедуктивное мышление ), «технократическую парадигму» (которая может быть найдена в инженерии. подходы, в первую очередь в программной инженерии) и «научная парадигма» (которая рассматривает артефакты, связанные с компьютером, с эмпирической точки зрения естественных наук , идентифицируемых в некоторых отраслях искусственного интеллекта ). Информатика фокусируется на методах, связанных с проектированием, спецификацией, программированием, проверкой, реализацией и тестированием компьютерных систем, созданных человеком.

Поля

Информатика - это не больше компьютеров, чем астрономия - телескопы.

Как дисциплина, информатика охватывает широкий круг тем, от теоретических исследований алгоритмов и ограничений вычислений до практических вопросов реализации вычислительных систем в аппаратном и программном обеспечении. CSAB , ранее называвшийся Советом по аккредитации компьютерных наук, который состоит из представителей Ассоциации вычислительной техники (ACM) и IEEE Computer Society (IEEE CS), определяет четыре области, которые он считает ключевыми для дисциплины информатики: теория вычислений , алгоритмов и структур данных , методологии и языков программирования , а также компьютерных элементов и архитектуры . В дополнение к этим четырем областям CSAB также определяет такие области, как программная инженерия, искусственный интеллект, компьютерные сети и связь, системы баз данных, параллельные вычисления, распределенные вычисления, взаимодействие человека с компьютером, компьютерная графика, операционные системы, а также числовые и символьные вычисления как являются важными областями информатики.

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

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

Теория вычислений

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

Знаменитый P = NP? Проблема, одна из задач Премии тысячелетия , является открытой проблемой в теории вычислений.

DFAexample.svg Синтаксис tree.svg Сложность classes.svg
Теория автоматов Формальные языки Теория вычислимости Теория вычислительной сложности
Сеть взаимодействия как Configuration.png Blochsphere.svg XNOR ANSI Labelled.svg Kellerautomat.svg
Модели вычислений Теория квантовых вычислений Теория логических схем Клеточные автоматы

Теория информации и кодирования

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

Hamming.jpg Двоичный симметричный канал .svg Digitalteilchen.svg H0 h1 fehler.jpg Mandelpart2 red.png
Теория кодирования Емкость канала Алгоритмическая теория информации Теория обнаружения сигналов Колмогоровская сложность

Структуры данных и алгоритмы

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

О ( п 2 ) Сортировка quicksort anim.gif Дерево (информатика) .svg TSP Deutschland 3.png SimplexRangeSearching.svg Сокращение vertices.jpg
Анализ алгоритмов Разработка алгоритма Структуры данных Комбинаторная оптимизация Вычислительная геометрия Рандомизированные алгоритмы

Теория языка программирования и формальные методы

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

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

IF-THEN-ELSE-END flowchart.svg Compiler.svg Python add5 syntax.svg Prop-tableau-1.svg Coq plus comm screenshot.jpg
Формальная семантика Теория типов Дизайн компилятора Языки программирования Формальная проверка Автоматическое доказательство теорем

Компьютерные системы и вычислительные процессы

Искусственный интеллект

Искусственный интеллект (ИИ) направлен или требуется для синтеза целенаправленных процессов, таких как решение проблем, принятие решений, адаптация к окружающей среде, обучение и общение, присущие людям и животным. С момента своего возникновения в кибернетике и на Дартмутской конференции (1956 г.) исследования искусственного интеллекта обязательно были междисциплинарными, опираясь на такие области знаний, как прикладная математика , символическая логика , семиотика , электротехника , философия разума , нейрофизиология и социальная наука. интеллект . В народе искусственный интеллект ассоциируется с разработкой роботов , но основная область практического применения - это встраиваемый компонент в области разработки программного обеспечения , требующие понимания вычислений. Отправной точкой в ​​конце 1940-х годов стал вопрос Алана Тьюринга «Могут ли компьютеры думать?», И этот вопрос остается фактически без ответа, хотя тест Тьюринга до сих пор используется для оценки результатов работы компьютеров по шкале человеческого интеллекта. Но автоматизация оценочных и прогнозных задач становится все более успешной в качестве замены человеческого мониторинга и вмешательства в области компьютерных приложений, связанных со сложными данными реального мира.

Изображение человеческого мозга, сделанное Николя П. Ружье.png Человеческий глаз, визуализация из Eye.png Цветная нейронная сеть.svg Марковское решение Process.svg
Теория вычислительного обучения Компьютерное зрение Нейронные сети Планирование и составление графиков
English.png Knight's tour.svg Ackley.gif AutonomicSystemModel.png
Обработка естественного языка Вычислительная теория игр Эволюционные вычисления Автономные вычисления
Neuron.svg KnnClassification.svg ROS C logo.jpg Правило alignment.gif
Представление и рассуждение Распознавание образов Робототехника Рой интеллект

Компьютерная архитектура и организация

Компьютерная архитектура или цифровая компьютерная организация - это концептуальный проект и фундаментальная операционная структура компьютерной системы. Он в основном фокусируется на способе, которым центральный процессор выполняет внутреннюю работу и получает доступ к адресам в памяти. Компьютерные инженеры изучают вычислительную логику и проектирование компьютерного оборудования , от отдельных компонентов процессора , микроконтроллеров , персональных компьютеров до суперкомпьютеров и встроенных систем . Термин «архитектура» в компьютерной литературе восходит к работам Лайла Р. Джонсона и Фредерика П. Брукса-младшего , сотрудников отдела организации машин главного исследовательского центра IBM в 1959 году.

ABasicComputer.gif Intel Core2 arch.svg SIMD.svg Z80 arch.svg
Блок обработки Микроархитектура Многопроцессорность Дизайн процессора
Roomba original.jpg Flowchart.png Ядро Layout.svg Uarm metal wiki2.jpg
Повсеместные вычисления Системная архитектура Операционные системы Ввод, вывод
Physical computing.svg КИХ-фильтр General.svg Dep-1.svg Linker.svg
Встроенная система Вычисления в реальном времени Надежность Устный переводчик

Параллельные, параллельные и распределенные вычисления

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

Компьютерная сеть

Эта отрасль информатики направлена ​​на управление сетями между компьютерами по всему миру.

Компьютерная безопасность и криптография

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

Базы данных и интеллектуальный анализ данных

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

Компьютерная графика и визуализация

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

Simx2 = перевод OK.svg FWDvsINV Кинематика HighResTransp.png 5-cell.gif Hud на cat.jpg Алгоритм отслеживания взгляда в видимом свете.jpg Csg tree.png
2D компьютерная графика Компьютерная анимация Рендеринг Смешанная реальность Виртуальная реальность Твердотельное моделирование

Обработка изображения и звука

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

DIT-FFT-butterfly.png Шаблон Байера на sensor.svg Opus сравнение качества для дальтоников Compatible.svg Сравнение качества jpg и saveforweb.jpg MeningiomaMRISegmentation.png Ætoms - Translation.svg
Алгоритмы БПФ Обработка изображений Распознавание речи Сжатие данных Вычисление медицинских изображений Синтез речи

Прикладная информатика

Вычислительная техника, финансы и инженерия

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

Аттрактор Лоренца yb.svg Quark wiki.jpg Нафталин-3D-шары.png 1u04-argonaute.png GalvesLocherbach - Низкое разрешение.gif Plutchik-wheel.svg Рентген руки, на котором костный возраст автоматически определяется программой BoneXpert.jpg Elmer-pump-heatequation.png Bachlut1.png
Числовой анализ Вычислительная физика Вычислительная химия Биоинформатика Нейроинформатика Психоинформатика Медицинская информатика Вычислительная инженерия Вычислительное музыковедение

Социальные вычисления и взаимодействие человека с компьютером

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

Программная инженерия

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

Открытия

Философ вычислительной техники Билл Рапапорт отметил три великих открытия в области компьютерных наук :

Вся информация о любой вычислимой проблеме может быть представлена ​​с использованием только 0 и 1 (или любой другой бистабильной пары, которая может переключаться между двумя легко различимыми состояниями, такими как «включен / выключен», «намагничен / размагничен», «высокий -напряжение / низковольтное »и др.).
Каждый алгоритм может быть выражен на языке компьютера, состоящем всего из пяти основных инструкций:
  • переместиться на одно место влево;
  • переместитесь вправо на одно место;
  • прочитать символ в текущем местоположении;
  • напечатать 0 в текущем месте;
  • напечатайте 1 в текущем месте.
  • Понимание Коррадо Бема и Джузеппе Якопини: есть только три способа объединения этих действий (в более сложные), которые необходимы для того, чтобы компьютер мог делать «что угодно».
Чтобы объединить любой набор базовых инструкций в более сложные, нужны всего три правила:
  • последовательность : сначала сделай это, потом сделай то;
  • выбор : ЕСЛИ такой-то и такой-то, ТО сделай это, ИНАЧЕ сделай это;
  • повторение : ПОКА что так и происходит, СДЕЛАЙТЕ это.
Обратите внимание, что три правила идеи Бема и Якопини можно еще больше упростить с помощью goto (что означает, что это более элементарно, чем структурированное программирование ).

Парадигмы программирования

Языки программирования можно использовать для решения разных задач по-разному. Общие парадигмы программирования включают:

  • Функциональное программирование , стиль построения структуры и элементов компьютерных программ, который рассматривает вычисления как оценку математических функций и избегает состояния и изменяемых данных. Это декларативная парадигма программирования, которая означает, что программирование выполняется с помощью выражений или объявлений, а не операторов.
  • Императивное программирование - парадигма программирования , в которой используются операторы, изменяющие состояние программы. Во многом так же, как повелительное наклонение в естественных языках выражает команды, императивная программа состоит из команд, которые должен выполнить компьютер. Императивное программирование фокусируется на описании того, как работает программа.
  • Объектно-ориентированное программирование , парадигма программирования, основанная на концепции «объектов», которые могут содержать данные в форме полей, часто называемых атрибутами; и код в форме процедур, часто называемых методами. Особенностью объектов является то, что процедуры объекта могут обращаться к полям данных объекта, с которым они связаны, и часто изменять их. Таким образом, объектно-ориентированные компьютерные программы состоят из объектов, которые взаимодействуют друг с другом.
  • Сервисно-ориентированное программирование , парадигма программирования , в которой «услуги» используются в качестве единицы работы компьютера, для разработки и реализации интегрированных бизнес-приложений и критически важных программных программ.

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

Академия

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

Образование

Информатика , известная под ее синонимами, вычислительная техника , компьютерные исследования , преподается в школах Великобритании со времен пакетной обработки , маркировки чувствительных карточек и бумажной ленты, но обычно для нескольких избранных учеников. В 1981 году BBC выпустила микрокомпьютер и классную сеть, и компьютерные исследования стали обычным явлением для студентов уровня GCE O (11–16 лет), а компьютерные науки - для студентов уровня A. Его важность была признана, и он стал обязательной частью национальной учебной программы для ключевых этапов 3 и 4. В сентябре 2014 года он стал правом для всех учеников старше 4 лет.

В США , где 14 000 школьных округов определяли учебную программу, положение было нарушено. Согласно отчету Ассоциации вычислительной техники (ACM) и Ассоциации учителей информатики (CSTA) за 2010 год , только 14 из 50 штатов приняли важные образовательные стандарты для информатики в старших классах.

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

Смотрите также

Примечания

использованная литература

дальнейшее чтение

Обзор

  • Такер, Аллен Б. (2004). Справочник по информатике (2-е изд.). Чепмен и Холл / CRC. ISBN 978-1-58488-360-9.
    • «В более чем 70 главах, каждая из которых является новой или значительно переработанной, можно найти любую информацию и ссылки по информатике, какие только можно себе представить. […] В общем, в компьютерных науках нет ничего такого, чего нельзя было бы найти в 2,5-килограммовая энциклопедия со 110 обзорными статьями […] ». (Кристоф Майнель, Zentralblatt MATH )
  • ван Леувен, Ян (1994). Справочник по теоретической информатике . MIT Press. ISBN 978-0-262-72020-5.
    • «[…] Этот набор является наиболее уникальным и, возможно, наиболее полезным для сообщества [теоретической информатики] в поддержку как преподавания, так и исследований […]. Книги могут использоваться любым желающим просто для понимания одного из них. из этих областей, или кем-то, кто желает заниматься исследованиями по какой-либо теме, или инструкторами, желающими найти своевременную информацию по предмету, который они преподают за пределами их основных областей знаний ". (Рокки Росс, SIGACT News )
  • Ральстон, Энтони ; Рейли, Эдвин Д .; Хеммендингер, Дэвид (2000). Энциклопедия компьютерных наук (4-е изд.). Словари Grove. ISBN 978-1-56159-248-7.
    • «С 1976 года это исчерпывающий справочник по компьютерам, вычислениям и информатике. […] Упорядоченные в алфавитном порядке и классифицированные по широким предметным областям статьи охватывают аппаратное обеспечение, компьютерные системы, информацию и данные, программное обеспечение, математику вычислений. , теория вычислений, методологии, приложения и вычислительная среда. Редакторы проделали похвальную работу по объединению исторической перспективы и практической справочной информации. Энциклопедия остается важной для большинства справочных коллекций публичных и академических библиотек ». (Джо Аккардин, Северо-восточный университет Иллинойса, Чикаго)
  • Эдвин Д. Рейли (2003). Вехи в компьютерных науках и информационных технологиях . Издательская группа "Гринвуд". ISBN 978-1-57356-521-9.

Избранная литература

Статьи

Учебный план и классификация

внешние ссылки

Библиография и академические поисковые системы

Профессиональные организации

Разное