Информатика - 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? Проблема, одна из задач Премии тысячелетия , является открытой проблемой в теории вычислений.
Теория автоматов | Формальные языки | Теория вычислимости | Теория вычислительной сложности |
Модели вычислений | Теория квантовых вычислений | Теория логических схем | Клеточные автоматы |
Теория информации и кодирования
Теория информации, тесно связанная с вероятностью и статистикой , связана с количественной оценкой информации. Он был разработан Клодом Шенноном, чтобы найти фундаментальные ограничения на операции обработки сигналов, такие как сжатие данных, а также на надежное хранение и передачу данных. Теория кодирования - это изучение свойств кодов (систем для преобразования информации из одной формы в другую) и их пригодности для конкретного приложения. Коды используются для сжатия данных , криптографии , обнаружения и исправления ошибок , а в последнее время также для сетевого кодирования . Коды изучаются с целью разработки эффективных и надежных методов передачи данных.
Теория кодирования | Емкость канала | Алгоритмическая теория информации | Теория обнаружения сигналов | Колмогоровская сложность |
Структуры данных и алгоритмы
Структуры данных и алгоритмы - это исследования широко используемых вычислительных методов и их вычислительной эффективности.
О ( п 2 ) | |||||
Анализ алгоритмов | Разработка алгоритма | Структуры данных | Комбинаторная оптимизация | Вычислительная геометрия | Рандомизированные алгоритмы |
Теория языка программирования и формальные методы
Теория языков программирования - это раздел информатики, который занимается проектированием, реализацией, анализом, характеристикой и классификацией языков программирования и их индивидуальных особенностей . Это относится к дисциплине информатики, как зависящей от математики , программной инженерии и лингвистики , так и влияющих на них . Это активная исследовательская область с многочисленными специализированными академическими журналами.
Формальные методы - это особый вид математически обоснованной техники для спецификации , разработки и проверки программных и аппаратных систем. Использование формальных методов для проектирования программного и аппаратного обеспечения мотивировано ожиданием того, что, как и в других инженерных дисциплинах, выполнение соответствующего математического анализа может способствовать надежности и устойчивости проекта. Они составляют важную теоретическую основу для разработки программного обеспечения, особенно когда речь идет о безопасности. Формальные методы являются полезным дополнением к тестированию программного обеспечения, поскольку они помогают избежать ошибок, а также могут служить основой для тестирования. Для промышленного использования требуется поддержка инструмента. Тем не менее, высокая стоимость использования формальных методов означает , что они, как правило , используются только в развитии высокой целостности и жизненно важных систем , где безопасность или безопасность имеет первостепенное значение. Формальные методы лучше всего описать как применение довольно широкого разнообразия основ теоретической информатики , в частности логических исчислений, формальных языков , теории автоматов и семантики программ , а также систем типов и алгебраических типов данных к проблемам в спецификации программного и аппаратного обеспечения и проверка.
Формальная семантика | Теория типов | Дизайн компилятора | Языки программирования | Формальная проверка | Автоматическое доказательство теорем |
Компьютерные системы и вычислительные процессы
Искусственный интеллект
Искусственный интеллект (ИИ) направлен или требуется для синтеза целенаправленных процессов, таких как решение проблем, принятие решений, адаптация к окружающей среде, обучение и общение, присущие людям и животным. С момента своего возникновения в кибернетике и на Дартмутской конференции (1956 г.) исследования искусственного интеллекта обязательно были междисциплинарными, опираясь на такие области знаний, как прикладная математика , символическая логика , семиотика , электротехника , философия разума , нейрофизиология и социальная наука. интеллект . В народе искусственный интеллект ассоциируется с разработкой роботов , но основная область практического применения - это встраиваемый компонент в области разработки программного обеспечения , требующие понимания вычислений. Отправной точкой в конце 1940-х годов стал вопрос Алана Тьюринга «Могут ли компьютеры думать?», И этот вопрос остается фактически без ответа, хотя тест Тьюринга до сих пор используется для оценки результатов работы компьютеров по шкале человеческого интеллекта. Но автоматизация оценочных и прогнозных задач становится все более успешной в качестве замены человеческого мониторинга и вмешательства в области компьютерных приложений, связанных со сложными данными реального мира.
Компьютерная архитектура и организация
Компьютерная архитектура или цифровая компьютерная организация - это концептуальный проект и фундаментальная операционная структура компьютерной системы. Он в основном фокусируется на способе, которым центральный процессор выполняет внутреннюю работу и получает доступ к адресам в памяти. Компьютерные инженеры изучают вычислительную логику и проектирование компьютерного оборудования , от отдельных компонентов процессора , микроконтроллеров , персональных компьютеров до суперкомпьютеров и встроенных систем . Термин «архитектура» в компьютерной литературе восходит к работам Лайла Р. Джонсона и Фредерика П. Брукса-младшего , сотрудников отдела организации машин главного исследовательского центра IBM в 1959 году.
Параллельные, параллельные и распределенные вычисления
Параллелизм - это свойство систем, в которых несколько вычислений выполняются одновременно и потенциально взаимодействуют друг с другом. Для общих параллельных вычислений был разработан ряд математических моделей, включая сети Петри , вычисления процессов и модель параллельной машины произвольного доступа . Когда несколько компьютеров подключены к сети при использовании параллелизма, это называется распределенной системой. Компьютеры в этой распределенной системе имеют свою собственную частную память, и можно обмениваться информацией для достижения общих целей.
Компьютерная сеть
Эта отрасль информатики направлена на управление сетями между компьютерами по всему миру.
Компьютерная безопасность и криптография
Компьютерная безопасность - это отрасль компьютерных технологий, цель которой - защитить информацию от несанкционированного доступа, нарушения или модификации, сохраняя при этом доступность и удобство использования системы для предполагаемых пользователей. Криптография - это практика и изучение сокрытия (шифрования) и, следовательно, расшифровки (дешифрования) информации. Современная криптография во многом связана с информатикой, поскольку многие алгоритмы шифрования и дешифрования основаны на их вычислительной сложности.
Базы данных и интеллектуальный анализ данных
База данных предназначена для простой организации, хранения и извлечения больших объемов данных. Цифровые базы данных управляются с помощью систем управления базами данных для хранения, создания, обслуживания и поиска данных с помощью моделей баз данных и языков запросов . Интеллектуальный анализ данных - это процесс обнаружения закономерностей в больших наборах данных.
Компьютерная графика и визуализация
Компьютерная графика - это исследование цифрового визуального содержания, которое включает синтез и обработку данных изображения. Исследование связано со многими другими областями информатики, включая компьютерное зрение , обработку изображений и вычислительную геометрию , и широко применяется в области специальных эффектов и видеоигр .
2D компьютерная графика | Компьютерная анимация | Рендеринг | Смешанная реальность | Виртуальная реальность | Твердотельное моделирование |
Обработка изображения и звука
Информация может принимать форму изображений, звука, видео или другого мультимедиа. Биты информации могут передаваться через сигналы . Его обработка является центральным понятием информатики , европейского взгляда на вычисления , который изучает алгоритмы обработки информации независимо от типа носителя информации - электрического, механического или биологического. Эта область играет важную роль в теории информации , телекоммуникациях , информационной инженерии и, в частности, находит применение в медицинских вычислениях изображений и синтезе речи . Какова нижняя граница сложности алгоритмов быстрого преобразования Фурье ? является одной из нерешенных проблем теоретической информатики .
Алгоритмы БПФ | Обработка изображений | Распознавание речи | Сжатие данных | Вычисление медицинских изображений | Синтез речи |
Прикладная информатика
Вычислительная техника, финансы и инженерия
Научные вычисления (или вычислительная наука ) - это область исследования, связанная с построением математических моделей и методов количественного анализа , а также с использованием компьютеров для анализа и решения научных проблем. Основное применение научных вычислений - моделирование различных процессов, включая вычислительную гидродинамику , физические, электрические и электронные системы и схемы, а также общества и социальные ситуации (особенно военные игры) вместе с их средой обитания, среди многих других. Современные компьютеры позволяют оптимизировать такие конструкции, как целые самолеты. При проектировании электрических и электронных схем выделяются SPICE, а также программное обеспечение для физической реализации новых (или модифицированных) конструкций. Последний включает в себя необходимое программное обеспечение для проектирования интегральных схем .
Числовой анализ | Вычислительная физика | Вычислительная химия | Биоинформатика | Нейроинформатика | Психоинформатика | Медицинская информатика | Вычислительная инженерия | Вычислительное музыковедение |
Социальные вычисления и взаимодействие человека с компьютером
Социальные вычисления - это область, которая связана с пересечением социального поведения и вычислительных систем. Исследования взаимодействия человека с компьютером развивают теории, принципы и рекомендации для дизайнеров пользовательских интерфейсов.
Программная инженерия
Программная инженерия - это исследование разработки, внедрения и модификации программного обеспечения, чтобы гарантировать его высокое качество, доступность, ремонтопригодность и быструю сборку. Это системный подход к разработке программного обеспечения, предполагающий применение инженерных практик к программному обеспечению. Программная инженерия занимается организацией и анализом программного обеспечения - это касается не только создания или производства нового программного обеспечения, но и его внутренней компоновки и обслуживания. Например, тестирование программного обеспечения , системная инженерия , технический долг и процессы разработки программного обеспечения .
Открытия
Философ вычислительной техники Билл Рапапорт отметил три великих открытия в области компьютерных наук :
- Понимание Готфрида Вильгельма Лейбница , Джорджа Буля , Алана Тьюринга , Клода Шеннона и Сэмюэля Морса : есть только два объекта, с которыми компьютер должен иметь дело, чтобы представить «что угодно».
- Вся информация о любой вычислимой проблеме может быть представлена с использованием только 0 и 1 (или любой другой бистабильной пары, которая может переключаться между двумя легко различимыми состояниями, такими как «включен / выключен», «намагничен / размагничен», «высокий -напряжение / низковольтное »и др.).
- Понимание Алана Тьюринга : существует всего пять действий, которые компьютер должен выполнить, чтобы сделать «что-нибудь».
- Каждый алгоритм может быть выражен на языке компьютера, состоящем всего из пяти основных инструкций:
- переместиться на одно место влево;
- переместитесь вправо на одно место;
- прочитать символ в текущем местоположении;
- напечатать 0 в текущем месте;
- напечатайте 1 в текущем месте.
- Каждый алгоритм может быть выражен на языке компьютера, состоящем всего из пяти основных инструкций:
- Понимание Коррадо Бема и Джузеппе Якопини: есть только три способа объединения этих действий (в более сложные), которые необходимы для того, чтобы компьютер мог делать «что угодно».
- Чтобы объединить любой набор базовых инструкций в более сложные, нужны всего три правила:
- последовательность : сначала сделай это, потом сделай то;
- выбор : ЕСЛИ такой-то и такой-то, ТО сделай это, ИНАЧЕ сделай это;
- повторение : ПОКА что так и происходит, СДЕЛАЙТЕ это.
- Обратите внимание, что три правила идеи Бема и Якопини можно еще больше упростить с помощью goto (что означает, что это более элементарно, чем структурированное программирование ).
- Чтобы объединить любой набор базовых инструкций в более сложные, нужны всего три правила:
Парадигмы программирования
Языки программирования можно использовать для решения разных задач по-разному. Общие парадигмы программирования включают:
- Функциональное программирование , стиль построения структуры и элементов компьютерных программ, который рассматривает вычисления как оценку математических функций и избегает состояния и изменяемых данных. Это декларативная парадигма программирования, которая означает, что программирование выполняется с помощью выражений или объявлений, а не операторов.
- Императивное программирование - парадигма программирования , в которой используются операторы, изменяющие состояние программы. Во многом так же, как повелительное наклонение в естественных языках выражает команды, императивная программа состоит из команд, которые должен выполнить компьютер. Императивное программирование фокусируется на описании того, как работает программа.
- Объектно-ориентированное программирование , парадигма программирования, основанная на концепции «объектов», которые могут содержать данные в форме полей, часто называемых атрибутами; и код в форме процедур, часто называемых методами. Особенностью объектов является то, что процедуры объекта могут обращаться к полям данных объекта, с которым они связаны, и часто изменять их. Таким образом, объектно-ориентированные компьютерные программы состоят из объектов, которые взаимодействуют друг с другом.
- Сервисно-ориентированное программирование , парадигма программирования , в которой «услуги» используются в качестве единицы работы компьютера, для разработки и реализации интегрированных бизнес-приложений и критически важных программных программ.
Многие языки предлагают поддержку нескольких парадигм, делая различие скорее вопросом стиля, чем технических возможностей.
Академия
Конференции - важное событие для исследований в области информатики. Во время этих конференций исследователи из государственного и частного секторов представляют свои последние работы и встречаются. В отличие от большинства других академических областей, в информатике престиж статей на конференциях выше, чем у журнальных публикаций. Одно из предлагаемых объяснений этого заключается в том, что быстрое развитие этой относительно новой области требует быстрого обзора и распространения результатов, и с этой задачей лучше справляются конференции, чем журналы.
Образование
Информатика , известная под ее синонимами, вычислительная техника , компьютерные исследования , преподается в школах Великобритании со времен пакетной обработки , маркировки чувствительных карточек и бумажной ленты, но обычно для нескольких избранных учеников. В 1981 году BBC выпустила микрокомпьютер и классную сеть, и компьютерные исследования стали обычным явлением для студентов уровня GCE O (11–16 лет), а компьютерные науки - для студентов уровня A. Его важность была признана, и он стал обязательной частью национальной учебной программы для ключевых этапов 3 и 4. В сентябре 2014 года он стал правом для всех учеников старше 4 лет.
В США , где 14 000 школьных округов определяли учебную программу, положение было нарушено. Согласно отчету Ассоциации вычислительной техники (ACM) и Ассоциации учителей информатики (CSTA) за 2010 год , только 14 из 50 штатов приняли важные образовательные стандарты для информатики в старших классах.
Израиль, Новая Зеландия и Южная Корея включили информатику в свои национальные учебные программы средних школ, и некоторые другие им следуют.
Смотрите также
- Алгоритмическая торговля
- Компьютерная инженерия
- Компьютерные науки и инженерия
- Цифровая революция
- информационные и коммуникационные технологии
- Информационные технологии
- Список компьютерных ученых
- Список наград в области информатики
- Список важных публикаций по информатике
- Список пионеров информатики
- Список нерешенных проблем информатики
- Список терминов, относящихся к алгоритмам и структурам данных
- Язык программирования
- Программная инженерия
- WYSIWIS
Примечания
использованная литература
дальнейшее чтение
Обзор
-
Такер, Аллен Б. (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.
Избранная литература
- Кнут, Дональд Э. (1996). Избранные статьи по информатике . CSLI Publications, Cambridge University Press .
- Кольер, Брюс (1990). Маленький двигатель, который мог бы: вычислительные машины Чарльза Бэббиджа . ISBN Garland Publishing Inc. 978-0-8240-0043-1.
- Коэн, Бернард (2000). Ховард Эйкен, Портрет пионера компьютеров . Пресса Массачусетского технологического института. ISBN 978-0-262-53179-5.
- Тедре, Матти (2014). Наука о вычислениях: формирование дисциплины . CRC Press, Тейлор и Фрэнсис .
-
Рэнделл, Брайан (1973). Истоки цифровых компьютеров, Избранные статьи . Springer-Verlag. ISBN 978-3-540-06169-4.
- «Охватывая период с 1966 по 1993 годы, его интерес заключается не только в содержании каждого из этих документов - актуальных и сегодня, - но и в том, что они собраны вместе так, чтобы идеи, высказанные в разное время, хорошо дополняли друг друга». (Н. Бернар, Zentralblatt MATH )
Статьи
- Питер Дж. Деннинг. Компьютерные науки - это наука? , Сообщения ACM, апрель 2005 г.
- Питер Дж. Деннинг, Великие принципы в компьютерных программах , Технический симпозиум по образованию в области компьютерных наук, 2004.
- Оценка исследований в области информатики, отчет Informatics Europe. Архивировано 18 октября 2017 г. в Wayback Machine . Краткая версия журнала: Бертран Мейер, Кристин Чоппи, Ян ван Леувен и Йорген Стаунструп, Оценка исследований в области информатики , в Коммуникациях ACM , т. 52, нет. 4. С. 31–34, апрель 2009 г.
Учебный план и классификация
- Ассоциация вычислительной техники . 1998 Система классификации вычислений ACM . 1998 г.
- Объединенная рабочая группа Ассоциации вычислительной техники (ACM), Ассоциации информационных систем (AIS) и компьютерного общества IEEE (IEEE CS). Вычислительная программа 2005: Обзорный отчет . 30 сентября 2005 г.
- Норман Гиббс , Аллен Такер. «Типовая учебная программа для получения степени гуманитарных наук в области информатики». Сообщения ACM , том 29, выпуск 3, март 1986 г.
внешние ссылки
Библиотечные ресурсы по информатике |
- Информатика в Curlie
- Научные общества в области компьютерных наук
- Что такое компьютерные науки?
- Best Papers Awards в области компьютерных наук с 1996 г.
- Фотографии компьютерных ученых по Бертрану Мейер
- EECS.berkeley.edu
Библиография и академические поисковые системы
- CiteSeer x ( статья ): поисковая система, электронная библиотека и хранилище научных и академических статей с акцентом на информатику и информатику.
- Библиография по информатике DBLP ( статья ): веб-сайт библиографии по информатике, размещенный в Университете Трира в Германии.
- The Collection of Computer Science Bibliographies ( Сборник библиографий по информатике )
Профессиональные организации
- Ассоциация вычислительной техники
- IEEE Computer Society
- Информатика Европа
- AAAI
- AAAS Компьютерные науки
Разное
- Computer Science — Stack Exchange : сайт вопросов и ответов по информатике, управляемый сообществом.
- Что такое информатика
- Компьютерные науки - это наука?
- Компьютерные науки (программное обеспечение) следует рассматривать как независимую дисциплину.