В информатике список это: Список (информатика) — это… Что такое Список (информатика)?

★ Список, информатика — информатика .. Информация

1. Определение.

(Definition)

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

L i s t A = N I L (Л я т ь А = Н Я) + A × L i s t (Л я т) A) {\displaystyle ListA=NIL+A\times ListA)} p r e f i x = constructor (П Р Е Ф и Х = конструктор) {\displaystyle prefix={\text{constructor}}} L i s t A (Л и с т) {\displaystyle ListA} h e a d (Листа} з е), t a i l = selectors (т а я л = селекторов) {\displaystyle head,tail={\text{selectors}}} L i s t A (Л и с т) {\displaystyle ListA} n u l (Листа} н У Л), n o n u l = predicates (н о н У Л = предикатов) {\displaystyle null,nonnull={\text{predicates}}} L i s t A (Л и с т) {\displaystyle ListA} N I L (Листа} Н Я), n o N I L = parts (п о д н я Л = части) {\displaystyle NIL,nonNIL={\text{parts}}} L i s t A (Л и с т) {\displaystyle ListA} (Листа})

В первой строке определение означает, что список элементов типа A {\свойства стиль отображения значение A} скажи: «список A {\свойства стиль отображения значение а}» — это размеченное объединение пустого списка, и декартовым атомов типа A {\свойства стиль отображения значение A} список A {\свойства стиль отображения значение A}. для создания списков два конструктора второй строке определения, первый из которых создает пустой список, а второй-непустое, соответственно оно и понятно второй конструктор принимает на вход в качестве параметров некоторого атома и список и возвращает список, первым элементом которого является источником атома, и другие элементы исходного списка. так что префиксация атома в список, и связано с тем, что имя дизайнера. пустой список } не является атомом, и, следовательно, не может prefixbits. С другой стороны, пустой список является нулевой элемент для построения списков, так что в каждом списке в самом конце пустой список — он начинается с проектирования.

Третья строка определяет селекторы для списка, т. е. операции, получить доступ к элементам в списке. переключатель h e a d (ч е) {\свойства стиль отображения значение head} (глава}) получает на вход список и возвращает первый элемент этого списка, то есть тип результата-это тип A {\свойства стиль отображения значение A}. этот селектор не на вход пустой список — в этом случае результат операции неопределен. селектор t a i l (Т И) {\свойства стиль отображения значение tail} (хвост}) возвращает список, полученный из входного сигнала, в результате отрезали ему голову. первый элемент этот селектор не может сделать вход пустой список, так как в этом случае результат операции неопределен. с помощью этих двух операций можно получить из списка любой пункт. например, чтобы получить третий элемент списка, если они присутствуют, должны быть плотно два раза, чтобы применить селектор t a i l (Т И) {\свойства стиль отображения значение tail} (хвост}), а затем применить селектор h e a d (ч е) {\свойства стиль отображения значение head} (глава}). другими словами, для получения элемента списка, который находится в положении n {\свойства стиль отображения значение n} начиная с 0 {\свойства стиль отображения значение 0} для первого элемента, как это принято в программировании, вы должны n {\свойства стиль отображения значение n} с помощью селектора t a i l (Т И) {\свойства стиль отображения значение tail} (хвост}), а затем применить селектор h e a d (ч е) {\свойства стиль отображения значение head} (глава}).

В четвертой строке определения описываются предикаты для списка, то есть функции, которые возвращают логическое значение в зависимости от некоторых условий. первый предикат возвращает t r u e (т р у) {\свойства стиль отображения значение true} (истинно}) в случае, если данный список пуст. второй предикат действует наоборот. и, наконец, пятая строка описывает часть списка, которая, как уже говорилось, представляют собой пустые и непустые списки.

Урок 28 — Информатика 8 класс г Рогачева

w3.org/1999/xhtml» cellspacing=»0″>

Списки

Теоретическая часть

Абзацы, отмеченные маркерами или номерами, образуют список. Список в Ворде можно сделать по-разному:

  1. Нумерованный. В таком перечне каждый пункт имеет нумерацию. Она
    может иметь вид арабских и римских цифр или букв. После них может стоять
    точка или скобка. Следующие за первым пунктом в перечислении символы
    выставляются автоматически. Вид они имеют такой: «А.», «D.», «1.», «І.»,
    «1)», «а)».  Используют, когда имеет значение порядковый номер каждого элемента списка.
  2. Маркированный. В таком перечне вместо цифр и букв используются
    различные изображения, которые называются маркерами. Применяйте для перечисления чего-то или кого-то. Маркеры имеют
    различный вид. Это могут быть точки, тире, галочки, стрелочки и
    различные геометрические фигуры. При желании можно добавлять в исходный
    перечень свои изображения. Вид маркеров должен соответствовать стилю
    текста.
  3. Многоуровневый. В этих видах перечислений сочетаются маркированные и
    нумерованные виды. Это такой стиль регистра, в котором каждый пункт
    включает в себя отдельный перечень. Выделяться различные уровни могут
    как цифрами и буквами, так и маркерами.

Оформление описей осуществляется по соответствующим правилам работы с текстовыми документами.
Эти правила таковы:

  1. Если в нумерованном регистре после цифры или буквы стоит точка, то
    предложение начинается с большой буквы. В конце ставится точка. Пункты
    могут состоять из нескольких предложений.
  2. В маркированных перечнях предложения начинаются с маленькой буквы. В
    конце пунктов ставится точка с запятой. Точка ставится в конце
    последнего пункта. Состоят такие пункты из одного предложения, в котором
    может быть всего одно слово. Маркеры имеют одинаковый стиль.
  3. Допускается выделение перечней в тексте. Для этого может применяться
    другой вид шрифта, изменения его размера или цвета. Наглядным способом
    выделения фрагмента в тексте является изменение отступа от края
    страницы.
  4. Все реестры начинаются после отдельного предложения, в конце которого стоит двоеточие.
  5. Документ не может начинаться с перечисления и им заканчиваться.

       Если вы уже набрали текст и посчитали, что лучше оформить его в виде
списка – это будет легко сделать. Не нужно ничего переписывать или
проставлять маркеры вручную. Выделите текст, который нужно оформить
списком и нажмите на ленте «Маркеры» или «Нумерация». Программа
преобразует ваши данные автоматически, каждый абзац будет элементом
списка.

Создание  маркированного списка

         Чтобы начать вводить маркированный список – перейдите на новую строку. Наберите * (звездочка) и пробел. Появится первый маркированный элемент, можно вводить содержание первого пункта. Оно будет располагаться на расстоянии от маркера. Чтобы закончить текущий элемент списка и начать новый – нажмите Enter. Чтобы закончить ввод списка и перейти в обычный режим – нажмите Enter еще раз.
Есть еще один способ создания списка – нажать на ленте Главная  – Абзац – Маркеры. Для завершения работы со списком, можно снова нажать эту кнопку.

Создание нумерованного списка

       Практически аналогично создается нумерованный список. Чтобы начать ввод – наберите 1. (один с точкой) и пробел. Появится первый пункт. Набирайте текст.  Для начала следующего пункта, опять же, нажмите Enter. Для выхода из списка – еще раз Enter
Другой способ – на ленте Главная – Абзац – Нумерация. Для завершения работы со списком — нажать  кнопку «Нумерация» на ленте.

Создание многоуровневого списка

       Многоуровневый список – это структура с одним или несколькими подчиненными списками. Выглядит это так:

       Чтобы создать подчиненный элемент – создайте новый элемент списка и нажмите Tab. Маркер изменит свой вид и сместится немного вправо. Теперь вы работаете в списке второго уровня и все новые элементы будут создаваться тоже второго уровня. Чтобы вернуться на уровень выше – создайте новый элемент и нажмите Shift+Tab.

Видео Списки и колонки

Практическая часть

Задание 1.Создайте маркированный список «Семь чудес света». К ним относят древнеегипетские пирамиды, храм Артемиды в Эфесе, мавзолей в Галикарнасе, террасные «висячие сады» Семирамиды, статую Зевса в Олимпии, Колосса родосского, маяк в Александрии. Маркер выберите по собственному усмотрению.Сохраните созданный документ в своей папке под именем Семь чудес света.

Задание 2. Создайте нумерованный список: Есть такие деревья
Хлебное дерево из семейства тутовых. Колбасное дерево из семейства бегониевых (кигелия). Дерево путешественников из семейства банановых (Равенна мадагаскарская). Шоколадное дерево (один из видов рода теоброма). Конфетное дерево (говения). Ландышевое дерево, растение рода клетра. «Деревянная корова», растет в Коста-Рике. Авокадо – аллигаторова груша
из семейства лавровых. Дынное дерево (папайя). Железное дерево (железняк, парротия персидская). Бумажное дерево, один из видов буссонетия. Сальное дерево семейства молочных. Сохраните созданный документ в своей папке под именем Есть такие деревья.

Задание 3. Создайте на белорусском языке двухуровневый список: первый уровень — названия времен года, второй уровень — названия месяцев. Сохраните созданный документ в своей папке под именем Времена года.

Электронная рабочая тетрадь

Урок информатики Списки в HTML


Урок информатики в котором мы познакомимся с маркированными, неупорядоченнымии нумерованными, упорядоченными списками в HTML и их основными атрибутами.


Урок информатики Списки в HTML (теория).


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



Неупорядоченные списки


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

Неупорядоченный список начинается с тега <ul>. Каждый элемент списка начинается с тега <li>.

<html>

<body>


<h5>Неупорядоченный список:</h5>

<ul>

<li>элемент 1</li>

<li>элемент 2</li>

<li>элемент 3</li>

</ul>


</body>

</html>

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



Упорядоченные списки




Упорядоченный список также является списком элементов. Элементы списка маркируются с помощью чисел или букв.

Упорядоченный список начинается с тега<ol>. Каждый элемент списка начинается с тега <li>. У тега <ol> может быть два атрибута start (определяет первое число, с которого начинается нумерация пунктов) и type (определяет стиль нумерации пунктов). Может иметь значения:


  • «A» — заглавные буквы A, B, C …

  • «a» — строчные буквы a, b, c …

  • «I» — большие римские числа I, II, III …

  • «i» — маленькие римские числа i, ii, iii …

  • «1» — арабские числа 1, 2, 3 …


<html>

<body>


<h5>Упорядоченный список:</h5>

<ol>

<li>элемент 1</li>

<li>элемент 2</li>

<li>элемент 3</li>

</ol>


</body>

</html>

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



Списки определений




Список определений не является списком элементов. Это список терминов и определений терминов.

Список определений начинается с тега <dl>. Каждый термин списка определений начинается с тега <dt>. Каждое определение списка начинается с тега <dd>.

<html>

<body>


<dl>

<dt>элемент 1</dt>

<dd>описание элемента 1</dd>

<dt>элемент 2</dt>

<dd>описание элемента 2</dd>

</dl>


</body>

</html>

Внутри определения списка определений (тег <dd>) можно помещать параграфы, переносы строк, изображения, ссылки, другие списки, и т. д.



Теги списков











Тег


Описание


<ol>


Определяет упорядоченный список


<ul>


Определяет неупорядоченный список


<li>


Определяет элемент списка


<dl>


Определяет список определений


<dt>


Определяет термин определения


<dd>


Определяет описание определения


<dir>


Не рекомендуется. Используйте вместо этого <ul>


<menu>


Не рекомендуется. Используйте вместо этого <ul>




Смотреть другие уроки информатики


примеры в информатике. Структурированный, или многоуровневый список

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

В данной статье мы поговорим о том, какими способами реализуется эта задача, и приведем пример — многоуровневый список, созданный в редакторе текста Microsoft Word.

Что это такое

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

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

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

Зачем нужны списки

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

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

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

Виды

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

  • первая информационная строка;
  • вторая;
  • третья.

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

  1. На первом месте — наиболее важный материал.
  2. На втором — менее важный.
  3. На третьем степень значимости еще более понижается и так далее.

Самым сложным считается многоуровневый список, пример мы приведем утрированный, но он это наглядно раскрывает суть:

1. Название раздела.

1.1 Подраздел 1.

1.1.1 Рубрика 1.

1.1.2 Рубрика 2.

1.2. Подраздел 2.

1.2.1 Рубрика 1.

1.2.1 Рубрика 2.

2. Название раздела.

Как создается

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

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

Способ первый: сочетания команд

Готовый текст набирается так: каждый элемент печатается с новой строки (только в этом случае они смогут стать элементами списка). После этого его нужно выделить и последовательно выполнить команды (используя панель инструментов вверху экрана): «Формат», «Список».

Когда откроется диалоговое окно, необходимо выбрать «Тип» — «Многоуровневый». Такие сочетания команд характерны для более ранних версий редактора, например для Microsoft Word 2003.

Способ второй, более быстрый

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

В более поздних программных продуктах (например, Microsoft Office 2010, MS Word) команды со списками сразу вынесены на панель «Главная» в абзацном блоке. В нем сверху и слева размещены кнопки — так называемые элементы «быстрого доступа»: маркированный список, нумерованный список и многоуровневый список.

Такая подача «командных» инструментов упрощает задачу форматирования текста за счет скорости — все операции выполняются быстро за счет использования графически оформленных кнопок. Не нужно открывать контекстное меню и разбираться в нем.

Способ третий: редактирование по ходу набора текста

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

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

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

Далее набивается текст, в нем при переходе к новой строке редактор проставляет автоматическую нумерацию. Изначально она будет равноценной лежащему сверху пункту. Для того чтобы понизить значимость (спустить на нижнюю ступень), нужно использовать табуляцию (нажать клавишу Tab). Backspace, SHIFT+TAB или Enter помогут вернуть подпункт на предыдущий уровень (отменят ошибочное действие).

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

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

Элемент творчества

Программисты продумали множество вариантов многоуровневых списков в текстовом редакторе (все они представлены в коллекции Word). Но может произойти такая ситуация, при которой пользователю буден необходимо создать свой, личный стиль. Такая возможность, к счастью, тоже имеется.

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

  1. Идем по привычной схеме команд, на панели «Главная» выбираем среди группы «Абзац» кнопку «Многоуровневый список».
  2. Далее в открывшемся меню, предлагающем различные варианты, кликаем по «Определить новый многоуровневый список».
  3. В диалоговом окне необходимо выбрать, настроить и подтвердить форматирование (стиль, выравнивание, отступ) нумерации пунктов с 1 по 9 уровень списка.

Таким образом будет создан новый, авторский многоуровневый (или структурированный) список.

Применение

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

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

Школьные уроки

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

Например, тема «Пословица как пример многоуровневого списка» позволяет детям использовать доступный материал для выполнения задания. Каким образом? Учитель может предложить ученикам, используя народную мудрость, составить многоуровневый список известных русских крылатых выражений (пословиц или поговорок).

Например, для нумерации основных разделов: пословицы о труде, о дружбе, о хитрости. Для подпунктов второго уровня: самые распространенные, малоизвестные. Для третьего уровня нумерации списка: пословицы о людях, пословицы о животных и так далее.

Примеры многоуровневых списков 7 класс вполне способен придумывать самостоятельно после одного проведенного по теме урока. Таким образом, мышление ребенка может пойти чуть глубже.

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

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

Заключение

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

Самое главное — представлять саму суть структурированности и «многоуровневости» списка, понимать значение и уметь изменять при необходимости иерархию пунктов и подпунктов. Нужно лишь иметь терпение, и все получится!

Многоуровневые списки

Практическая работа №5

«Многоуровневые списки»



В текстовом процессоре Microsoft Word возможны 3 типа списков:

Нумерованный

Маркированный

Многоуровневый

Пример:

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

Как создать многоуровневый список

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

2. Создайте первую строку маркированного или нумерованного списка .

3. Нажмите клавишу Enter и наберите вторую строку списка.

4. Для понижения уровня нужной строки списка (например, с № 1 до № 1.1) щелкните по кнопке Понизить на один уровень на автоматически открывшейся панели Маркеры и нумерация.

5. Для повышения уровня нужной строки списка (например, с № 1.2 до № 2) щелкните по кнопке Повысить на один уровень на автоматически открывшейся панели Маркеры и нумерация. Для изменения уровня строки в многоуровневом списке можно также использовать клавишу Tab (понижать уровень) и Shift+Tab (повышать уровень).

6. Для прекращения нумерации дважды нажмите клавишу Enter.

Как изменить структуру многоуровневого списка

1. В окне открытого документа щелкните правой кнопкой мыши по любой строке многоуровневого списка.

2. В контекстном меню выберите пункт Список.

3. В окне Маркеры и нумерация на вкладке Структура выберите нужный вид структуры многоуровневого списка.

4. Закройте окно кнопкой ОК.

Как преобразовать простой список в многоуровневый

Существующий обычный список (нумерованный или маркированный) можно в любой момент преобразовать в многоуровневый.

1. В окне открытого документа щелкните правой кнопкой мыши по любой строке нумерованного или маркированного списка.

2. В контекстном меню выберите пункт Список.

3. В окне Маркеры и нумерация на вкладке Структура выберите нужный вид структуры многоуровневого списка.

4. Закройте окно кнопкой ОК.

Как изменить расположение строки в списке

Расположение строк можно изменять в любой момент работы со списком.

1. В окне открытого документа установите курсор ввода текста на нужной строке списка.

2. Автоматически откроется панель Маркеры и нумерация.

3. На панели Маркеры и нумерация щелкните по кнопке Переместить вверх или Переместить вниз.

Колонки

Колонки — это вертикальные текстовые поля, на которые разбиваются страницы. Колонки используются для создания более выразительных документов и удобного расположения больших объемов текста на страницах. Ярким примером колонок служат газетные и журнальные колонки. Разбить страницу на колонки можно как уже с набранным текстом, так и пустую, еще перед набором текста.

Как разбить пустую страницу на колонки одинаковой ширины

1. В окне открытого документа раскройте меню Формат.

2. В списке команд выберите пункт Колонки.

3. В окне Колонки задайте регулятором Колонки нужное число колонок. Созданные колонки автоматически равны между собой. Чем больше число колонок, тем меньше их ширина. Максимальное число колонок — 99.

4. Для отображения на странице вертикальной линии между колонками в группе Разделительная линия откройте список графы Линия и выберите нужный тип линии. При этом линия будет располагаться по центру интервала между колонками.

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

6. Закройте окно кнопкой ОК.

Как разбить страницу на колонки различной ширины

1. В окне открытого документа раскройте меню Формат.

2. В списке команд выберите пункт Колонки.

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

4. После этого появится возможность задать ширину каждой колонки и интервала между ними отдельно.

5. Сначала в графе Ширина задается ширина первой колонки, затем регулятором Интервал — ширина первого интервала, следом — ширина второй колонки и второго интервала и т. д. Ширину последней колонки задавать не нужно! Иначе изменятся заданные ранее параметры первых колонок и интервалов.

6. Для перехода к регуляторам ширины колонок используйте кнопку Колонка.

7. При необходимости задайте вертикальную линию между колон ками.

8. Закройте окно кнопкой ОК.

Как разбить колонку на дополнительные колонки

1. В окне открытого документа выделите текст в нужной колонке.

2. В окне открытого документа раскройте меню Формат.

3. В списке команд выберите пункт Колонки.

4. В окне Колонки откройте список графы Применить к: и выберите значение Выделению.

5. Задайте нужное число колонок и их параметры.

Как разбить на колонки готовый текст

1. В окне открытого документа выделите нужный текст на странице.

2. Далее действуйте так же, как в предыдущей инструкции.

Как набирать текст в поле колонки

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

2. Автоматически в конце каждой колонки (который совпадает с окончанием страницы) курсор ввода текста переместится на следующую колонку вправо и т. д. В конце последней колонки на странице курсор ввода текста переместится на первую колонку следующей страницы и т. д.

Как самостоятельно перейти из одной колонки в другую

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

Первый способ

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

2. Используйте сочетание клавиш Ctrl+Shift+Enter.

Второй способ

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

2. Откройте меню Вставка.

3. В списке команд выберите пункт Разрыв.

4. В окне Вставить разрыв в группе Тип активируйте пункт Разрыв столбца.

5. Закройте окно кнопкой ОК. Разрыв колонки удаляется так же, как обычные символы — клавишами Delete или BackSpace.

Как отказаться от колонок

1. В окне открытого документа установите курсор ввода текста на текстовом поле любой колонки.

2. В окне открытого документа раскройте меню Формат.

3. В списке команд выберите пункт Колонки.

4. В окне Колонки задайте регулятором Колонки число 1.

5. Закройте окно кнопкой ОК.

Рамки

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

Как задать рамку фрагменту текста

1. В окне открытого документа щелкните правой кнопкой мыши по нужному абзацу. Также для создания рамки можно выделить группу абзацев.

2. В контекстном меню выберите пункт Абзац.

3. В окне Абзац на вкладке Обрамление выберите один из вариантов обрамления.

4. При необходимости в группе Стиль выберите нужный тип линий для выбранной рамки.

5. Откройте палитру Цвет и выберите нужный цвет линий рамки.

6. В группе Отступы от содержимого можно задать расстояние от линий рамки до текста абзаца.

7. Закройте окно кнопкой ОК.

Как удалить рамку фрагмента текста

1. В окне открытого документа щелкните правой кнопкой мыши по тексту с рамкой.

2. В контекстном меню выберите пункт Абзац.

3. В окне Абзац на вкладке Обрамление в группе Предопределенное выберите вариант Убрать обрамление.

4. Закройте окно кнопкой ОК.

Как задать рамку страницам документа

1. В окне открытого документа установите курсор на любой странице нужного документа.

2. Раскройте меню Формат.

3. В списке команд выберите пункт Страница.

4. В окне Стиль страницы: имя стиля на вкладке Обрамление задайте параметры рамки, аналогично рамке для абзаца.

5. Закройте окно кнопкой ОК.

Как удалить рамку страниц документа

1. В окне открытого документа установите курсор ввода текста на любой странице с рамкой нужного документа.

2. Раскройте меню Формат.

3. В списке команд выберите пункт Страница.

4. В окне Стиль страницы: имя стиля на вкладке Обрамление в группе Обрамление щелкните по кнопке Убрать обрамление.

Заливка

Заливка — это заполнение цветом пространства фрагмента текста или страницы. Она широко используется в оформлении документов наравне с другими способами выделения. Заливка привязана к тексту и странице и не может существовать без них.

Как задать заливку фрагменту текста

1. В окне открытого документа щелкните правой кнопкой мыши по нужному абзацу. Также для создания заливки можно выделить группу абзацев.

2. В контекстном меню выберите пункт Абзац.

3. В окне Абзац на вкладке Фон в палитре Цвет фона щелкните по плашке нужного цвета.

4. Закройте окно кнопкой ОК.

Как убрать заливку фрагмента текста

1. В окне открытого документа щелкните правой кнопкой мыши по фрагменту текста с заливкой.

2. В контекстном меню выберите пункт Абзац.

3. В окне Абзац на вкладке Фон в палитре Цвет фона выберите значение Без заливки.

4. Закройте окно кнопкой ОК.

Как задать фон страницам документа

1. В окне открытого документа щелкните правой кнопкой мыши по нужному абзацу.

2. В контекстном меню выберите пункт Страница.

3. В окне Стиль страницы: имя стиля на вкладке Фон в палитре Цвет фона щелкните по плашке нужного цвета. Цвет фона не распространяется на поля страницы.

4. Закройте окно кнопкой ОК.

Как задать графический фон нужным страницам документа

1. В окне открытого документа щелкните правой кнопкой мыши по нужному абзацу.

2. В контекстном меню выберите пункт Страница.

3. В окне Стиль страницы: имя стиля на вкладке Фон откройте список графы Тип и выберите значение Графический объект.

4. В группе Файл щелкните по кнопке Обзор.

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

6. Дважды щелкните по найденному графическому файлу.

7. В группе Тип выберите один из трех способов расположения фонового рисунка на странице.

8. Закройте окно кнопкой ОК.

Как убрать фон у страниц документа

1. В окне открытого документа щелкните правой кнопкой мыши по любой странице с фоном.

2. В контекстном меню выберите пункт Страница.

3. В окне Стиль страницы: имя стиля на вкладке Фон в палитре Цвет фона выберите значение Без заливки.

4. Закройте окно кнопкой ОК


Практическая работа №5

«Многоуровневые списки»

Задание 1. Устройства современного компьютера

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

1. Откройте файл Устройства.doc из папки Заготовки.

2. Придайте первой строке стиль форматирования Заголовок 1.

3. Преобразуйте оставшиеся строки в многоуровневый список. Для этого:

1) выделите все оставшиеся строки;

2) отдайте команду [Формат-Список]. В диалоговом окне Список перейдите на вкладку Многоуровневый и выберите там список типа:

4. Исходный текст приобрел вид нумерованного списка.

Все его пункты получили самый высокий 1-й уровень. Но такой уровень могут занимать только пункты «Процессор», «Память», «Устройства ввода» и «Устройства вывода». Уровень остальных пунктов следует понизить (создать вложение пунктов).

Для этого воспользуемся кнопкой Увеличить отступ на панели инструментов Главная.

Выделите пункты 3-10 и понизьте их уровень.

Выделите пункты 2.3-2.8 и понизьте их уровень.

Выделите пункты 2.2.5-2.2.6 и понизьте их уровень.

5. Повторите аналогичные операции для других пунктов списка.

6. Сохраните документ в собственной папке под именем Устройства.

Задание 2. Природа России

1. Откройте файл Природа России.doc из папки Заготовки.

2. Переструктурируйте информацию в виде многоуровневого списка. Один из возможных вариантов оформления представлен ниже:

3. Сохраните многоуровневый список в собственной папке под именем Млекопитающие1.

Задание 3. Водные системы

1. Откройте файл Водные системы.doc из папки Заготовки.

2. Переструктурируйте информацию в виде многоуровневого списка. Вариант оформления придумайте сами.

3. Сохраните многоуровневый список в собственной папке под именем Водные системы 1.

Задание 4. Творческое задание

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

Теперь мы умеем


- создавать многоуровневые списки

Основные структуры данных.

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

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

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

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

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

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

Массивы.

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

Пусть одномерный массив называется A, тогда для получения доступа к его i-ому элементу потребуется указать название массива и номер требуемого элемента: A[i]. Когда A – матрица, то она представляема в виде таблицы, доступ к элементам которой осуществляется по имени массива, а также номерам строки и столбца, на пересечении которых расположен элемент: A[i, j], где i – номер строки, j – номер столбца.

В разных языках программирования работа с массивами может в чем-то различаться, но основные принципы, как правило, везде одни. В языке Pascal, обращение к одномерному и двумерному массиву происходит точно так, как это показано выше, а, например, в C++ двумерный массив следует указывать так: A[i][j]. Элементы массива нумеруются поочередно. На то, с какого значения начинается нумерация, влияет язык программирования. Чаще всего этим значением является 0 или 1.

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

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

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

Списки.

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

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

Односвязный список

В односвязном списке, приведенным выше, начальным элементом является Head list (голова списка [произвольное наименование]), а все остальное называется хвостом. Хвост списка составляют элементы, разделенные на две части: информационную (поле info) и указательную (поле next). В последнем элементе вместо указателя, содержится признак конца списка – nil.

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

Двусвязный список

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

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

Кольцевой список

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

Кроме различия по связям, списки делятся по методам работы с данными. О некоторых таких методах сказано далее.

Стек

Стек.

Стек характерен тем, что получить доступ к его элементом можно лишь с одного конца, называемого вершиной стека, иначе говоря: стек – структура данных, функционирующая по принципу LIFO (last in — first out, «последним пришёл — первым вышел»).

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

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

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

Очередь.

Структура данных «Очередь» использует принцип организации FIFO (First In, First Out — «первым пришёл — первым вышел»). В некотором смысле такой метод более справедлив, чем тот, по которому функционирует стек, ведь простое правило, лежащее в основе привычных очередей в различные магазины, больницы считается вполне справедливым, а именно оно является базисом этой структуры.

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

Очередь

Дек.

Дек (deque — double ended queue, «двухсторонняя очередь») – стек с двумя концами. Действительно, несмотря конкретный перевод, дек можно определять не только как двухстороннюю очередь, но и как стек, имеющий два конца. Это означает, что данный вид списка позволяет добавлять элементы в начало и в конец, и то же самое справедливо для операции извлечения.

Дек

Эта структура одновременно работает по двум способам организации данных: FIFO и LIFO. Поэтому ее допустимо отнести к отдельной программной единице, полученной в результате суммирования двух предыдущих видов списка.

Графы.

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

Граф – совокупность точек, соединенных линиями. Точки называются вершинами (узлами), а линии – ребрами (дугами).

Как показано на рисунке различают два основных вида графов: ориентированные и неориентированные. В первых ребра являются направленными, т. е. существует только одно доступное направление между двумя связными вершинами, например из вершины 1 можно пройти в вершину 2, но не наоборот. В неориентированном связном графе из каждой вершины можно пройти в каждую и обратно. Частный случай двух этих видов – смешанный граф. Он характерен наличием как ориентированных, так и неориентированных ребер.

Степень входа вершины – количество входящих в нее ребер, степень выхода – количество исходящих ребер.

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

Графы широко используются в структурах, созданных человеком, например в компьютерных и транспортных сетях, web-технологиях. Специальные способы представления позволяют использовать граф в информатике (в вычислительных машинах). Самые известные из них: «Матрица смежности», «Матрица инцидентности», «Список смежности», «Список рёбер». Два первых, как понятно из названия, для репрезентации графа используют матрицу, а два последних – список.

Деревья.

Неупорядоченное дерево

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

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

Узлы, не ссылающиеся ни на какие другие узлы, иначе говоря, ни имеющие потомков называются листьями (2, 3, 9), либо терминальными узлами. Элементы, расположенные между корневым узлом и листьями – промежуточные узлы (1, 1, 7, 8). Каждый узел дерева имеет только одного предка, или если он корневой, то не имеет ни одного.

Поддерево – часть дерева, включающая некоторый корневой узел и все его узлы-потомки. Так, например, на рисунке одно из поддеревьев включает корень 8 и элементы 2, 1, 9.

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

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


Похожие записи:

Российский совет олимпиад школьников

1«В начале было Слово…»историяистория2
литературалитература3
2«Наследники Левши»физикафизика3
3XIII Южно-Российская межрегиональная олимпиада школьников «Архитектура и искусство» по комплексу предметов (рисунок, живопись, композиция, черчение)искусство, черчениерисунок, живопись, композиция, черчение2
4Всероссийская олимпиада по финансовой грамотности, финансовому рынку и защите прав потребителей финансовых услугфинансовая грамотностьэкономика3
5Всероссийская олимпиада учащихся музыкальных колледжейхоровое дирижированиедирижирование (дирижирование академическим хором)2
инструменты народного оркестраискусство концертного исполнительства (концертные народные инструменты)2
струнные инструментыискусство концертного исполнительства (концертные струнные инструменты)3
теория и история музыкимузыковедение, музыкознание и музыкально-прикладное искусство (музыкальная журналистика и редакторская деятельность в средствах массовой информации)2
музыкальная педагогика и исполнительствомузыкознание и музыкально-прикладное искусство (музыкальная педагогика)3
6Всероссийская олимпиада школьников «Высшая проба»биологиябиология2
востоковедениевостоковедение и африканистика2
дизайндизайн1
журналистикажурналистика1
иностранный языкиностранный язык1
восточные языкииностранный язык2
электроника и вычислительная техникаинфокоммуникационные технологии и системы связи, информатика и вычислительная техника2
информатикаинформатика1
историяистория1
история мировых цивилизацийистория2
культурологиякультурология1
математикаматематика1
основы бизнесаменеджмент, государственное и муниципальное управление3
обществознаниеобществознание1
политологияполитология, обществознание1
правоправо1
психологияпсихология2
русский языкрусский язык1
социологиясоциология, обществознание1
физикафизика3
филологияфилология, литература1
философияфилософия, обществознание1
химияхимия2
экономикаэкономика1
финансовая грамотностьэкономика2
7Всероссийская олимпиада школьников «Миссия выполнима. Твое призвание-финансист!»историяистория3
математикаматематика3
обществознаниеобществознание3
экономикаэкономика3
8Всероссийская олимпиада школьников «Нанотехнологии — прорыв в будущее!»нанотехнологиихимия, физика, математика, биология1
9Всероссийская Сеченовская олимпиада школьниковбиологиябиология3
10Всероссийская Толстовская олимпиада школьниковисторияистория2
обществознаниеобществознание3
литературапедобразование профиль «русский язык и литература», филология профиль «отечественная филология»3
11Всероссийская экономическая олимпиада школьников имени Н.Д. Кондратьеваэкономикаэкономика1
12Всероссийский конкурс научных работ школьников «Юниор»инженерные наукиестественные науки, инженерные науки, приборостроение, ядерная энергетика и технологии, физико-технические науки и технологии, технологии материалов, нанотехнологии и наноматериалы, мехатроника и робототехника3
естественные наукиестественные науки, промышленная экология и биотехнологии, экология и природопользование2
13Всесибирская открытая олимпиада школьниковастрономияастрономия3
биологиябиология2
информатикаинформатика1
математикаматематика2
физикафизика2
химияхимия1
14Вузовско-академическая олимпиада по программированию на Уралепрограммированиеинформатика3
15Герценовская олимпиада школьниковгеографиягеография2
иностранные языкииностранные языки2
16Городская открытая олимпиада школьников по физикефизикафизика2
17Государственный аудитобществознаниеобществознание2
18Инженерная олимпиада школьниковфизикафизика2
19Интернет-олимпиада школьников по физикефизикафизика2
20Кутафинская олимпиада школьников по правуправоправо2
21Межвузовская олимпиада школьников «Первый успех»педагогические науки и образованиепедагогическое образование, психолого-педагогическое образование, педагогическое образование (с двумя профилями подготовки), специальное (дефектологическое) образование2
22Междисциплинарная олимпиада школьников имени В.И. Вернадскогогуманитарные и социальные наукиистория, обществознание1
23Международная олимпиада школьников «Искусство графики»рисунокграфика, дизайн2
графический дизайндизайн2
24Межрегиональная олимпиада по праву «ФЕМИДА»правообществознание2
25Межрегиональная олимпиада школьников «САММАТ»математика01.03.00 математика и механика, 02.03.00 компьютерные и информационные науки, 09.03.00 информатика и вычислительная техника, 10.03.00 информационная безопасность3
26Межрегиональная олимпиада школьников «Архитектура и искусство» по комплексу предметов (рисунок, композиция)искусстворисунок, композиция2
27Межрегиональная олимпиада школьников «Будущие исследователи — будущее науки»биологиябиология2
историяистория2
математикаматематика3
русский языкрусский язык2
физикафизика3
химияхимия2
28Межрегиональная олимпиада школьников «Евразийская лингвистическая олимпиада»иностранный языкиностранный язык2
29Межрегиональная олимпиада школьников им. В.Е.Татлинарисунокискусство2
композицияискусство2
графикаискусство2
30Межрегиональная олимпиада школьников им. И.Я. Верченкокомпьютерная безопасностьинформационная безопасность3
математикаматематика, криптография2
31Межрегиональная олимпиада школьников на базе ведомственных образовательных организацийиностранный языкиностранный язык3
математикаматематика2
обществознаниеобществознание3
физикафизика3
32Межрегиональная отраслевая олимпиада школьников «Паруса надежды»математикаматематика3
техника и технологиитехника и технологии строительства, информационная безопасность, электро- и теплоэнергетика, машиностроение, техносферная безопасность и природообустройство, техника и технологии наземного транспорта, управление в технических системах, экономика и управление, сервис и туризм3
33Межрегиональные предметные олимпиады федерального государственного автономного образовательного учреждения высшего образования «Казанский (Приволжский) федеральный университет»иностранный языкиностранный язык2
физикафизика3
химияхимия2
34Межрегиональный экономический фестиваль школьников «Сибириада. Шаг в мечту»экономикаэкономика, обществознание2
35Многопредметная олимпиада «Юные таланты»географиягеография1
геологиягеология3
химияхимия1
36Многопрофильная инженерная олимпиада «Звезда»естественные наукикомпьютерные и информационные науки, биологические науки, архитектура, техника и технологии строительства, информатика и вычислительная техника, информационная безопасность, электроника, радиотехника и системы связи, фотоника, приборостроение, оптические и биотехнические системы и технологии, электро- и теплоэнергетика, ядерная энергетика и технологии, машиностроение, оружие и системы вооружения, химические технологии, промышленная экология и биотехнологии, техносферная безопасность и природообустройство, прикладная геология, горное дело, нефтегазовое дело и геодезия, технологии материалов, техника и технологии наземного транспорта, авиационная и ракетно-космическая техника, аэронавигация и эксплуатация авиационной и ракетно-космической техники, техника и технологии кораблестроения и водного транспорта, управление в технических системах, нанотехнологии и наноматериалы, технологии легкой промышленности, сельское, лесное и рыбное хозяйство, экономика и управление3
техника и технологиитехнологии материалов, машиностроение, электроэнергетика, авиационная и ракетно-космическая техника, техника и технологии наземного транспорта, техника и технологии кораблестроения и водного транспорта2
37Многопрофильная олимпиада школьников Уральского федерального университета «Изумруд»историяистория3
математикаматематика3
обществознаниеобществознание3
политологияобществознание3
социологияобществознание3
русский языкрусский язык3
физикафизика3
38Московская олимпиада школьниковастрономияастрономия1
генетикабиология, математика3
географиягеография1
информатикаинформатика1
история искусствискусство1
изобразительное искусствоискусство2
историяистория2
математикаматематика1
робототехникаматематика, информатика3
обществознаниеобществознание2
правоправо2
лингвистикарусский язык, иностранный язык1
филологиярусский язык, литература, филология2
физикафизика1
предпрофессиональнаяфизика, информатика, химия3
химияхимия1
экономикаэкономика2
финансовая грамотностьэкономика3
39Общероссийская олимпиада школьников «Основы православной культуры»основы православной культурытеология, история2
40Объединённая межвузовская математическая олимпиада школьниковматематикаматематика2
41Объединённая международная математическая олимпиада «Формула Единства» / «Третье тысячелетие»математикаматематика2
физикафизика3
42Океан знанийисторияистория3
обществознаниеобществознание3
русский языкрусский язык3
43Олимпиада Кружкового движения Национальной технологической инициативыпрограммная инженерия финансовых технологийинформатика и вычислительная техника, информационная безопасность, компьютерные и информационные науки3
умный городинформатика и вычислительная техника, информационная безопасность, электроника, радиотехника и системы связи, фотоника, приборостроение, оптические и биотехнические системы и технологии, электро — и теплоэнергетика, электроника и автоматика физических установок, техносферная безопасность и природообустройство, технологии материалов, управление в технических системах, компьютерные и информационные науки3
большие данные и машинное обучениеинформатика и вычислительная техника, компьютерные и информационные науки2
аэрокосмические системыинформатика и вычислительная техника, электроника, радиотехника и системы связи, прикладная математика и информатика, мехатроника и робототехника, управление в технических системах3
интеллектуальные робототехнические системыинформатика и вычислительная техника, электроника, радиотехника и системы связи, управление в технических системах, компьютерные и информационные науки1
беспилотные авиационные системыинформатика и вычислительная техника, электроника, радиотехника и системы связи, фотоника, приборостроение, оптические и биотехнические системы и технологии, авиационная и ракетно-космическая техника, аэронавигация и эксплуатация авиационной и ракетно-космической техники, управление в технических системах2
технологии беспроводной связикомпьютерные и информационные науки, информатика и вычислительная техника, информационная безопасность, электроника, радиотехника и системы связи, управление в технических системах2
интеллектуальные энергетические системыкомпьютерные и информационные науки, информатика и вычислительная техника, информационная безопасность, электроника, радиотехника и системы связи, электро — и теплоэнергетика, управление в технических системах3
искусственный интеллектматематика и механика, компьютерные и информационные науки, информатика и вычислительная техника, информационная безопасность3
информационная безопасностьматематика и механика, компьютерные и информационные науки, информатика и вычислительная техника, информационная безопасность, электроника, радиотехника и системы связи3
автоматизация бизнес-процессовматематика и механика, компьютерные и информационные науки, информатика и вычислительная техника, информационная безопасность, электроника, радиотехника и системы связи, автоматизация технологических процессов и производств, управление в технических системах, экономика и управление2
композитные технологиимашиностроение, нанотехнологии и наноматериалы, материаловедение и технологии материалов, ракетные комплексы и космонавтика, наноинженерия3
инженерные биологические системы: агробиотехнологиинауки о земле, биологические науки, фотоника, приборостроение, оптические и биотехнические системы и технологии, электро- и теплоэнергетика, машиностроение, химические технологии, промышленная экология и биотехнологии, техносферная безопасность и природообустройство, сельское, лесное и рыбное хозяйство3
анализ космических снимков и геопространственных данныхнауки о земле, информатика и вычислительная техника, природообустройство и водопользование, прикладная геология, горное дело, нефтегазовое дело и геодезия, водные пути, порты и гидротехнические сооружения, управление водным транспортом и гидрографическое обеспечение судоходства, сельское, лесное и рыбное хозяйство, экономика, государственное и муниципальное управление, бизнес-информатика, зарубежное регионоведение, регионоведение россии, востоковедение и африканистика, туризм3
водные робототехнические системыприборостроение, информатика и вычислительная техника, электроника, радиотехника и системы связи, мехатроника и робототехника, управление в технических системах, кораблестроение, океанотехника и системотехника объектов морской инфраструктуры2
нейротехнологии и когнитивные наукиприкладная математика и информатика, математическое обеспечение и администрирование информационных систем, прикладная информатика, фотоника, приборостроение, оптические и биотехнические системы и технологии, управление в технических системах, психология2
передовые производственные технологииприкладная математика и информатика, механика и математическое моделирование, прикладная математика и информатика, математика и компьютерные науки, информатика и вычислительная техника, информационные системы и технологии, программная инженерия, автоматизация технологических процессов и производств, конструкторско-технологическое обеспечение машиностроительных производств, мехатроника и робототехника2
спутниковые системыфизика и астрономия, информатика и вычислительная техника, электроника, радиотехника и системы связи, физико-технические науки и технологии, авиационная и ракетно-космическая техника, аэронавигация и эксплуатация авиационной и ракетно-космической техники, управление в технических системах3
наносистемы и наноинженерияфизика и астрономия, химия, биологические науки, электроника, радиотехника и системы связи, фотоника, приборостроение, оптические и биотехнические системы и технологии, химические технологии, технологии материалов, нанотехнологии и наноматериалы2
автономные транспортные системыфундаментальная информатика и информационные технологии, информатика и вычислительная техника, машиностроение, системы управления движением и навигация, аэронавигация и эксплуатация авиационной и ракетно-космической техники, управление в технических системах3
летающая робототехникафундаментальная информатика и информационные технологии, информатика и вычислительная техника, электроника, радиотехника и системы связи, системы управления движением и навигация, аэронавигация и эксплуатация авиационной и ракетно-космической техники, управление в технических системах3
геномное редактированиеэкология и природопользование, биологические науки, химические технологии, промышленная экология и биотехнологии, техносферная безопасность и природообустройство, наноинженерия, агроинженерия, ветеринария и зоотехния3
44Олимпиада Курчатовматематикаматематика2
физикафизика2
45Олимпиада МГИМО МИД России для школьниковгуманитарные и социальные наукиистория, обществознание2
46Олимпиада по комплексу предметов «Культура и искусство»технический рисунок и декоративная композициядекоративно-прикладное искусство и народные промыслы, технология художественной обработки материалов, искусство костюма и текстиля, конструирование изделий легкой промышленности, технологии и проектирование текстильных изделий, технология изделий легкой промышленности, информационные системы и технологии, технология полиграфического и упаковочного производства, прикладная информатика, профессиональное обучение1
академический рисунок, живопись, композиция, история искусства и культурыдизайн, графика, монументально-декоративное искусство, декоративно-прикладное искусство и народные промыслы, технология художественной обработки материалов, искусство костюма и текстиля, конструирование изделий легкой промышленности, технологии и проектирование текстильных изделий, технология изделий легкой промышленности, информационные системы и технологии, технология полиграфического и упаковочного производства, прикладная информатика, профессиональное обучение (по отраслям)1
47Олимпиада РГГУ для школьниковиностранный языкиностранный язык2
историяистория2
литературалитература2
русский языкрусский язык2
48Олимпиада Университета Иннополис «Innopolis Open»информатикаинформатика2
математикаматематика3
49Олимпиада школьников «Гранит науки»информатикакомпьютерные и информационные науки, информатика и вычислительная техника, информационная безопасность, машиностроение, управление в технических системах, экономика и управление3
естественные наукинауки о земле, электроника, радиотехника и системы связи, фотоника, приборостроение, оптические и биотехнические системы и технологии, электро- и теплоэнергетика, машиностроение, техносферная безопасность и природоустройство, прикладная геология, горное дело, нефтегазовое дело и геодезия, техника и технологии наземного транспорта3
химияхимия, науки о земле, биологические науки, химические технологии, промышленная экология и биотехнологии, технологии материалов2
50Олимпиада школьников «Ломоносов»биологиябиология1
географиягеография1
геологиягеология1
журналистикажурналистика1
иностранный языкиностранный язык1
информатикаинформатика1
политологияистория2
международные отношения и глобалистикаистория1
историяистория1
история российской государственностиистория1
литературалитература1
математикаматематика1
философияобществознание1
обществознаниеобществознание1
экологияпочвоведение, экология и природопользование2
психологияпсихология1
русский языкрусский язык1
физикафизика2
инженерные наукифундаментальная и прикладная химия, прикладные математика и физика3
космонавтикафундаментальная математика и механика2
механика и математическое моделированиефундаментальные математика и механика3
робототехникафундаментальные математика и механика, мехатроника и робототехника, фундаментальная информатика и информационные технологии3
химияхимия1
правоюриспруденция1
51Олимпиада школьников «Надежда энергетики»информатикаинформатика3
физикафизика3
комплекс предметов (физика, информатика, математика)физика, информатика, математика3
52Олимпиада школьников «Покори Воробьёвы горы!»биологиябиология1
географиягеография2
журналистикажурналистика1
иностранный языкиностранный язык1
историяистория2
литературалитература1
математикаматематика1
обществознаниеобществознание1
физикафизика1
53Олимпиада школьников «Робофест»физикафизика2
54Олимпиада школьников «Физтех»биологиябиология3
математикаматематика2
физикафизика1
55Олимпиада школьников «Шаг в будущее»программированиеинформатика и вычислительная техника2
математикаматематика3
инженерное деломатематика и механика, компьютерные и информационные науки, информатика и вычислительная техника, информационная безопасность, электроника, радиотехника и системы связи, фотоника, приборостроение, оптические и биотехнические системы и технологии, электро- и теплоэнергетика, ядерная энергетика и технологии, машиностроение, физико-технические науки и технологии, оружие и системы вооружения, техносферная безопасность и природоустройство, технологии материалов, техника и технологии наземного транспорта, авиационная и ракетно-космическая техника, управление в технических системах, нанотехнологии и наноматериалы2
компьютерное моделирование и графикаматематика и механика, компьютерные и информационные науки, информатика и вычислительная техника, электроника, радиотехника и системы связи, фотоника, приборостроение, оптические и биотехнические системы и технологии, электро- и теплоэнергетика, ядерная энергетика и технологии, машиностроение, физико-технические науки и технологии, оружие и системы вооружения, техносферная безопасность и природоустройство, технологии материалов, техника и технологии наземного транспорта, авиационная и ракетно-космическая техника, управление в технических системах, нанотехнологии и наноматериалы3
физикафизика2
56Олимпиада школьников по информатике и программированиюинформатикаинформатика1
57Олимпиада школьников по программированию «ТехноКубок»информатикаинформатика и икт1
58Олимпиада Российской академии народного хозяйства и государственной службы при Президенте Российской Федерациииностранный языканглийский язык2
журналистикажурналистика2
историяистория2
иностранный языккитайский язык2
обществознаниеобществознание2
политологияполитология2
экономикаэкономика, математика3
59Олимпиада школьников Санкт-Петербургского государственного университетабиологиябиология1
географиягеография1
журналистикажурналистика1
китайский языкиностранный язык2
иностранный языкиностранный язык1
филологияиностранный язык, литература, русский язык1
информатикаинформатика1
историяистория1
медициналечебное дело, стоматология, психология, клиническая психология, психология служебной деятельности1
математикаматематика1
обществознаниеобществознание1
социологияобществознание, история1
правоправо1
инженерные системыприкладная математика и информатика, механика и математическое моделирование, прикладные математика и физика, радиофизика, системный анализ и управление, химия, физика и механика материалов3
физикафизика2
химияхимия1
экономикаэкономика2
60Олимпиада школьников федерального государственного бюджетного образовательного учреждения высшего образования «Всероссийский государственный университет юстиции (РПА Минюста России)» «В мир права»историяистория3
правообществознание, право3
61Олимпиада Юношеской математической школыматематикаматематика2
62Открытая межвузовская олимпиада школьников Сибирского Федерального округа «Будущее Сибири»физикафизика3
химияхимия2
63Открытая олимпиада Северо-Кавказского федерального университета среди учащихся образовательных организаций «45 параллель»географиягеография2
64Открытая олимпиада школьниковинформатикаинформатика1
математикаматематика3
65Открытая олимпиада школьников по программированиюинформатикаинформатика1
66Открытая олимпиада школьников по программированию «Когнитивные технологии»информатика и иктинформатика2
67Открытая региональная межвузовская олимпиада вузов Томской области (ОРМО)географиягеография3
историяистория2
литературалитература2
математикаматематика3
русский языкрусский язык3
физикафизика3
68Открытая химическая олимпиадахимияхимия2
69Отраслевая олимпиада школьников «Газпром»информационные и коммуникационные технологииинформатика3
физикафизика3
химияхимия3
70Отраслевая физико-математическая олимпиада школьников «Росатом»математикаматематика2
физикафизика1
71Плехановская олимпиада школьниковиностранный языканглийский язык, немецкий язык3
экономикаобществознание3
финансовая грамотностьобществознание3
русский языкрусский язык2
72Региональный конкурс школьников Челябинского университетского образовательного округаиностранный языкиностранный язык3
73Санкт-Петербургская олимпиада школьниковастрономияастрономия1
математикаматематика1
химияхимия1
74Северо-Восточная олимпиада школьниковфилологиярусский язык, литература3
75Сибирская межрегиональная олимпиада школьников «Архитектурно-дизайнерское творчество»архитектура, изобразительные и прикладные виды искусствархитектура, дизайн, дизайн архитектурной среды, градостроительство2
76Строгановская олимпиада на базе МГХПА им. С.Г. Строгановарисунок, живопись, скульптура, дизайнискусство, дизайн1
77Телевизионная гуманитарная олимпиада школьников «Умницы и умники»гуманитарные и социальные наукижурналистика, зарубежное регионоведение, международные отношения, политология, реклама и связи с общественностью1
78Турнир городовматематикаматематика1
79Турнир имени М.В. Ломоносоваастрономия и науки о землеастрономия3
биологиябиология2
историяистория2
литературалитература2
математикаматематика2
лингвистикарусский язык, иностранный язык, математика2
физикафизика2
химияхимия3
80Университетская олимпиада школьников «Бельчонок»информатикаинформатика3
математикаматематика3
химияхимия3
81Учитель школы будущегоиностранный языквостоковедение и африканистика, педагогическое образование (профиль «иностранный язык»), лингвистика, филология3
82Филологическая олимпиада для школьников 5-11 классов «Юный словесник»филологиярусский язык, литература2
83Межрегиональная открытая олимпиада по музыкально-теоретическим дисциплинам для учащихся детских музыкальных школ и детских школ искусствтеория и история музыкисольфеджио, музыкальная литература3

Введение в списки

Посмотрите, как Джеймс Робинсон объясняет, как создавать списки и управлять ими в Python.

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

Что такое список?

Список (также называемый массивом) — это инструмент для хранения данных, как и переменная. Однако, в то время как переменная может хранить по одному фрагменту данных одновременно в названном месте, список может хранить много данных. Как и переменная, список представляет собой именованную область хранения в памяти компьютера. Если представить себе память компьютера как книжную полку, то каждая переменная будет похожа на именованный ящик на этой полке. Каждый раз, когда ваша программа обращается к переменной по имени, компьютер просматривает содержимое соответствующего поля.Список работает аналогичным образом, за исключением того, что вместо того, чтобы быть блоком для хранения одного фрагмента данных, его можно разделить на любое количество меньших разделов, в каждом из которых будет по одному фрагменту данных. Каждому разделу затем присваивается номер или индекс , начиная с 0, чтобы на него можно было ссылаться. Итак, в списке под названием player , чтобы ссылаться на третий элемент с самого начала, вы можете написать player [2] (помните, что первый индекс имеет номер 0). Каждый язык программирования использует и реализует списки / массивы в некоторой степени по-другому, но поскольку мы фокусируемся на Python, давайте посмотрим, как работают списки Python.

Создание списков

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

  names = ["Джеймс", "Кейтлин", "Мартин", "Лаура"] 

Вы можете определить смешанные списки:
~~ ~ python
profile = [«Джеймс», «Январь», 21, «Чай»]
~~~ Пустые списки: или даже списки списков:

  magic_square = [[2, 7, 6], [9, 5 , 1], [4, 3, 8]] 

Доступ к элементам

После того, как вы сохранили элементы в списке, вам, вероятно, понадобится обратиться к ним позже.Это делается с использованием имени списка, за которым следует пара квадратных скобок, содержащих индекс (или индексы), на который вы хотите сослаться. Итак, чтобы сослаться на первый элемент в списке, вы должны написать: Чтобы заменить третий элемент в список, вы можете написать: Вы можете ссылаться на элемент списка по его расстоянию от конца списка, а не от начала. Чтобы говорить о последнем элементе в списке, вы должны использовать [-1] , для предпоследнего [-2] и так далее: вы даже можете сослаться на целый подраздел или фрагмент из список, использующий пару индексов, разделенных двоеточием: в Python список — это то, что мы называем объектом , что означает, что он имеет множество встроенных действий, называемых методами .(Чтобы узнать больше об объектах и ​​методах, вы можете пройти наш курс объектно-ориентированного программирования). Давайте рассмотрим некоторые общие методы, которые могут вам понадобиться при работе со списками.

Добавление элементов

Есть два важных метода добавления новых значений в список. Довольно часто вы просто хотите добавить или добавить новый элемент в конец списка. Однако в других случаях вам может потребоваться вставить значение в определенное место списка. Чтобы добавить элемент, используйте имя списка, за которым следует метод .добавьте и значение, которое вы хотите добавить:

  shopping_list.append ("bananas") 

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

Удаление элементов

Удаление элементов аналогично вставке, и, опять же, есть как минимум два способа сделать это. Вы можете удалить или pop элемент из определенной позиции, используя его индекс, а также вы можете удалить его, выполнив поиск его значения в списке.Чтобы вывести элемент, который находится в определенной позиции, вы просто используете метод .pop с порядковым номером: это удалит элемент 3 (четвертый элемент) из списка. Если номер индекса не указан, появляется последний элемент в списке. В некоторых ситуациях вместо этого может потребоваться удалить определенное значение. Вы можете сделать это с помощью метода .remove : это удалит первое вхождение значения 3 , в какой бы позиции оно ни находилось. Есть еще много способов манипулирования списками; это просто самые распространенные.На следующих этапах вы сможете использовать и применять эти идеи с помощью некоторых коротких заданий по программированию.

Обсуждение

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

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

Информатика 101 — Введение в связанные списки

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

Связанный список — это, по сути, один из многих возможных способов представления последовательности элементов. Например, если у вас есть список чисел 1, 3, 2 , есть как минимум два (стандартных) способа представить его в своей программе: 1) с помощью массива (который вы уже должны знать) или 2 ) с помощью связанного списка.В любом случае, связанный список является особенным в том смысле, что это рекурсивный тип данных , то есть он может быть определен в терминах самого себя, и типичное определение выглядит следующим образом:

  1. Базовый случай — пусть пустой связанный список будет тем, который обозначает последовательность из 0 элементов. Обычно это определяется как null / nil / NULL / и т. Д. на большинстве языков программирования.
  2. Рекурсивный случай — пусть любой непустой связанный список будет узлом (запись в нашем списке), который содержит элемент заголовка , данные и хвост, который является остальной частью связанного списка — мы назовем наш хвост следующий .

Таким образом, пустой связанный список будет просто обозначен как NULL , а наш список 1, 3, 2 целых чисел (в этом порядке) может быть представлен как:

  oneThreeTwo: Node // oneThreeTwo - это узел, то есть связанный список
oneThreeTwo =
  данные: 1
  следующий:
    данные: 3
    следующий:
      данные: 2
      следующий:
        НОЛЬ
  

Обратите внимание, что «хвост» (то есть следующее поле ) oneThreeTwo сам по себе является связанным списком:

  threeTwo: Узел
threeTwo = tail oneThreeTwo // или threeTwo = oneThreeTwo.следующий
// threeTwo =
// данные: 3
//   следующий:
// данные: 2
//     следующий:
//       НОЛЬ
  

И так же хвост threeTwo (список, содержащий элемент головы 2 с хвостом NULL ), а также хвост tail threeTwo (который просто NULL , сам связанный список по определению). N.B. NULL также тривиально считается узлом , хотя и особым.

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

  1. Добавление элемента в существующий связанный список тривиально и эффективно — вам просто нужно определить новый узел , , содержащий данный элемент, хвост которого или поле следующее поле является исходным связанным списком. Напротив, добавление элемента к массиву требует, чтобы все предыдущие элементы были сдвинуты вправо на одно место в большинстве реализаций, что может занять много времени.
  2. Длина связанного списка автоматически кодируется в его определении; Напротив, реализации массивов на большинстве языков программирования требуют, чтобы отдельный номер сохранялся вместе с последовательностью элементов (хотя они обычно скрывают эту деталь реализации от программиста)

Говоря об этом, здесь может быть пример псевдокода того, как prepend определен (который добавляет отдельный элемент к существующему списку):

  prepend: (T, Node) -> Node // prepend принимает элемент типа T (если есть
// необходимо указать тип) и существующий список, возвращающий новый список
prepend (элемент, список) =
  данные: elem
  следующий:
    список
  

… и длина может быть определена рекурсивно как таковая:

  length: Node -> Size // length принимает связанный список и возвращает число
// представление его длины / размера с точки зрения количества элементов
список длины
  = 0, если список == NULL
  = 1 + длина list.next в противном случае
  

Приведенный выше пример кода означает, что если список является пустым списком (в большинстве случаев обозначается как NULL ), то он содержит 0 элементов.В противном случае он не пуст, и количество элементов на 1 больше, чем количество элементов в остальной части списка ( list.next / конечный список ).

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

  • Многие эффективные стеки представлены внутри как связанный список
  • Очереди также можно эффективно реализовать с помощью умной оболочки для связанного списка — об этом в будущих публикациях (возможно;)
  • Двусторонние очереди, также известные как «deque» (обобщение стеков и очередей), могут быть эффективно реализованы с помощью оболочки вокруг двусвязного списка (особый тип связанного списка, не описанный в этой публикации).
  • Хеш-таблицы / ассоциативные массивы (например,грамм. java.util.HashMap, словари Python, хэши Ruby) могут быть реализованы как (растущий) массив связанных списков (хотя термин «ведра» обычно используется вместо «массива»)

И вот шокер — блокчейнов (да, , что блокчейн поддерживает многие современные криптовалюты) в основном представляют собой прославленные связанные списки (с функцией безопасности, называемой «хешированием»)! Так что, если вы владеете связанными списками *, вы, , возможно, просто сможете заработать много денег 😉

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

Внешние ресурсы:

* среди прочего, конечно: p

50 самых влиятельных современных компьютерных ученых

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

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

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

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

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

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

Обратите внимание, что большинство людей в нашем основном списке ниже являются победителями приза имени Тьюринга — A.M. Премия Тьюринга, присуждаемая ежегодно с 1966 года Ассоциацией вычислительной техники (ACM), широко считается высшей наградой за достижения в области информатики.

А остальное, как говорится, уже история.

А теперь о главном событии. Обратите внимание, что наш список находится в алфавитном порядке .

50 влиятельных компьютерных ученых

Леонард М.Адлеман

Теория вычислительной сложности, криптография

Адлеман родился в Сан-Франциско, Калифорния, в 1945 году. Он получил степень доктора философии. Он получил степень доктора электротехники и компьютерных наук (EECS) в Калифорнийском университете в Беркли в 1976 году. В настоящее время он является заслуженным профессором компьютерных наук и заведует кафедрой компьютерных наук Генри Сальватори в инженерной школе Витерби Университета Южной Калифорнии.

Адлеман наиболее известен своим вкладом вместе с Рональдом Л.Ривеста и Ади Шамира (их обоих см. Ниже) к алгоритму RSA, который был одной из первых криптосистем с открытым ключом и который до сих пор широко используется для шифрования передачи данных. Адлеман также разработал теоретические основы возможного использования молекулы ДНК в качестве средства выполнения сложных вычислений, за что получил прозвище «Отец ДНК-вычислений». Кроме того, ему часто приписывают термин «компьютерный вирус». Адлеман выиграл A.M. Премия Тьюринга в 2002 году.

Академический сайт

Избранные книги | НАЙТИ КНИГИ ЛЕОНАРДА М. АДЛЕМАНА НА AMAZON…

  • Проверка на примитивность и абелевы многообразия над конечными полями , в соавторстве с Мин-Дэ Хуанг (Springer, 1992)
  • Алгоритмическая теория чисел , в соавторстве с Мин-Дэ Хуанг (Springer, 1994)

Фрэнсис Э. Аллен

Компиляторы, Оптимизация программ, Параллельные вычисления

Аллен родился в городе Перу на севере штата Нью-Йорк в 1932 году.В 1957 году она получила степень магистра математики в Мичиганском университете. За исключением коротких периодов преподавания в Нью-Йоркском университете и Стэнфорде, она всю свою карьеру проработала в IBM. Она ушла из IBM в 2002 году, но по-прежнему имеет титул почетного члена IBM.

Находясь в IBM, Аллен опубликовала множество основополагающих статей, одной из самых важных из которых была ее классическая статья 1966 года «Оптимизация программ». [1] Этот документ, опубликованный внутри IBM, когда она работала над экспериментальным компилятором для проекта компании Advanced Computing System (ACS-1), заложил концептуальную основу для систематической оценки и улучшения компьютерных программ.В нем она новаторски применила теорию графов для кодирования содержания программы. Позже она возглавила проект IBM PTRAN, который был ранней попыткой автоматизировать параллельное выполнение компьютерных программ. Аллен был награжден премией A.M. Премия Тьюринга в 2006 году.

Профессиональный сайт

Тимоти Дж. Бернерс-Ли

Проектирование сети, World Wide Web, HTTP

Бернерс-Ли родился в Лондоне в 1955 году. В 1976 году он получил степень бакалавра физики в Оксфордском университете.В настоящее время он является научным сотрудником факультета компьютерных наук и научным сотрудником Колледжа Крайст-Черч в Оксфорде, а также профессором лаборатории компьютерных наук и искусственного интеллекта (CSAIL) в Массачусетском технологическом институте.

После получения диплома Бернерс-Ли работал инженером в частном секторе, сначала в сфере телекоммуникаций. Однако работа, которой он известен, была сделана, когда он работал частным подрядчиком в Европейском центре научных исследований (ЦЕРН), расположенном недалеко от Женевы на швейцарско-французской границе.Во время своего первого пребывания в ЦЕРН летом и осенью 1980 года он придумал идею гипертекста и построил первый прототип системы. В то время он представлял себе этот проект как помощь в обмене электронными документами и их обновлении среди его коллег-исследователей.

Побывав несколько лет назад в частном секторе, за это время он познакомился с локальными компьютерными сетями, Бернерс-Ли вернулся в ЦЕРН. В 1989 году он увидел возможность объединения трех идей: (1) гипертекст; (2) протокол управления передачей (TCP) для существовавшего тогда примитивного Интернета; и (3) доменные имена.Объединив эти идеи, он придумал видение, которое назвал «всемирной паутиной». В следующем году работа над прототипом системы была одобрена, и в 1991 году был запущен первый современный веб-сервер, работающий на компьютерах CERN и использующий усовершенствованную систему протокола передачи, которую он разработал сам, под названием HyperText Transmission Protocol (HTTP). Бернерс-Ли выиграл A.M. Премия Тьюринга в 2016 году.

18 сентября 2018 года Бернерс-Ли опубликовал открытое письмо «Один маленький шаг для Интернета…», в ​​котором объявил о Solid, проекте с открытым исходным кодом на базе Массачусетского технологического института, целью которого является «восстановить власть и свободу действий отдельных людей в Интернете». децентрализация хранения и доступа к персональным данным.Бернерс-Ли также отметил, что он взял творческий отпуск в Массачусетском технологическом институте и сократил свое участие в W3C, чтобы основать стартап inrupt, который, по его мнению, обеспечит инфраструктуру для успеха Solid.

Академический сайт I

Академический сайт II

Избранные книги | НАЙТИ КНИГИ ТИМОТИ Дж. БЕРНЕРС-ЛИ НА AMAZON…

  • Плетение сети: оригинальный дизайн и конечная судьба всемирной паутины (HarperBusiness, 2000)
  • Основа для веб-науки (теперь Publishers Inc, 2006)

Мануэль Блюм

Теория вычислительной сложности, криптография Блюма-Голдвассера, CAPTCHA

Блюм родился в Каракасе, Венесуэла, в 1938 году.Он получил степень магистра в области электротехники и информатики (EECS) в 1961 году в Массачусетском технологическом институте, а также докторскую степень. по математике в 1964 г. в том же университете. Его научным руководителем был Марвин Мински. В настоящее время он является профессором компьютерных наук Брюса Нельсона в Университете Карнеги-Меллона.

Блюм разработал оригинальный аксиоматический подход к теории сложности вычислений в 1960-х годах, в отличие от методов машинной вычислимости, которые использовались до этого момента. Его теоретическая работа, как оказалось, нашла очень обширные конкретные приложения, в результате чего были получены такие теоремы, как теорема сжатия, теорема разрыва и теорема Блюма об ускорении.Позже он перешел в криптографию, где разработал протоколы подбрасывания монет и другие протоколы псевдослучайных чисел, а также криптосистему Блюма-Гольдвассера — тип алгоритма шифрования с асимметричным ключом — разработанный вместе со своим аспирантом Шафи Гольдвассером (см. Ниже). ). Еще совсем недавно он участвовал в разработке CAPTCHA (этот термин означает «полностью автоматизированный общедоступный тест Тьюринга, позволяющий отличить компьютеры от людей»). Блюм получил премию A.M. Премия Тьюринга в 1995 году.

Академический сайт

Избранные книги | НАЙТИ КНИГИ MANUEL BLUM НА AMAZON…

  • Cryptographic Techniques & E-Commerce , совместно с С.Х. Ли (Городской университет Гонконгской прессы, 1999)

Кэтлин Бут

Ассемблер, ARC-2

Бут (урожденная Бриттен) родилась в Стоурбридже, Великобритания, в 1922 году. Она получила докторскую степень. по прикладной математике в 1950 г. в Лондонском университете. Свою новаторскую работу она выполняла в основном в Биркбек-колледже Лондонского университета, хотя в последующие годы преподавала в нескольких университетах Канады.

В 1947 году Бут поехала со своим будущим мужем Эндрю в Принстонский университет, где пара кратко сотрудничала с Джоном фон Нейманом, изучая его новую архитектуру для компьютерных операционных систем (см. Вторую временную шкалу выше, под заголовком «1945»). ).Вернувшись в Биркбек-колледж Лондонского университета в конце 1947 года, они написали и в частном порядке распространили очень влиятельную статью «Общие соображения при проектировании универсального электронного цифрового компьютера», в которой исследовались некоторые требования для практической реализации концепции фон Неймана. идеи. Затем они приступили к созданию таких компьютеров — работа, которая продолжалась до 1950-х годов. По сути, Эндрю построил оборудование, а Кэтлин написала программное обеспечение. Результатом стала серия из трех отдельных компьютеров, для каждого из которых Кэтлин Бут разработала отдельный язык ассемблера: ARC-2 (автоматический релейный компьютер), SEC (простой электронный компьютер) и APEC (универсальный электронный компьютер).

Избранные книги

  • Автоматические цифровые калькуляторы , в соавторстве с Эндрю Бутом (Butterworth Scientific Publications, 1953; 2-е изд., 1956)
  • Программирование автоматического цифрового калькулятора (Academic Press, 1958)

Фредерик П. Брукс младший

Операционные системы, OS / 360

Брукс родился в Дареме, Северная Каролина, в 1931 году. Он получил степень доктора философии. по прикладной математике в 1956 г. в Гарвардском университете.Он работал в IBM с 1956 по 1964 год, после чего ушел, чтобы основать факультет информатики в Университете Северной Каролины в Чапел-Хилл. Он руководил отделом в течение 20 лет, а после выхода на пенсию продолжил работать там научным сотрудником. Брукс в настоящее время является профессором Кенана компьютерных наук в Университете Северной Каролины в Чапел-Хилл.

Брукс выполнил работу, которой он наиболее известен в IBM. Сначала он работал над суперкомпьютером модели IBM 7030 (также известный как «Stretch»), который в то время был самым современным для промышленных и исследовательских приложений.Затем он возглавил команду, которая разработала семейство компьютеров IBM System / 360, которые начали выпускаться в 1965 году, что произвело революцию на рынке компьютеров для бизнеса. System / 360 была намного более продвинутой, чем любая предыдущая машина, была меньше и намного дешевле, чем 7030, но способна выполнять на порядки больше вычислений в секунду. Как компьютерный архитектор, Брукс возглавил команду, которая разработала операционную систему OS / 360 и компиляторы для нового семейства компьютеров. Он выиграл A.Премия М. Тьюринга в 1999 году.

Академический сайт

Избранные книги | НАЙТИ КНИГИ ФРЕДЕРИКА П. БРУКСА-МЛАДШЕГО. НА AMAZON…

  • Автоматическая обработка данных: System / 360 Edition , в соавторстве с Кеннетом Э. Айверсоном (John Wiley & Sons, 1969)
  • Мифический человеко-месяц: очерки программной инженерии (Аддисон Уэсли, 1975; 2-е изд., 1996)
  • Computer Architecture: Concepts and Evolution , в соавторстве с Герриттом А.Блаау (Аддисон-Уэсли, 1997)
  • Дизайн дизайна: очерки компьютерного ученого (Addison-Wesley, 2010)

Винтон Дж. Серф

Проектирование сети, TCP / IP

Серф родился в Нью-Хейвене, штат Коннектикут, в 1943 году. Получив в 1965 году степень бакалавра математики в Стэнфордском университете, он проработал два года в IBM. Затем он вернулся в школу, получив степень магистра и докторскую степень по информатике в Калифорнийском университете в 1970 и 1972 годах соответственно.После работы в Стэнфордском университете (1972–1976) Серф проработал свою карьеру в Министерстве обороны, в Лаборатории реактивного движения (JPL) и в частной телекоммуникационной отрасли, особенно в MCI / Worldcom. В настоящее время он является вице-президентом и «главным интернет-евангелистом» компании Google Inc.

.

Вместе с Робертом Э. Каном (см. Ниже) Серфа часто называют «отцом Интернета». Работая в Агентстве перспективных оборонных исследовательских проектов (DARPA), он выполнил наиболее известную ему работу.Перед тем, как присоединиться к DARPA, Серф работал со Стивеном Д. Крокером над разработкой программы управления сетью (NCP) для более ранней версии ARPANET. Работая вместе в DARPA весной и летом 1976 года, Серф и Кан приступили к разработке более совершенных систем протокола управления передачей (TCP) и Интернет-протокола (IP), которые определяли, как данные будут разделены на «пакеты» по заданным адресам. , переданная компьютером отправителя, направленная по наиболее эффективному маршруту и ​​полученная компьютером получателя.TCP / IP быстро стал стандартом для компьютерных сетей. Он также стал основой для последующих улучшений архитектуры Интернета. Серф выиграл A.M. Премия Тьюринга в 2004 году.

Профессиональный сайт

Избранные книги | НАЙТИ КНИГИ ВИНТОНА Г. СЕРФА НА AMAZON…

  • На пути к будущей архитектуре Интернета (Network Working Group, 1991: RFC 1287)
  • Взгляд из 21 века (Network Working Group, 1994: RFC 1607)
  • Интернет для всех (Network Working Group, 2002: RFC 3271)
  • Сетевая архитектура, устойчивая к задержкам (Сетевая рабочая группа, 2007: RFC 4838)

Эдмунд М.Кларк младший

Математика / логика, проверка моделей

Кларк родился в Ньюпорт-Ньюсе, штат Вирджиния, в 1945 году. Он получил степень доктора философии. получил степень в области информатики в 1976 году в Корнельском университете. В настоящее время он является почетным профессором Университета Карнеги-Меллона.

Кларк наиболее известен своей работой в сотрудничестве с Э. Алленом Эмерсоном (см. Ниже), [3] по проверке моделей, которая представляет собой автоматизированную процедуру проверки для обеспечения того, что указанная часть программного обеспечения (т.е., алгоритм) будет работать, как задумано, в отношении одной или нескольких конкретных функций, обычно тех, которые имеют решающее значение для успеха задачи, для выполнения которой было разработано программное обеспечение. Во время недолгого преподавания в Гарвардском университете (1978–1982) Кларк стал консультантом Эмерсона по диссертации, и двое мужчин начали сотрудничать по проблеме программирования такой процедуры проверки. В совместной статье, представленной на конференции в мае 1981 года и опубликованной в следующем году, [2] Кларк и Эмерсон предложили решение проблемы проверки, переформулируя указанный алгоритм и модель, созданную для проверки, в виде логических формул. на точном математическом языке. [3] Таким образом, задача проверки указанной структуры становится эквивалентной логической задаче проверки того, удовлетворяет ли структура определенной логической формуле, а именно той, которая воплощена в модели. Кларк выиграл A.M. Премия Тьюринга в 2007 году.

Академический сайт

Избранные книги | НАЙТИ КНИГИ ЭДМУНДА М. КЛАРКА-МЛАДШЕГО. НА AMAZON…

  • Model Checking , в соавторстве с Орной Грумберг и Дороном А. Пеледом (MIT Press, 1999; 2-е изд., 2018)
  • Справочник по проверке моделей , в соавторстве с Томасом А. Хензингером, Хельмутом Вейтом и Родериком Блумом (Springer, 2018)

Стивен А. Кук

Математика / логика, теория вычислительной сложности, сложность доказательства

Кук родился в Буффало, штат Нью-Йорк, в 1939 году. Он получил степень доктора философии. по математике в 1966 году в Гарвардском университете. В настоящее время он является почетным профессором Университета Торонто.

Кук наиболее известен своими новаторскими работами в области теории сложности вычислений.Примечательно, что он является создателем основополагающей идеи NP-полноты, впервые опубликованной в 1971 году («NP» означает «недетерминированное полиномиальное время»). По сути, он доказал существование программ (алгоритмов), которые можно привести к NP-полной форме, то есть они «эффективны» в том смысле, что они поддаются обработке или выполнимы с точки зрения времени (и, следовательно, ресурсов и затрат), которые им требуются для достичь решения. Однако трудность состоит в том, что невозможно заранее определить, какие программы являются NP-завершенными.Несмотря на это фундаментальное ограничение, вклад Кука в теорию вычислительной сложности оказал неоценимое влияние на всю область компьютерных наук. Несколько лет спустя он доказал существование эффективных систем логических доказательств, аналогичных NP-полным компьютерным программам — работа, которая привела к совершенно новой дисциплине сложности доказательств. Кук получил A.M. Премия Тьюринга 1982 г.

Академический сайт

Избранные книги

  • Логические основы сложности доказательства , в соавторстве с Фуонг Нгуен (Cambridge University Press, 2010)

Фернандо Дж.Corbató

Операционные системы, Системы разделения времени

Корбато родился в Окленде, штат Калифорния, в 1926 году. Он получил степень доктора философии. по физике в 1956 году в Массачусетском технологическом институте. В настоящее время он является почетным профессором Лаборатории компьютерных наук и искусственного интеллекта (CSAIL) Массачусетского технологического института.

Корбато в основном известен своей работой над операционными системами и системами с разделением времени. В частности, он спроектировал самую первую крупномасштабную сеть с разделением времени — совместимую систему разделения времени (CTSS) Массачусетского технологического института, которая начала функционировать в 1961 году.После своей работы над CTSS Корбато разработал операционную систему, известную как Multics, позже принятую General Electric и Honeywell, которая представила многие идеи, воплощенные в сегодняшних операционных системах, включая иерархическую файловую систему, списки контроля доступа, динамическое связывание и многие другие. другие инновационные функции. Кен Томпсон (см. Ниже) заявил, что Multics непосредственно вдохновил его работу над Unix. Корбато получил A.M. Премия Тьюринга в 1990 году.

Академический сайт

Марк Э.Декан

Операционные системы, архитектуры IBM PC, AT, PS / 2 и PowerPC

Дин родился в Джефферсон-Сити, штат Теннесси, в 1957 году. В 1979 году он получил степень бакалавра электротехники в Университете Теннесси и докторскую степень. в той же области в 1992 году из Стэнфордского университета. После непродолжительной работы в корпорации Alcoa он подписал контракт с IBM в 1979 году, где проработал до 2013 года, в конечном итоге получив звания IBM Fellow, вице-президента и главного технического директора по Ближнему Востоку и Африке.В настоящее время Дин является заслуженным профессором Джона Фишера кафедры электротехники и информатики Мин Х. Као инженерного колледжа Щекотки Университета Теннесси в Ноксвилле.

Дин в основном известен своей работой в команде, которая разработала оригинальный IBM PC, выпущенный в 1981 году, и в качестве ведущего инженера AT, персонального компьютера IBM второго поколения, появившегося на рынке в 1984 году. он руководил разработкой и тестированием цветного графического адаптера для ПК — по сути, цветного монитора того же типа, который используется до сих пор.В последнем качестве он и его команда отвечали за разработку и тестирование общей архитектуры операционной системы, включая системную плату, карты памяти и версию системной шины промышленной стандартной архитектуры (ISA) IBM. Впоследствии он также активно участвовал в многочисленных инновационных проектах для компьютеров семейства PS / 2, а также в качестве главного инженера по разработке дизайна компьютера с сокращенным набором команд (RISC) для линейки IBM PowerPC, которая была выведена на рынок. в 1991 г.В 1999 году Дин, имеющий более 40 патентов, был менеджером проекта по разработке первого микропроцессорного чипа с частотой один гигагерц (1 ГГц).

Академический сайт

Уитфилд Диффи

Криптография с открытым ключом, алгоритмы с асимметричным ключом

Диффи родился в Вашингтоне, округ Колумбия, в 1944 году. В 1965 году он получил степень бакалавра математики в Массачусетском технологическом институте. Он работал в различных университетских учреждениях, в том числе в Стэнфордской лаборатории искусственного интеллекта (SAIL), где некоторое время занимался программированием, посещая аспирантуру по электротехнике.Несколько лет спустя он стал научным сотрудником Мартина Э. Хеллмана (см. Ниже) в Стэнфорде. На протяжении многих лет он работал по нескольким контрактам с Агентством национальной безопасности (АНБ), а также с такими частными фирмами, как Northern Telecomm и Sun Microsystems. В настоящее время Диффи является нерезидентом-стипендиатом Центра международной безопасности и сотрудничества (CISAC) Стэнфордского университета. Он также является членом консультативного совета SafeLogic Inc.

.

Диффи наиболее известен своей работой с Хеллманом в Стэнфорде.В новаторской статье, опубликованной в 1976 г., [4] он и Хеллман представили миру концепцию криптографии с открытым ключом. [5] Их идея заложила основу для всех последующих алгоритмов с асимметричным ключом, которые и по сей день остаются основой для шифрования подавляющего большинства коммерческих транзакций, проводимых через Интернет. Диффи выиграл A.M. Премия Тьюринга в 2015 году.

Академический сайт

Избранные книги | НАЙТИ КНИГИ УИТФИЛДА ДИФФИ НА AMAZON…

  • Конфиденциальность на линии: политика прослушивания и шифрования , в соавторстве со Сьюзен Ландау (MIT Press, 1998; 2-е изд., 2007)

Э. Аллен Эмерсон

Математика / логика, проверка моделей

Эмерсон родился в Далласе, штат Техас, в 1954 году. Он получил степень доктора философии. В 1981 году он получил степень по прикладной математике в Гарвардском университете, где учился у Эдмунда М. Кларка-младшего (см. выше). В настоящее время он является председателем регентов и почетным профессором факультета компьютерных наук Техасского университета в Остине.

Эмерсон наиболее известен как соавтор с Кларком — тогда его советником по диссертации — концепции проверки модели в статье, в соавторстве которой оба они были, которая была представлена ​​на конференции в мае 1981 года.(Для объяснения проверки модели см. Статью о Кларке выше.) Продолжая идеи, впервые сформулированные в этой новаторской статье, Emerson внесла свой вклад в упрощение первоначальной процедуры, которая применялась на протяжении многих лет. не только для проверки самой модели, но и для других областей, таких как процедуры принятия решений и автоматизированный синтез программ. Он также проделал важную работу по проверке моделей в контексте симметричных и почти симметричных систем, а также по проверке параметризованных систем и рассуждению о структурах данных.Эмерсон получил премию A.M. Премия Тьюринга в 2007 году.

Академический сайт

Избранные книги | НАЙТИ КНИГИ Э. АЛЛЕНА ЭМЕРСОНА НА AMAZON…

  • Вторжение в компьютерную культуру: что нужно знать о новом мире, в котором мы живем , в соавторстве с Шерил Форбс (InterVarsity Press, 1989)
  • Компьютерная проверка , в соавторстве с А. Прасадом Систлой (Springer, 2000)
  • Verification, Model Checking, and Abstract Interpretation , совместно с Кедаром С.Намджоши (Springer, 2006)

Эдвард А. Фейгенбаум

Искусственный интеллект, Экспертные системы, проект DENDRAL

Файгенбаум родился в Вихаукене, штат Нью-Джерси, в 1936 году. Он получил степень доктора философии. В 1960 году получил степень бакалавра электротехники в Технологическом институте Карнеги (ныне Университет Карнеги-Меллона), где новаторский системный теоретик и ученый-когнитивист Герберт А. Саймон выступал в качестве научного руководителя его диссертации. Файгенбаум в настоящее время является почетным профессором компьютерных наук в созданной им лаборатории систем знаний Стэнфордского университета.

Файгенбаум известен как «отец экспертных систем», то есть систем искусственного интеллекта (ИИ), способных имитировать работу экспертов-людей при оценке ситуаций и рекомендации действий в определенной области знаний. Экспертные системы широко применяются в таких дисциплинах, как химия, медицина, геология и собственно информатика. Проект DENDRAL, которым Фейгенбаум руководил в Стэнфорде в 1965 году, был первой практической экспертной системой.Его цель заключалась в том, чтобы помочь химикам-органикам анализировать неизвестные молекулы на основе данных масс-спектрометрии. Таким образом, это была первая программа, которая перенесла ИИ из лаборатории компьютерных наук в реальный мир. Позже Файгенбаум разработал ряд других экспертных систем, которые, по сути, были усовершенствованием DENDRAL, в частности MYCIN, которые помогли врачам изолировать бактериальные патогены для различных инфекционных заболеваний. Он выиграл A.M. Премия Тьюринга в 1994 году.

Академический сайт

Избранные книги | НАЙТИ КНИГИ ЭДУАРДА А.ФЕЙГЕНБАУМ НА AMAZON…

  • Computers and Thought , в соавторстве с Джулианом Фельдманом (McGraw-Hill, 1963; новая редакция, 1995)
  • Пятое поколение: искусственный интеллект и компьютерные вызовы Японии миру , в соавторстве с Памелой МакКордак (Addison-Wesley, 1983)
  • Расцвет экспертной компании: как перспективные компании используют искусственный интеллект для достижения более высокой производительности и прибыли , в соавторстве с Памелой МакКордак и Х.Пенни Нии (Корона, 1988)

Шафрира (Шафи) Гольдвассер

Теория вычислительной сложности, криптография Блюма-Голдвассера, теория вычислительных чисел

Гольдвассер родилась в Нью-Йорке в 1959 году. Она получила степень доктора философии. В 1984 году получила степень бакалавра компьютерных наук в Калифорнийском университете в Беркли, где она работала под руководством Мануэля Блюма (см. выше). В настоящее время она является профессором электротехники и информатики в Массачусетском технологическом институте, а также профессором математических наук в Научном институте Вейцмана в Реховоте, Израиль.Голдвассер также является соучредителем и главным научным сотрудником компании Duality Technologies и директором Института теории вычислений Саймонса в Калифорнийском университете в Беркли.

Гольдвассер в основном работала в области теории сложности вычислений и криптографии, хотя она также известна своими работами в области вычислительной теории чисел. Еще будучи студенткой Мануэля Блюма в Беркли в начале 1980-х, она помогла своему научному руководителю создать так называемую криптографию Блюма-Гольдвассера, которая представляет собой систему с асимметричным ключом.Чуть позже — в середине-конце 1980-х годов — работая в сотрудничестве с Рональдом Ривестом, Ади Шамиром, Сильвио Микали (все трое см. Ниже) и другими, Голдвассер разработал совершенно новый тип системы шифрования, основанный на случайных числах. поколение. Такие системы вероятностного шифрования и по сей день считаются золотым стандартом в области компьютерной безопасности. Она сделала еще много открытий, включая протоколы с нулевым разглашением, интерактивные доказательства и некоторые другие. В вычислительной теории чисел ей приписывают совместное открытие теста, который использует эллиптические кривые для определения того, является ли произвольное входное число простым — интересный чисто математический результат, который, кроме того, имеет важные криптографические последствия.Гольдвассер выиграл A.M. Премия Тьюринга в 2012 году.

Академический сайт I

Академический сайт II

Академический сайт III

Избранные книги | НАЙТИ КНИГИ ШАФРИРЫ (SHAFI) GOLDWASSER НА AMAZON…

  • Advances in Cryptology — CRYPTO ‘88: Proceedings , редактор (Springer, 1990)
  • Конспект лекций по криптографии (MIT Press, 2001)
  • Сложность проблем решетки: криптографическая перспектива , в соавторстве с Даниэле Миччанчио (Springer, 2002)

Джеймс А.Гусенок

Языки программирования, Java

Гослинг родился в Калгари, Альберта, в Канаде, в 1955 году. Он получил степень доктора философии. получил степень бакалавра компьютерных наук в Университете Карнеги-Меллона в 1983 году. Гослинг провел свою карьеру в частном секторе; он проработал в Sun Microsystems более 30 лет, с гораздо более короткими периодами работы в Google и Liquid Robotics. В настоящее время он имеет звание заслуженного инженера Amazon Web Services.

Gosling наиболее известен как разработчик инновационного языка программирования Java.В 1981 году, еще учась в аспирантуре, он представил первую версию текстового редактора Emacs — Gosling Emacs, предназначенную для работы в системе на основе Unix. В 1984 году Гослинг присоединился к Sun Microsystems. Именно там он задумал идею Java, работая над программой для взаимодействия между рабочей станцией PERQ и ассемблером VAX, принадлежащим компании. Идея Гослинга заключалась в разработке языка с минимально возможным количеством зависимостей реализации. С точки зрения непрофессионала, это был принцип «напиши один раз, запусти где угодно» (WORA), означающий, что одну и ту же программу Java можно было использовать с минимальной адаптацией разработчиками, использующими широкий спектр платформ.Сегодня Java остается одним из самых популярных языков программирования, особенно для веб-приложений клиент-сервер. Было подсчитано, что более девяти миллионов разработчиков по всему миру регулярно используют этот язык.

Персональная страница

Избранные книги | НАЙТИ КНИГИ ДЖЕЙМСА А. ГОСЛИНГА НА AMAZON…

  • Язык программирования Java , в соавторстве с Кеном Арнольдом (Addison-Wesley, 1996; 4-е изд., 2005)
  • Спецификация языка Java , в соавторстве с Биллом Джоем и Гаем Л.Стил-младший (Аддисон-Уэсли, 1996; Java SE, восемь изд., 2014)

Юрис В. Хартманис

Теория вычислительной сложности, теорема об иерархии времени, гипотеза Бермана-Хартманиса

Хартманис родился в Риге, Латвия, в 1928 году. Его отец был арестован наступающей Советской Красной Армией в конце Второй мировой войны. Отец умер в тюрьме, а остальные члены семьи бежали в Германию, где Хартманис получил среднее образование и поступил в университет, получив в 1949 году немецкий эквивалент степени магистра физики в Марбургском университете.Затем он отправился в США, где в 1951 году получил степень магистра математики в Университете Миссури в Канзас-Сити и степень доктора философии. по математике в 1955 году в Калифорнийском технологическом институте (CalTech). В настоящее время он является почетным профессором компьютерных наук и инженерии Корнельского университета Уолтера Р. Рида.

Хартманис преподавал математику и информатику в Корнельском университете, Университете штата Огайо, Институте информатики Макса Планка в Саарбрюккене, Германия, и в других местах.Однако, работая в частном секторе в General Electric (GE) в конце 1950-х — начале 1960-х годов, он разработал фундаментальные принципы теории сложности вычислений, которыми он в основном известен. Эта работа завершилась новаторской теоретической статьей, написанной в соавторстве с Ричардом Э. Стернсом (см. Ниже) и опубликованной в 1965 году, [6] , незадолго до того, как Хартманис покинул GE, чтобы поступить на факультет Корнелла. В этой статье авторы представили идею классов иерархии времени (по сути, степени сложности, основанной на времени, необходимом для вычисления данного типа) и доказали то, что теперь известно как «теорема иерархии времени».В 1977 году Хартманис опубликовал еще одну новаторскую работу, на этот раз в сотрудничестве с Леонардом Берманом, в которой представил все еще нерешенную гипотезу Бермана – Хартманиса о том, что все NP-полные языки изоморфны по полиномиальному времени. [7] Хартманис получил A.M. Премия Тьюринга в 1993 году.

Академический сайт

Избранные книги | НАЙТИ КНИГИ ЮРИСА В. ХАРТМАНИСА НА AMAZON…

  • Теория алгебраической структуры последовательных машин (Прентис-Холл, 1966)
  • Возможные вычисления и свойства доказуемой сложности (SIAM, 1987)
  • Теория вычислительной сложности , редактор (Американское математическое общество, 1989)

Мартин Э.Хеллман

Криптография, обмен ключами Диффи-Хеллмана

Хеллман родился в Нью-Йорке в 1945 году. Он получил степень доктора философии. по электротехнике в 1969 году в Стэнфордском университете. В настоящее время Хеллман является почетным профессором электротехники Стэнфордского университета.

Хеллман в основном работал в области криптографии. Он наиболее известен тем, что придумал (в сотрудничестве с Уитфилдом Диффи) концепцию обмена ключами Диффи-Хеллмана — чрезвычайно плодотворную идею, которая легла в основу новой области криптографии с открытым ключом или асимметричной криптографии (подробности см. В статье на Диффи выше, а также примечания четыре и пять ниже).В последующие годы Хеллман был озабочен более широкими последствиями своей работы по криптографии для конфиденциальности и национальной безопасности. В 1988 году он вместе с Анатолием Громыко редактировал сборник эссе (не путать с бывшим министром иностранных дел СССР Андреем Громыко, его отцом), в которых выдающиеся американские и советские ученые и государственные деятели обсуждали возможности укрепления безопасности и взаимопонимания. доверие между двумя сверхдержавами. В 2016 году Хеллман и его жена Дороти опубликовали книгу, в которой он применил свои идеи о безопасности и укреплении доверия к личным отношениям.Хеллман выиграл A.M. Премия Тьюринга в 2015 году.

Академический сайт

Избранные книги | НАЙТИ КНИГИ МАРТИНА Э. ХЕЛЛМЕНА НА AMAZON…

  • Прорыв: зарождающееся новое мышление: советские и западные ученые бросают вызов построению мира после войны , в соавторстве с Анатолием А. Громыко (Walker & Company, 1988)
  • Новая карта взаимоотношений: создание истинной любви дома и мира на планете , в соавторстве с Дороти Л.Хеллман (New Map Publishing, 2016)

Джон Л. Хеннесси

Автоматизированные процедуры проектирования операционных систем и микропроцессоров, RISC, мультипроцессор FLASH

Хеннесси родился в Хантингтоне, штат Нью-Йорк, в 1952 году. Он получил степень доктора философии. получил степень в области информатики в 1977 году в Государственном университете Нью-Йорка в Стоуни-Брук (ныне Университет Стони-Брук). В настоящее время он является профессором электротехники и информатики в Стэнфордском университете, а также директором программы стипендий Knight-Hennessy этой школы.

Часто называемый одним из «отцов Кремниевой долины», Хеннесси сделал выдающуюся карьеру как предприниматель (MIPS Technologies; Atheros Communications), так и в качестве академического администратора (президент Стэнфордского университета, 2000–2016). Тем не менее, он наиболее известен своей работой в сотрудничестве с Дэвидом А. Паттерсоном (см. Ниже) над архитектурой компьютера с сокращенным набором команд (RISC), которая сегодня используется в 99 процентах всех новых компьютерных микросхем. В более общем плане Hennessy является пионером в систематическом количественном проектировании и оценке компьютерных архитектур, особенно тех, которые предназначены для многопроцессорной обработки (использование нескольких центральных процессоров в одной интегрированной компьютерной системе).Он также участвовал в разработке микропроцессора FLASH (гибкая архитектура для общей памяти), который поддерживает множество различных конструкций для одного и того же мультипроцессора с общей памятью. Хеннесси получил A.M. Премия Тьюринга в 2017 году.

Академический сайт

Избранные книги | НАЙТИ КНИГИ ДЖОНА Л. ХЕННЕССИ НА AMAZON…

  • Организация и дизайн компьютера: аппаратно-программный интерфейс в соавторстве с Дэвидом А. Паттерсоном (4-е изд .: Морган Кауфман, 2008; многочисленные более поздние выпуски специализированы для архитектур ARM, MIPS и RISC-V)
  • Компьютерная архитектура: количественный подход , в соавторстве с Дэвидом А.Паттерсон (6-е изд .: Морган Кауфман, 2017)
  • Leading Matters: Lessons from My Journe y (Stanford Business Books, 2018)

К. Энтони Хоар

Языки программирования, ALGOL-W, Quicksort, CSP, логика Хоара

Хоар родился в Коломбо, Шри-Ланка (тогда известный как Цейлон), в 1934 году в семье англичан. Он был отправлен в Великобританию для обучения в Мертон-колледже Оксфордского университета, где в 1956 году получил степень бакалавра по специальности «Великие» (классика и философия).Во время прохождения обязательной военной службы он выучил русский язык. Он закончил дипломную работу по статистике и компьютерному программированию, сначала еще в Оксфорде, затем в МГУ, где он учился у великого математика и пионера теории сложности вычислений Андрея Н. Колмогорова. Проработав несколько лет в частном секторе, Хоар стал профессором вычислительной техники сначала в Королевском университете в Белфасте, а затем снова в Оксфорде, где он возглавил исследовательскую группу по программированию в том, что тогда называлось вычислительной лабораторией Оксфордского университета.В настоящее время он является почетным профессором факультета компьютерных наук Оксфорда, а также главным научным сотрудником Microsoft Research в Кембридже, Англия.

Хоар начал свою карьеру, работая с Никлаусом Э. Виртом (см. Ниже) над ALGOL-W (реализованным в 1966 году), важным расширением ALGOL, первоначально разработанным в 1958 году международным консорциумом. Алгол — прямой предок Паскаля и Си — был первым языком программирования с императивной структурой, который большинство экспертов считали большим достижением по сравнению с конкурирующими языками того времени, такими как FORTRAN и COBOL.Затем Хоар разработал влиятельные алгоритмы сортировки и выбора (Quicksort и Quickselect), а также формальный язык взаимодействия последовательных процессов (CSP), который контролирует взаимодействие между параллельными процессами. Основываясь на работе Роберта У. Флойда, он также разработал логику Хора, которая является средством строгой проверки правильности программы с императивной структурой путем применения набора аксиом и правил вывода. Хоар выиграл A.M. Премия Тьюринга в 1980 году.

Академический сайт

Избранные книги | НАЙТИ КНИГИ К.ANTONY HOARE ON AMAZON…

  • Engineering Theories of Software Construction , в соавторстве с Манфредом Броем и Ральфом Штайнбруггеном (IOS Press, 2001)

Джон Э. Хопкрофт

Алгоритмы, Формальные языки, Автоматы, Алгоритм Хопкрофта – Карпа, Нейронные сети

Хопкрофт родился в Сиэтле, штат Вашингтон, в 1939 году. Он получил степень доктора философии. по электротехнике в 1964 году в Стэнфордском университете. В настоящее время он является профессором инженерии и прикладной математики в области компьютерных наук IBM в Корнельском университете.

Работа Хопкрофта была сосредоточена на математических и логических основах алгоритмов, формальных языков и автоматов. Он проделал плодотворную работу в сотрудничестве с Робертом Э. Тарьяном (см. Ниже) над плоскими графами, а также совместно с Ричардом М. Карпом (см. Ниже) открыл алгоритм Хопкрофта – Карпа для поиска совпадений в двудольных графах. графики. Эти теоретические разработки сигналов имели немаловажное практическое значение для ряда подобластей информатики, в частности, для минимизации детерминированных конечных автоматов (DFA) и нейронных сетей, среди прочего.Работая с соавторами Джеффри Уллманом и Альфредом Ахо, Хопкрофт также написал несколько учебников по алгоритмам, формальным языкам и автоматам, которые являются классикой в ​​своей области. Он выиграл A.M. Премия Тьюринга в 1986 году.

Академический сайт

Избранные книги | НАЙТИ КНИГИ ДЖОНА ХОПКРОФТА НА AMAZON…

  • Формальные языки и их связь с автоматами , в соавторстве с Джеффри Д. Уллманом (Addison-Wesley, 1969)
  • Дизайн и анализ компьютерных алгоритмов , в соавторстве с Альфредом В.Ахо и Джеффри Д. Уллман (Аддисон-Уэсли, 1974)
  • Введение в теорию автоматов, языки и вычисления , в соавторстве с Джеффри Д. Ульманом (Addison-Wesley, 1979; 3-е изд., 2006)
  • Структуры данных и алгоритмы , в соавторстве с Альфредом В. Ахо и Джеффри Д. Уллманом (Пирсон, 1983)

Уильям М. Кахан

Математика / логика, численный анализ, вычисления с плавающей запятой

Кахан родился в Торонто, Онтарио, Канада, в 1933 году.Он получил докторскую степень. получил степень по математике в 1958 году в Университете Торонто. В настоящее время он является почетным профессором математики, электротехники и информатики (EECS) в Калифорнийском университете в Беркли.

Кахан наиболее известен своими работами в области численного анализа, как чистого, так и прикладного. В частности, он был главным архитектором стандартного формата IEEE 754–1985 для двоичного представления чисел в вычислениях с плавающей запятой. По этой причине его часто называют «отцом плавающей точки».В дополнение к более поздним уточнениям спецификации IEEE-754, он внес много других важных вкладов, таких как эталонный тест «программной паранойи» для тестирования ошибок с плавающей запятой, алгоритм суммирования Кахана для минимизации ошибки, необходимой при добавлении последовательности. чисел с плавающей запятой конечной точности и теоремы Дэвиса – Кахана – Вайнбергера о расширении (в соавторстве с Чендлером Дэвисом и Хансом Вайнбергером), которая является знаменательным результатом в теории операторов в гильбертовом пространстве со многими приложениями от квантовой механики до линейных систем.Под последним заголовком находятся приложения в таких областях, как теория автоматического управления, обработка сигналов и телекоммуникации. Кахан получил A.M. Премия Тьюринга в 1989 году.

Академический сайт

Роберт Э. Кан

Проектирование сети, TCP / IP

Кан родился в 1938 году в Нью-Йорке в 1938 году. Он получил докторскую степень. в области электротехники в 1964 году в Принстонском университете. За свою долгую и выдающуюся карьеру Кан работал в академических кругах (MIT), в частном секторе (Bell Labs, BBN Technologies) и в правительстве (DARPA).В настоящее время он является председателем, генеральным директором и президентом Корпорации национальных исследовательских инициатив (CNRI), которую он основал в 1986 году.

Кан наиболее известен своей работой, которую он проделал вместе с Винтоном Серфом (см. Выше) по разработке стандартов протокола управления передачей (TCP) и Интернет-протокола (IP) для двусторонней передачи пакетов с коммутацией пакетов и сетевых пакетов. в основном, правила дорожного движения в Интернете. Кан работал над спутниковой связью, когда осенью 1972 года прибыл в Агентство перспективных оборонных исследовательских проектов (DARPA).Он сразу же стал участвовать в демонстрации реализуемости ARPANET, сети первого поколения, которая тогда находилась в стадии разработки. Первоначально объединяя всего 20 компьютеров, ARPANET была прототипом того, что в конечном итоге стало известно как Интернет. Когда в следующем году Серф прибыл в DARPA, Кан заручился его помощью в радикальном улучшении существующих протоколов передачи сетевых пакетов. Результаты их сотрудничества — TCP и IP — легли в основу сетей с открытой архитектурой, которые позволили бы компьютерам во всем мире связываться друг с другом независимо от того, какое оборудование или программное обеспечение они использовали.Кан выиграл A.M. Премия Тьюринга в 2004 году.

Профессиональный сайт

Ричард М. Карп

Теория сложности вычислений, алгоритмы Эдмондса-Карпа и Хопкрофта-Карпа, биоинформатика

Карп родился в Бостоне, штат Массачусетс, в 1935 году. Он получил степень доктора философии. по прикладной математике в 1959 г. в Гарвардском университете. Карп в настоящее время является почетным профессором факультета электротехники и информатики (EECS) Калифорнийского университета в Беркли, а также приглашенным научным сотрудником Института теории вычислений Саймонса в Беркли, в котором он был директором-основателем с 2012 по 2017 год. .

Карп добился важных теоретических успехов в различных областях информатики, комбинаторных алгоритмов и исследования операций. В 1971 году он вместе с Джеком Р. Эдмондсом опубликовал статью, в которой изложил алгоритм Эдмондса-Карпа для решения задачи о максимальном потоке для сетей. В следующем году он опубликовал новаторскую статью в области теории сложности вычислений, в которой доказал, что 21 задача NP-полна. [8] Через год (1973) в сотрудничестве с Джоном Э.Хопкрофта (см. Выше), Карп разработал алгоритм Хопкрофта – Карпа, который и по сей день остается самым быстрым известным методом поиска совпадений максимальной мощности в двудольных графах. Более поздние работы, которыми он также хорошо известен, включают теорему Карпа-Липтона, разработанную вместе с Ричардом Дж. Липтоном, которая является важным результатом в задаче выполнимости для логических вентилей логической схемы, а также алгоритма поиска строки Рабина-Карпа. разработан с Майклом О. Рабиным (см. ниже). Позже в своей карьере Карп переключил свое основное внимание на биоинформатику.Он выиграл A.M. Премия Тьюринга в 1985 году.

Академический сайт I

Академический сайт II

Алан Кей

Языки программирования, OOL, Мобильные вычисления, Windowing GUI

Кей родился в Спрингфилде, штат Массачусетс, в 1940 году. Он получил степень доктора философии. в области информатики в 1969 году из Университета Юты. Свою карьеру он проработал между академическими кругами (Стэнфорд, Киотский университет, Массачусетский технологический институт, Калифорнийский университет в Лос-Анджелесе) и частным сектором (Xerox, Atari, Apple, Disney, Hewlett-Packard).В настоящее время он является президентом Исследовательского института точек зрения, который он основал в 2001 году, а также адъюнкт-профессором компьютерных наук в Калифорнийском университете в Лос-Анджелесе.

Во время работы над диссертацией Кей разработал язык программирования FLEX. Его научным руководителем в Университете Юты был Иван Э. Сазерленд (см. Ниже), которого часто называют «отцом компьютерной графики». Во время своей работы в качестве исследователя в исследовательском центре Xerox в Пало-Альто (PARC) в начале 1970-х годов Кей возглавил команду, которая расширила идеи, которые он уже представил в своей диссертации, на язык SMALLTALK, который они использовали в качестве основы для общения между сетевыми пользователями. рабочие станции.SMALLTALK был одним из первых чистых объектно-ориентированных языков (OOL), который в конечном итоге был коммерциализирован Apple для своих систем Lisa и Macintosh. Таким образом, Кея часто называют одним из «отцов OOL». Еще работая в Xerox, он также добился значительных концептуальных прорывов в двух других областях, как в проекте Dynabook, который изначально представлял собой компьютер, предназначенный для детей. Dynabook был самым первым компактным мобильным компьютером, и он также включал в себя первый оконный графический пользовательский интерфейс (GUI) для взаимодействия с программой, в отличие от более раннего интерфейса командной строки.Кей получил A.M. Премия Тьюринга в 2003 году.

Академический сайт

Дональд Э. Кнут

Теория сложности вычислений, языки программирования, Искусство программирования

Кнут родился в Милуоки, штат Висконсин, в 1938 году. В 1960 году он одновременно получил степени бакалавра и магистра математики в Технологическом институте Кейса (ныне Университет Кейс Вестерн Резерв). Находясь в Кейс, он перепрограммировал университетский универсальный компьютер IBM 650, поскольку считал, что сможет сделать это лучше.Он получил докторскую степень. по математике в 1963 году в Калифорнийском технологическом институте (CalTech). Кнут в настоящее время является почетным профессором искусства компьютерного программирования в Стэнфордском университете.

Кнут внес выдающийся вклад в три различных области вычислительной науки: теоретическую, практическую и педагогическую. На теоретическом уровне он помог разработать и систематизировать формальные математические методы для строгого анализа вычислительной сложности алгоритмов. В процессе он популяризировал асимптотическую нотацию, которая используется для классификации алгоритмов в зависимости от того, как время их работы или требования к памяти растут в зависимости от размера входных данных.На практическом уровне Кнут разработал компьютерную систему набора текста TeX, соответствующую систему рендеринга шрифтов METAFONT и семейство шрифтов Computer Modern. Он также разработал системы программирования WEB и CWEB, предназначенные для поощрения и облегчения грамотного программирования, а также архитектуры наборов инструкций MIX / MMIX. Наконец, с педагогической точки зрения, его The Art of Computer Programming (см. Ниже) широко считается классическим учебником. TAOCP , как это широко известно, пользуется мистикой среди многих ученых-компьютерщиков, чей ближайший аналог — это, пожалуй, почитание, которым придерживаются многие физики The Feynman Lectures on Physics .Билл Гейтс попросил всех, кто прочитал и понял все TAOCP , прислать ему свое резюме. Кнут получил A.M. Премия Тьюринга в 1974 году.

Академический сайт

Избранные книги | НАЙТИ КНИГИ ДОНАЛЬДА Э. КНУТА НА AMAZON…

  • Искусство компьютерного программирования, том 1: фундаментальные алгоритмы (Addison-Wesley, 1968; три дополнительных тома [четвертый том в шести брошюрах] и более поздние издания; 3-е изд., Тома 1–4A, опубликованные в виде коробки, 2011 г.)
  • Concrete Mathematics: A Foundation for Computer Science , в соавторстве с Рональдом Л.Грэм и Орен Паташник (Addison-Wesley, 1989; 2-е изд., 1994)
  • вещей, о которых компьютерный ученый редко говорит (Центр изучения языка и информации, 2003)

Лесли Лэмпорт

Математика / логика, Теория распределенных систем, Логические часы, Алгоритм Ченди-Лэмпорта, LaTeX

Лэмпорт родился в Нью-Йорке в 1941 году. Он получил степень доктора философии. по математике в 1972 году в Брандейском университете. В настоящее время он имеет звание выдающегося ученого корпорации Microsoft.

По большей части работы Лампорта носили сугубо теоретический характер. Многое из этого было сосредоточено на логических требованиях распределенных (параллельных) систем. Некоторые из его самых известных работ содержат следующие важные идеи:

  • Анализ упорядоченности задач (логические часы) [9]
  • Определение согласованного глобального состояния (снимка) асинхронной системы (алгоритм Ченди-Лэмпорта в сотрудничестве с К.М. Чанди) [10]
  • Концепция последовательной согласованности [11]
  • Различные теоремы об устойчивости и отказоустойчивости (например,г., проблема Византийских генералов) [12]

Кроме того, Лампорт является создателем системы подготовки документов LaTeX. Он выиграл A.M. Премия Тьюринга в 2013 году.

Профессиональный сайт

Персональный сайт

Избранные книги | НАЙТИ КНИГИ ЛЕСЛИ ЛАМПОРТА НА AMAZON…

  • Распределенные системы: методы и инструменты для спецификации. Продвинутый курс с шестью соредакторами (Springer, 1985)
  • LaTeX: система подготовки документов.Руководство пользователя и справочное руководство (Addison-Wesley, 1985; 2-е изд., 1994)
  • Определение систем: язык и инструменты TLA + для инженеров по аппаратному и программному обеспечению (Addison-Wesley, 2002)

Батлер В. Лэмпсон,

Проектирование сети, Системы разделения времени, SDS 940, Alto

Лэмпсон родился в Вашингтоне, округ Колумбия, в 1943 году. Он получил степень доктора философии. получил степень в области электротехники и информатики (EECS) в 1967 году в Калифорнийском университете в Беркли.В настоящее время он является адъюнкт-профессором Лаборатории компьютерных наук и искусственного интеллекта (CSAIL) Массачусетского технологического института.

Лэмпсон, пожалуй, наиболее известен своей работой над проектом GENIE в Беркли в 1960-е годы. Команда разработала новаторскую систему разделения времени в Беркли, которая позже была коммерциализирована компанией Scientific Data Systems как SDS 940. В 1971 году Лэмпсон перешел на работу в Xerox Corporation, став одним из основателей их легендарного исследовательского центра PARC. В следующем году он изложил свое видение того, что станет первым в мире персональным компьютером — Alto — в историческом меморандуме. [13] В PARC Лэмпсон продолжал работать над большим количеством других революционных технологий, таких как Bravo (первая программа форматирования текста WYSIWYG), протоколы двухфазной фиксации, конструкция лазерного принтера и Ethernet (первая высокопроизводительная программа). скорость локальной сети [LAN]). Он также создал несколько важных языков программирования, включая Евклид. Лэмпсон получил премию A.M. Премия Тьюринга в 1992 году.

Академический сайт

Персональный сайт

Избранные книги | НАЙТИ КНИГИ Батлера В.ЛАМПСОН НА AMAZON…

  • Распределенные системы: архитектура и реализация. Продвинутый курс , в соавторстве с М. Полом и Х. Дж. Зигертом (Springer Verlag, 1983)

Барбара Лисков

Языки программирования, Венера, CLU, Аргус, Тор, принцип подстановки Лисков

Лисков (урожденная Хуберман) родилась в Лос-Анджелесе, Калифорния, в 1939 году. В 1961 году она получила степень бакалавра математики в Калифорнийском университете в Беркли.После окончания школы она подала заявление на поступление в аспирантуру Принстонского университета по математике, но в то время женщины не принимали аспирантов. В результате она перешла на работу в Mitre Corporation, где заинтересовалась компьютерами. Позже ее приняли в аспирантуру Стэнфордского университета, где она работала с Джоном Маккарти. Она защитила кандидатскую диссертацию. по информатике в 1968 году из Стэнфорда. В настоящее время Лисков является профессором лаборатории компьютерных наук и искусственного интеллекта (CSAIL) в Массачусетском технологическом институте.

После окончания Стэнфорда Лисков вернулась в Mitre Corporation, и именно там она разработала первый из многих новаторских проектов, которыми она хорошо известна, а именно операционную систему Venus, раннюю интерактивную систему с разделением времени, которая была маленькой и низкой. -Стоимость. Вскоре она покинула Митру, чтобы занять должность преподавателя в Массачусетском технологическом институте, и именно там она возглавила команду, которая разработала язык программирования CLU, что стало важным шагом на пути к чисто объектно-ориентированному языку (OOL).В Массачусетском технологическом институте она также разработала Argus, который был первым языком высокого уровня, который поддерживал реализацию распределенных программ и включал «конвейерную обработку обещаний», а также Thor, объектно-ориентированную систему баз данных. Вдобавок она разработала принцип замещения Лискова, форму сильного поведенческого подтипа, который определяет, какие классы объектов могут безопасно заменять друг друга в OOL. Лисков выиграл A.M. Премия Тьюринга в 2008 году.

Академический сайт

Избранные книги | НАЙТИ КНИГИ ВАРБАРЫ ЛИСКОВОЙ НА AMAZON…

  • CLU: Справочное руководство с шестью соредакторами (Springer, 1981)
  • Распределенные системы: методы и инструменты для спецификации.Продвинутый курс с шестью соредакторами (Springer, 1985)
  • Абстракция и спецификация в разработке программ , в соавторстве с Джоном Гуттагом (MIT Press, 1986)
  • Разработка программ на Java: абстракция, спецификация и объектно-ориентированный дизайн , в соавторстве с Джоном Гуттагом (Addison-Wesley, 2000)

Сильвио Микали

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

Микали родился в Палермо, Италия, в 1954 году.Он получил докторскую степень. получил степень в области информатики в Калифорнийском университете в Беркли в 1983 году. В настоящее время он является профессором инженерии Форда в Лаборатории компьютерных наук и искусственного интеллекта (CSAIL) Массачусетского технологического института.

Исследования Микали были сосредоточены на криптографии. Он внес ранний и фундаментальный вклад в развитие криптосистем с открытым ключом, включая такие важные криптографические идеи, как псевдослучайные функции, доказательства с нулевым разглашением и протокол передачи без внимания. Микали, который также работал над безопасными многосторонними вычислениями, является одним из изобретателей цифровых подписей.Он получил A.M. Премия Тьюринга в 2012 году.

Академический сайт

Избранные книги | НАЙТИ КНИГИ SILVIO MICALI НА AMAZON…

  • Случайность и вычисление , в соавторстве с Франко П. Препарата (JAI Press, 1990)

Дэвид А. Паттерсон

Операционные системы / конструкция процессора, микропроцессор RISC, система хранения RAID

Паттерсон родился в Эвергрин-Парк, штат Иллинойс, в 1947 году. Он получил степень доктора философии.В 1976 году получил степень доктора компьютерных наук в Калифорнийском университете в Лос-Анджелесе (UCLA). В настоящее время он является E.H. и M.E. Pardee, профессор компьютерных наук, почетный, на факультете электротехники и компьютерных наук (EECS) Калифорнийского университета в Беркли.

Паттерсон занимается разработкой операционных систем и микропроцессоров. Он является одним из изобретателей концепции вычислений с сокращенным набором команд (RISC), термин, придуманный им. RISC был важным нововведением в архитектуре операционной системы, которое позволило компьютерам достичь более высоких скоростей — по сравнению с более ранней архитектурой набора команд (ISA) — за счет уменьшения количества циклов на инструкцию (CPI).Он также является одним из изобретателей концепции избыточного массива независимых дисков (RAID), системы хранения данных, в которой используются два или более физических диска и контроллер для повышения производительности и обеспечения отказоустойчивости. Паттерсон выиграл A.M. Премия Тьюринга в 2017 году.

Академический сайт

Избранные книги | НАЙТИ КНИГИ ДЭВИДА А. ПАТТЕРСОНА НА AMAZON…

  • Организация и дизайн компьютера: аппаратно-программный интерфейс , в соавторстве с Джоном Л.Хеннесси (4-е изд .: Морган Кауфман, 2008; многочисленные более поздние выпуски специализированы для архитектур ARM, MIPS и RISC-V)
  • Инженерное программное обеспечение как услуга: гибкий подход с использованием облачных вычислений , в соавторстве с Армандо Фокс (Strawberry Canyon, 2013)
  • Архитектура компьютера: количественный подход , в соавторстве с Джоном Л. Хеннесси (6-е изд .: Морган Кауфман, 2017 г.
  • The RISC-V Reader: Атлас открытой архитектуры , в соавторстве с Эндрю Уотерманом (Strawberry Canyon, 2017)

Жемчужина Иудеи

Теория вероятностей, Причинные рассуждения, Байесовские сети, Искусственный интеллект

Перл родился в Тель-Авиве, Израиль (в то время контролируемая Великобританией Подмандатная Палестина), в 1936 году.Он получил докторскую степень. В 1965 году получил степень бакалавра электротехники в Политехническом институте Бруклина (ныне инженерная школа Тандон Нью-Йоркского университета). Он является отцом Дэниела Перла, который в 2002 году был убит террористами, лояльными Аль-Каиде, во время работы в Пакистане для газеты Wall Street Journal . Джудея Перл в настоящее время является профессором компьютерных наук и статистики, а также директором лаборатории когнитивных систем Калифорнийского университета в Лос-Анджелесе (UCLA).

Перл — математик и философ, работа которого оказала огромное влияние на теоретические дисциплины, которые пытаются моделировать причинные рассуждения, особенно статистические и вероятностные выводы.В частности, он разработал новую модель статистического вывода, известную как «байесовские сети» из-за их фундаментальной зависимости от теоремы Байеса. Модель байесовского типа сети представляет набор переменных и их условных зависимостей через ориентированный ациклический граф. Байесовские сети нашли широкое применение в нескольких областях информатики, особенно в области искусственного интеллекта. Перл получила премию A.M. Премия Тьюринга в 2011 году.

Академический сайт

Избранные книги | НАЙТИ КНИГИ JUDEA PEARL НА AMAZON…

  • Эвристика: стратегии интеллектуального поиска для решения компьютерных проблем (Аддисон-Уэсли, 1984)
  • Вероятностные рассуждения в интеллектуальных системах: сети правдоподобного вывода (Морган Кауфманн, 1988)
  • Причинность: модели, рассуждения и выводы (Cambridge University Press, 2000; 2-е изд., 2009)
  • Книга почему: Новая наука о причине и следствии , в соавторстве с Даной Маккензи (Basic Books, 2018)

Радиа Дж. Перлман

Проектирование сети, ТОРТИС, STP

Перлман родился в Портсмуте, штат Вирджиния, в 1951 году, но вырос недалеко от Эсбери-парка, штат Нью-Джерси. Она получила степени бакалавра и магистра математики в Массачусетском технологическом институте (MIT) в 1973 и 1976 годах соответственно. Она получила докторскую степень.Он получил степень доктора компьютерных наук в Массачусетском технологическом институте в 1988 году. В настоящее время Перлман является научным сотрудником корпорации Dell EMC.

Уже в 1971 году, во время учебы по математике в Массачусетском технологическом институте, Перлман начала работать программистом по совместительству в лаборатории LOGO Lab в Лаборатории искусственного интеллекта Массачусетского технологического института, как она тогда называлась. LOGO был образовательным языком программирования, разработанным в то время Сеймуром Папертом, Синтией Дж. Соломон (см. Ниже) и другими для образовательных приложений. Первоначально Перлману платили за обычное программирование и отладку.Однако вскоре она под руководством Паперта начала разрабатывать свою собственную модифицированную версию LOGO, названную TORTIS (Система рекурсивного интерпретатора черепахи для малышей), предназначенную для работы с похожим на игрушку компьютером под названием Turtle. Система Turtle / TORTIS была успешно протестирована на детях в возрасте от трех с половиной лет.

Однако Перлман, несомненно, наиболее известна своим изобретением протокола Spanning Tree Protocol (STP), которое, во время работы в Digital Equipment Corporation (DEC) несколько лет спустя, обеспечивало логическую топологию без петель для сетей Ethernet.Протокол STP стал незаменимым для работы сетевых мостов, по этой причине Перлмана иногда называют «матерью Интернета».

Персональный сайт

Избранные книги | НАЙТИ КНИГИ РАДИА ПЕРЛМАН НА AMAZON…

  • Межсоединения: мосты и маршрутизаторы (Addison-Wesley, 1992; 2-е изд., 1999)
  • Network Security: Private Communication in a Public World , в соавторстве с Чарли Кауфманом и Майком Спекинером (Prentice-Hall, 1995; 2-е изд.: 2002)

Майкл О. Рабин

Теория сложности вычислений, Недетерминированные конечные автоматы, Криптография, критерий простоты Миллера-Рабина

Рабин родился во Вроцлаве, Польша (в то время Бреслау, Германия), в 1931 году. В возрасте четырех лет он эмигрировал со своей семьей в Подмандатную Палестину, управляемую Великобританией. Он получил степень магистра математики в 1953 году в Еврейском университете Иерусалима и докторскую степень. по математике в 1957 году в Принстонском университете.В настоящее время он является Томасом Дж. Уотсоном, старшим профессором компьютерных наук Школы инженерии и прикладных наук Джона А. Полсона Гарвардского университета.

Рабин проделал новаторскую работу в нескольких различных областях прикладной математики и логики, но две области, в которые он внес наиболее выдающийся вклад, — это теория сложности вычислений и криптография. В первом случае Рабин в сотрудничестве с Даной С. Скотт (см. Ниже) ввел понятие недетерминированных конечных автоматов как более совершенный подход к определению того, может ли данный алгоритм быть решен эффективно, т. Е. Разрешается ли данный алгоритм за полиномиальное время с помощью недетерминированного Машина Тьюринга (другими словами, относится к классу сложности NP). [14] Что касается последнего, Рабин изобрел критерий простоты Миллера-Рабина (независимо полученный Гэри Л. Миллер), рандомизированный алгоритм, который может очень быстро (хотя и с небольшой вероятностью ошибки) определить, является ли данное число простое. Этот тест стал основой того, что сейчас известно как криптография Рабина. Рабин выиграл A.M. Премия Тьюринга в 1976 году.

Академический сайт

Даббала Б. («Радж») Редди

Искусственный интеллект, Распознавание речи

Редди родился в Катуре, Тамил Наду, Индия, в 1937 году.Он получил степень бакалавра гражданского строительства в 1958 году в Университете Мадраса (ныне Ченнаи) и степень магистра технологий в 1960 году в Университете Нового Южного Уэльса в Австралии. Он получил докторскую степень. по информатике в 1966 году из Стэнфордского университета. Редди в настоящее время является профессором компьютерных наук и робототехники Университета Моза Бинт Насер в Университете Карнеги-Меллона, где он основал Институт робототехники. Редди также сыграл важную роль в основании Университета технологий знаний Раджива Ганди в 2008 году в сельском Басаре, штат Телангана, Индия, и в настоящее время он является председателем Международного института информационных технологий в Хайдарабаде.

Исследования Редди широко охватывают различные области искусственного интеллекта (ИИ). В частности, он сосредоточился на перцепционных и моторных аспектах ИИ, таких как речь, язык и зрение, и их приложениях в человеко-машинном интерфейсе и робототехнике. Среди его достижений в области сигналов были ранние попытки управлять роботами с помощью голосовых команд, а также введение очень больших и неограниченных словарей в связи с распознаванием речи. Редди выиграл A.Премия М. Тьюринга в 1994 году.

Академический сайт

Избранные книги | НАЙТИ КНИГИ РАДЖА РЕДДИ НА AMAZON…

  • Распознавание речи , редактор (Academic Press, 1975)

Рональд Л. Ривест

Криптография, криптосистемы RSA, RC и MD

Ривест родился в Скенектади, штат Нью-Йорк, в 1943 году. Он получил степень доктора философии. получил степень в области информатики в 1974 году в Стэнфордском университете. В настоящее время он является профессором лаборатории компьютерных наук и искусственного интеллекта Массачусетского технологического института.

Ривест, вероятно, наиболее известен своим вкладом, вместе с Леонардом М. Адлеманом (см. Выше) и Ади Шамиром (см. Ниже), в алгоритм RSA, который, как уже упоминалось выше в статье об Адлемане, был одним из первых асимметричные (с открытым ключом) криптосистемы. Он также изобрел серию симметричных (с закрытым ключом) систем шифрования, которые носят название RC (от Rivest Cipher), а также серию криптосистем с хеш-функциями MD (Message Digest). Помимо работы в области компьютерной криптографии, Ривест провел важные исследования в области чистой математики, известной как комбинаторика.Наконец, он разработал протокол голосования ThreeBallot, сквозную проверяемую систему голосования, сочетающую анонимность с проверяемостью. Ривест выиграл A.M. Премия Тьюринга в 2002 году.

Академический сайт

Избранные книги | НАЙТИ КНИГИ РОНАЛЬДА Л. РИВСТА НА AMAZON…

  • Введение в алгоритмы , в соавторстве с Томасом Х. Корменом и Чарльзом Э. Лейзерсоном (MIT Press, 1990; 3-е изд .: 2009)
  • Машинное обучение: от теории к приложениям , в соавторстве со Стивеном Дж.Хансон и Вернер Реммеле (Springer-Verlag, 1993)
  • Advances in Cryptology — ASIACRYPT ‘91 , в соавторстве с Хидеки Имаи и Цутому Мацумото (Springer-Verlag, 1993)

Дана С. Скотт

Теория автоматов, Семантика языков программирования, Модальная логика, Теория предметной области

Скотт родился в Беркли, Калифорния, в 1932 году. Он получил степень бакалавра математики в 1954 году в Калифорнийском университете в Беркли, где он работал с великим польским логиком Альфредом Тарски.Чтобы получить степень доктора философии, он поступил в Принстонский университет, где работал с одним из отцов-основателей теоретической информатики, Алонзо Черчем. Скотт получил ученую степень в 1958 году. В настоящее время он является почетным профессором компьютерных наук, философии и математической логики Университета Хиллмана в Университете Карнеги-Меллона.

Скотт провел новаторские исследования в области чистой математики, математической логики и философии, а также в применении этих дисциплин в теоретической информатике.В частности, он хорошо известен своей совместной с Майклом О. Рабиным работой (см. Выше) над недетерминированными конечными автоматами (см. Статью о Рабине для более подробной информации). В философии Скотт известен своим вкладом в семантику Монтегю-Скотта (независимо полученную логиком Ричардом Монтегю), которая является важным расширением семантики Крипке для модальных и временных логик. Однако, вероятно, именно в чистой математике Скотт внес свой наиболее фундаментальный и широкий вклад, особенно в топологию и смежные области, включая изучение теории предметной области (которую он инициировал), непрерывных решеток и теорию категорий.В этой работе — некоторые из которых были выполнены в сотрудничестве с Кристофером Стрейчи — Скотт помог заложить прочную теоретическую основу для семантики языков программирования, в которых рекурсивным функциям и конструкциям управления циклами может быть придана денотационная семантика. Скотт получил A.M. Премия Тьюринга в 1976 году.

Академический сайт

Избранные книги

  • Аксиоматическая теория множеств, том 1 , редактор (Американское математическое общество, 1967)
  • An Introduction to Modal Logic , в соавторстве с Э.Джон Леммон (Blackwell Publishers, 1977)
  • Лекции по математической теории вычислений (Вычислительная лаборатория Оксфордского университета, 1981)

Ади Шамир

Криптография, Дифференциальный криптоанализ, RSA, схема совместного использования секретов Шамира, Визуальная криптография

Шамир родился в Тель-Авиве, Израиль, в 1952 году. Он получил степень доктора философии. В 1977 году получил степень бакалавра компьютерных наук в Научном институте Вейцмана в Реховоте, Израиль. В настоящее время он является профессором прикладной математики Пола и Марлен Борман на факультете математики и информатики Научного института Вейцмана.

Шамир, вероятно, наиболее известен как соавтор, вместе с Леонардом М. Адлеманом и Рональдом Л. Ривестом (о них обоих, см. Выше), алгоритма RSA, одной из первых асимметричных криптосистем с открытым ключом. Однако он внес множество других вкладов как в криптографию, так и в информатику в целом. Например, он является изобретателем схемы совместного использования секретов Шамира и все еще гипотетических устройств факторинга целых чисел TWIRL и TWINKLE. Он также внес значительный вклад в визуальную криптографию.Однако его наиболее важным вкладом (в сотрудничестве с Эли Бихамом), вероятно, было открытие им техники, известной как дифференциальный криптоанализ, общего метода атаки на блочные шифры путем анализа того, как различия в вводе информации могут влиять на различия в выводах. В своей работе в других областях информатики Шамир нашел первый алгоритм с линейным временем для 2-выполнимости и продемонстрировал эквивалентность классов сложности PSPACE и IP. Он выиграл A.M. Премия Тьюринга в 2002 году.

Академический сайт

Избранные книги | НАЙТИ КНИГИ АДИ ШАМИРА НА AMAZON…

  • Дифференциальный криптоанализ стандарта шифрования данных , в соавторстве с Эли Бихамом (Springer, 1993)

Джозеф Сифакис

Математика / логика, проверка моделей

Сифакис родился в Ираклионе, Греция, в 1946 году. Получив высшее образование в области электротехники в Техническом университете Афин, он получил докторскую степень.Имеет степень доктора математических наук в 1974 г. (с степенью хабилитации в 1979 г.) в Гренобльском университете во Франции. В настоящее время он является директором по исследованиям лаборатории VERIMAG, которую он основал в 1993 году. VERIMAG, которая находится недалеко от Гренобля и работает под эгидой CNRS (Национальный центр научных исследований [Национальный центр научных исследований]) и Технологического института Гренобля. является ведущим исследовательским центром встраиваемых систем. Сифакис также является директором Institut Carnot LSI (Logiciels et Systèmes Intelligents [Программное обеспечение и интеллектуальные системы]) в Технологическом институте Гренобля.

Sifakis наиболее известен разработкой идеи проверки моделей. [15] Уже обсуждалось в статье Эдмунда М. Кларка-младшего (см. Выше), проверка модели — это метод формальной проверки параллельных систем с конечным числом состояний. Короче говоря, конкретный аспект или спецификация сложной вычислительной системы сначала выражается в виде набора специально разработанных формул темпоральной логики, известных как модель. Затем можно использовать эффективный алгоритм для исчерпывающей и автоматической проверки, удовлетворяет ли модель исходной спецификации, тем самым подтверждая этот аспект сложной системы.Затем процедуру можно повторить для других характеристик системы. Совсем недавно Сифакис провел важные исследования — и стал выдающимся представителем — использования подходов к встроенным системам и строгих методологий проектирования систем. Он получил A.M. Премия Тьюринга в 2007 году.

Академический сайт

Избранные книги | НАЙТИ КНИГИ ДЖОЗЕФА СИФАКИСА НА AMAZON…

  • Методы автоматической проверки для систем с конечным числом состояний , редактор (Springer, 1990)
  • Встроенное программное обеспечение , редактировалось совместно с Альберто Сангиованни-Винчентелли (Springer, 2002)
  • Проектирование встроенных систем: Дорожная карта исследований и разработок ARTIST , в соавторстве с Бруно Буиссунаусом (Springer, 2005)
  • Строгий системный дизайн (Now Publishers, 2013)

Синтия Соломон

Искусственный интеллект, языки программирования, логотип

Соломон родился в Сомервилле, штат Массачусетс, в 1938 году.Она получила степень бакалавра истории в Рэдклиффском колледже, как его тогда называли. В 1976 году она получила степень магистра компьютерных наук в Бостонском университете и степень доктора педагогических наук в 1985 году в Гарвардском университете. В настоящее время она является старшим научным сотрудником отдела конструирования современных знаний, где она работает в учебной группе фонда «Один ноутбук на ребенка».

Соломон известна своей работой над искусственным интеллектом и языками программирования для образовательных целей, особенно с ознакомлением маленьких детей с основными вычислительными концепциями.Она начала интересоваться компьютерами, работая секретарем у Марвина Мински в Массачусетском технологическом институте в 1960-х годах. Во время учебы в Массачусетском технологическом институте она выучила лисп. В конце концов она покинула Массачусетский технологический институт и стала программистом на Лиспе в компаниях Bolt, Beranek и Newman (ныне BBN Technologies). Тем не менее, она оставалась в тесном контакте со своими бывшими коллегами из Массачусетского технологического института и впоследствии активно участвовала в разработке вместе с Сеймуром Папертом языка программирования Logo для небольших мобильных роботов, известных как «черепахи», с целью обучения вычислительным и другим навыкам. маленькие дети.Позже к этой группе присоединилась Радия Дж. Перлман (см. Выше). В 1971 году Соломон в соавторстве с Папертом стал широко распространенной внутренней запиской [16] Лаборатории искусственного интеллекта Массачусетского технологического института, в которой излагалось видение внедрения компьютеров в систему дошкольного образования. После ухода из BBN Соломон стала соучредителем Logo Computer Systems, Inc., где она занимала должность вице-президента по исследованиям и разработкам в то время, когда компания разрабатывала знаменитый логотип Apple Computer Company. Позже она работала в Atari Corporation и несколько лет преподавала информатику в средней школе.

Профессиональный сайт

Избранные книги | НАЙТИ КНИГИ СИНТИИ СОЛОМОН НА AMAZON…

  • Компьютерные среды для детей: размышления о теориях обучения и образования (MIT Press, 1986; отредактированное издание 1988 г.)
  • Разработка мультимедийных сред для детей , в соавторстве с Эллисон Друин (Wiley, 1996)

Ричард Э. Стернс,

Теория вычислительной сложности, теория автоматов, алгоритмы, теория игр

Стернс родился в Колдуэлле, штат Нью-Джерси, в 1936 году.Он получил докторскую степень. по математике в 1961 году в Принстонском университете. В настоящее время он является заслуженным профессором компьютерных наук в Колледже инженерных и прикладных наук Университета Олбани-SUNY. Стернс также является членом исследовательского факультета Института биокомплексности Технологического института Вирджинии.

Стернс известен своим вкладом в несколько различных областей математики, лежащих в основе теории вычислений, включая теорию автоматов, анализ алгоритмов и теорию игр.Тем не менее, он, несомненно, наиболее известен своей работой по теории сложности вычислений, особенно ранней работой, которую он сделал в сотрудничестве с Юрисом Хартманисом (см. Выше). В новаторской статье, опубликованной в 1965 году, [6] Хартманис и Стернс представили идею классов иерархии времени, то есть степени сложности, основанной на времени, необходимом для выполнения вычисления данного типа, и доказали теорему о иерархии времени. , в котором говорится, что для каждого детерминированного класса сложности с ограничением по времени существует строго больший класс с ограничением по времени.В более поздней работе в сотрудничестве с Филипом М. Льюисом и Дэниелом Дж. Розенкранцем Стернс ввел понятие сериализуемости как необходимого и достаточного условия для согласованности и правильности быстрого выполнения транзакций в параллельных системах баз данных. В работе с Гарри Б. Хантом III Стернс доказал важные теоремы, касающиеся принципов редукции для поиска более простых и адекватных моделей очень сложных систем реального мира, а также проблемы суммы произведений, рассматриваемые алгебраически, которые расширяют концепцию дерева структуры до количественных формул. .Он получил A.M. Премия Тьюринга в 1993 году.

Академический сайт

Избранные книги | НАЙТИ КНИГИ РИЧАРДА Э. СТЕРНС НА AMAZON…

  • Теория алгебраической структуры последовательных машин , в соавторстве с Юрисом Хартманисом (Prentice-Hall, 1966)
  • Compiler Design Theory , в соавторстве с Филипом М. Льюисом и Дэниелом Дж. Розенкранцем (Addison Wesley, 1976)
  • Повторяющиеся игры с неполной информацией , в соавторстве с Робертом Дж.Ауман и Майкл Б. Машлер (MIT Press, 1995)

Майкл Р. Стоунбрейкер

Системы управления базами данных, Ingres, C-Store, H-Store, SciDB

Стоунбрейкер родился в Ньюберипорте, штат Массачусетс, в 1943 году. Он получил степень доктора философии. в области компьютерной инженерии в 1971 году в Мичиганском университете. В настоящее время он является почетным профессором факультета электротехники и компьютерных наук (EECS) Калифорнийского университета в Беркли, а также адъюнкт-профессором лаборатории компьютерных наук и искусственного интеллекта (CSAIL) Массачусетского технологического института.

Карьера

Stonebraker была сосредоточена на системах управления базами данных (СУБД). Первоначально он разработал несколько хорошо известных СУБД реляционного типа, таких как Ingres и Postgres. Позже он разработал более инновационную СУБД параллельного типа без совместного использования ресурсов и столбцов, такую ​​как C-Store. Затем Стоунбрейкер и его сотрудники разработали систему распределенной оперативной обработки транзакций (OLTP) с оперативной памятью (H-Store), которая значительно увеличила пропускную способность рабочих нагрузок по обработке транзакций.После этого, работая с Дэвидом ДеВиттом и другими, Стоунбрейкер помог разработать СУБД с открытым исходным кодом под названием SciDB, которая была специально разработана для приложений научных исследований. Он выиграл A.M. Премия Тьюринга в 2014 году.

Академический сайт I

Академический сайт II

Избранные книги | НАЙТИ КНИГИ МАЙКЛА СТОУНБРАКЕРА НА AMAZON…

  • Документы Ingres: анатомия системы реляционных баз данных (Аддисон-Уэсли, 1986)
  • Чтения в системах баз данных , редактор (Морган Кауфман, 1988; 4-е изд., 2006; 5 изд., 2016, доступно онлайн)
  • Миграция устаревших систем: шлюзы, интерфейсы и инкрементный подход , в соавторстве с Майклом Л. Броди (Morgan Kauffman, 1995)
  • Объектно-реляционные СУБД: следующая большая волна , в соавторстве с Дороти Мур (Морган Кауфман, 1995; 2-е изд., 1998)
  • Архитектура системы баз данных , в соавторстве с Джозефом М. Хеллерштейном и Джеймсом Гамильтоном (Now Publishers, 2007)

Иван Э.Сазерленд

Языки программирования, Компьютерная графика, Интерактивные интерфейсы, Вычисления в реальном времени

Сазерленд родился в Гастингсе, Небраска, в 1938 году. Он получил докторскую степень. в области электротехники и информатики (EECS) в 1963 году в Массачусетском технологическом институте, где он работал с Клодом Шенноном и Марвином Мински. В настоящее время он является приглашенным научным сотрудником Колледжа инженерии и информатики Масси при Портлендском государственном университете, где он вместе со своей женой Марли Ронкен стал соучредителем Центра асинхронных исследований.

Сазерленда часто называют «отцом компьютерной графики». Уже на степень доктора философии. В своей диссертации он разработал идеи, которые впоследствии стали Sketchpad, первой программой, способной принимать геометрические формы (отрезки линий и дуги) в качестве входных данных и выполнять над ними операции, такие как копирование и вставка, вращение, изменение размера и т. д. Sketchpad — это предок большинства более поздних графических пользовательских интерфейсов (GUI). В 1968 году Сазерленд вместе со своим коллегой Дэвидом К. Эвансом основал Evans & Sutherland, которую часто называют первой компанией компьютерной графики.Фирма провела новаторские исследования и разработки в различных областях, включая (реактивные) вычисления в реальном времени, ускоренную компьютерную 3D-графику и языки печати. Бывшие сотрудники Evans & Sutherland Джон Варнок и Джеймс Х. Кларк основали Adobe Systems и Silicon Graphics соответственно. Сазерленд получил A.M. Премия Тьюринга в 1988 году.

Академический сайт

Избранные книги | НАЙТИ КНИГИ ИВАНА Э. САЗЕРЛЕНДА НА AMAZON…

  • Logical Effort: Designing Fast CMOS Circuits , в соавторстве с Бобом Спроулом и Дэвидом Харрисом (Morgan Kauffman, 1999)

Роберт Э.Тарьян

Математика / логика, автономный алгоритм наименьших общих предков Тарьяна, кучи Фибоначчи, Splay-деревья

Тарджан родился в 1948 году в Помоне, Калифорния, в 1948 году. Он получил степень доктора философии. В 1972 году получил степень бакалавра компьютерных наук в Стэнфордском университете, где он работал с Дональдом Кнутом (см. выше). За свою карьеру он работал как в академических кругах (Калифорнийский университет в Беркли, Корнелл, Стэнфорд, Нью-Йоркский университет, Принстон), так и в частном секторе (Bell Labs, Microsoft, NEC, Compaq, Hewlett-Packard и Intertrust Technologies).В настоящее время Тарджан является заслуженным профессором факультета компьютерных наук Принстонского университета Джеймса С. Макдоннелла, а также главным научным сотрудником Intertrust Technologies Corporation.

Тарьян наиболее известен своими новаторскими теоретическими работами в прикладной математике, особенно в отношении алгоритмов структуры графов и структур данных. Что касается первого, он является изобретателем автономного алгоритма наименьших общих предков Тарьяна, алгоритма сильносвязных компонентов Тарьяна и (с несколькими сотрудниками) алгоритма выбора медианы медианы с линейным временем.Работая с Джоном Э. Хопкрофтом (см. Выше), он также разработал алгоритм проверки планарности Хопкрофта-Тарьяна, первый алгоритм линейного времени для проверки планарности (определение того, можно ли нарисовать данный граф на плоскости без пересечения ребер). Что касается последних (т. Е. Структур данных), он разработал как кучу Фибоначчи (структура данных для операций с приоритетной очередью, состоящую из коллекции упорядоченных в куче деревьев), так и, в сотрудничестве с Дэниелом Слейтором, развернутое дерево (самостоятельное дерево). -настройка, бинарное дерево поиска).Тарьян выиграл A.M. Премия Тьюринга в 1986 году.

Академический сайт

Профессиональный сайт

Избранные книги | НАЙТИ КНИГИ РОБЕРТА Э. ТАРДЖАНА НА AMAZON…

  • Заметки по вводной комбинаторике , в соавторстве с Джорджем Полиа и Дональдом Р. Вудсом (Birkhäuser, 1983; переиздание, 2010)
  • Структуры данных и сетевые алгоритмы (Общество промышленной и прикладной математики, 1987)

Валери Тейлор

Высокопроизводительные вычисления, Научные приложения для параллельных вычислений, Prophesy

Тейлор родился в Чикаго в 1963 году.Она получила докторскую степень. получил степень в области электротехники и информатики (EECS) в Калифорнийском университете в Беркли в 1991 году. В настоящее время она является профессором электротехники и вычислительной техники Северо-Западного университета, а также директором отдела математики и информатики в Аргоннской национальной лаборатории.

Тейлор проводит исследования в основном в области анализа (анализ производительности и моделирование, анализ мощности) высокопроизводительных вычислений, особенно в отношении систем параллельных вычислений и их научных приложений, компьютерных архитектур и сред визуализации.Она также известна как важный разработчик Prophesy, системы управления базами данных, используемой для сбора и анализа данных для прогнозирования производительности различных приложений в параллельных вычислительных системах. В настоящее время Тейлор является членом одной из нескольких команд, соревнующихся за проектирование и разработку следующего поколения сверхбыстрых компьютеров «петафлоп» (способных выполнять 10 15 , или один квадриллион операций с плавающей запятой в секунду).

Академический сайт I

Академический сайт II

Избранные книги

  • Международная конференция по системам, архитектурам и процессорам для конкретных приложений: Труды 1996 г. , с тремя соредакторами (IEEE Computer Society, 1997)
  • Международная конференция IEEE по системам, архитектурам и процессорам для конкретных приложений: Труды 1997 г. , с пятью соредакторами (IEEE Computer Society, 1997)

Кеннет Л.Томпсон

Языки программирования, B, Unix

Томпсон родился в Новом Орлеане, штат Луизиана, в 1943 году. Он имеет степень магистра электротехники, присвоенную в 1966 году Калифорнийским университетом в Беркли. Большую часть своей карьеры он проработал в Bell Labs, ушел на пенсию в 2000 году. В настоящее время он является заслуженным инженером Google, Inc.

В Bell Labs в конце 1960-х Томпсон и его коллега Деннис М. Ричи начали работать над операционной системой под названием Multics.Ради интереса Томпсон написал код для ранней видеоигры, которую он назвал Space Travel, которая работала на Multics. Когда проект Multics был в конечном итоге отложен, Томпсон и Ричи начали разработку новой операционной системы со многими инновационными характеристиками, включая иерархическую файловую систему, интерпретатор командной строки, файлы устройств и вспомогательные служебные программы. Эта система стала известна как Unix (каламбур от «Мультики»). Чтобы иметь подходящий язык программирования, совместимый с Unix, Томпсон создал B — непосредственный предшественник семейства языков C, позже разработанный в основном Ричи.Томпсон также внес множество других вкладов, таких как популяризация регулярных выражений (последовательности символов, определяющих шаблон поиска), изобретение алгоритма построения Томпсона (для преобразования регулярных выражений в недетерминированные конечные автоматы, что значительно ускоряет сопоставление шаблонов поиска), и написание программного обеспечения для Belle (первого шахматного компьютера, который достиг конкурентоспособности с игроками-людьми уровня мастеров). Томпсон выиграл A.M. Премия Тьюринга в 1983 году.

Профессиональный сайт

Линус Б.Торвальдс

Операционные системы, Linux

Торвальдс родился в Хельсинки, Финляндия, в 1969 году в шведскоязычной семье. Он имеет степень магистра информатики в Университете Хельсинки, которую он получил в 1996 году. В настоящее время он является научным сотрудником Linux Foundation, которую он создал в 2000 году для поддержки мирового сообщества Linux с открытым исходным кодом.

Торвальдс — изобретатель Linux, очень широко используемой бесплатной операционной системы с открытым исходным кодом.Торвальдс создал то, что сейчас известно как ядро ​​Linux, в 1991 году, еще будучи студентом Хельсинкского университета. Первоначально разработанный им для персональных компьютеров и основанный на архитектуре Intel x86, сегодня Linux используется на большем количестве платформ всех типов, чем любая другая операционная система общего назначения. Например, ядро ​​Linux является базовой операционной системой как для смартфона Android, так и для суперкомпьютера TOP500. В 2005 году Торвальдс создал Git, систему контроля версий для отслеживания изменений в компьютерных файлах и координации работы с файлами, совместно используемыми несколькими пользователями.

Профессиональный сайт

Избранные книги | НАЙТИ КНИГИ ЛИНУСА ТОРВАЛЬДА НА AMAZON…

  • Just for Fun: The Story of an Accidental Revolutionary , в соавторстве с Дэвидом Даймондом (HarperCollins, 2001)

Лесли Г. Валиант

Теория сложности вычислений, Теория автоматов, Машинное обучение

Валиант родился в Будапеште, Венгрия, в 1949 году. Он получил степень доктора философии. в 1974 году получил степень бакалавра компьютерных наук в Уорикском университете в Великобритании.В настоящее время он является профессором компьютерных наук и прикладной математики Т. Джефферсона Кулиджа в Школе инженерии и прикладных наук Джона А. Полсона Гарвардского университета. Он также является исследователем Центра мозга, разума и машин Массачусетского технологического института (CBMM).

Valiant выполнил важную теоретическую и прикладную работу в области теории сложности вычислений и теории автоматов. В первой области он ввел понятие # P-полноты (произносится как «sharp-p»), чтобы объяснить, почему проблемы с перечислением и надежностью неразрешимы.В последней области он изобрел эффективный алгоритм для бесконтекстного анализа, который до сих пор является самым быстрым из известных асимптотически. В последнее время он работал в области машинного обучения и вычислительной нейробиологии. Он особенно известен своей «вероятно приблизительно правильной» (PAC) моделью машинного обучения, которая внесла большой вклад в область теории вычислительного обучения (см. Его популярную книгу о PAC, указанную ниже). В области вычислительной нейробиологии он работает над моделями нейронных цепей памяти, обучения и общего интеллекта.Valiant получил A.M. Премия Тьюринга в 2010 году.

Академический сайт I

Академический сайт II

Избранные книги | НАЙТИ КНИГИ ЛЕСЛИ Г. ВАЛИАНТА НА AMAZON…

  • Цепи разума (Oxford University Press, 1994)
  • Вероятно, приблизительно правильно: природные алгоритмы обучения и процветания в сложном мире (Basic Books, 2014)

Никлаус Э. Вирт

Языки программирования, Операционные системы, Паскаль

Вирт родился в Винтертуре, городке недалеко от Цюриха, в Швейцарии, в 1934 году.Он получил докторскую степень. в области электротехники и информатики (EECS) в 1963 году в Калифорнийском университете в Беркли. Проработав 31 год в ETH Zurich (он же Швейцарский федеральный технологический институт), Вирт ушел на пенсию в 1999 году. Тем не менее, он по-прежнему активно участвует в совершенствовании операционной системы и языка Oberon, первоначально разработанных в 1988 году.

Вирт известен прежде всего тем, что изобрел Паскаль, влиятельный язык программирования, который он изобрел в конце 1960-х годов, а также его потомков Modula и Modula-2.До Паскаля он был одним из главных разработчиков первых языков Эйлера и Алгола W. В конце 1970-х годов Вирт возглавлял команды, которые разработали и внедрили компьютер Lilith и его преемника Ceres. Кроме того, он активно участвовал в разработке программного обеспечения для образовательных целей, включая Lola (язык описания оборудования, используемый для обучения цифровому проектированию на программируемых вентильных массивах — тип интегральной схемы, которую может программировать конечный пользователь) и PL / 0 (упрощенная форма Паскаля, используемая для обучения дизайну компиляторов).Начиная с 1980-х годов и по настоящее время, Вирт занимается разработкой семейства языков программирования общего назначения, известных как Oberon, а также одноименной операционной системы. Он получил A.M. Премия Тьюринга в 1984 году.

Академический сайт

Избранные книги | НАЙТИ КНИГИ НИКЛАУСА Э. ВИРТА НА AMAZON…

  • Систематическое программирование: введение (Прентис-Холл, 1973)
  • PASCAL: Руководство пользователя и отчет , в соавторстве с Кэтлин Дженсен (Springer, 1974; 3-е изд., 1985)
  • Алгоритмы + структуры данных = программы (Прентис-Холл, 1976)
  • Программирование на Модуле-2 (Springer-Verlag, 1982; 2-е изд., 1983)
  • Алгоритмы и структуры данных (Прентис-Холл, 1985)
  • Project Oberon: The Design of the Operating System and Compiler , в соавторстве с Юргом Гуткнехтом (ACM Press, 1992; новое, онлайн-изд., 2013)
  • Programming in Oberon: Steps Beyond Pascal and Modula , в соавторстве с Мартином Райзером (Addison-Wesley, 1992)
  • Проектирование цифровых схем: вводный учебник (Springer, 1995)
  • Конструкция компилятора (Addison-Wesley, 1996)

Эндрю С.Яо

Теория сложности вычислений, Анализ алгоритмов, принцип Яо, Криптография

Яо родился в Шанхае, Китай, в 1946 году. Его имя при рождении — Яо Чи-Чжи (латиница Уэйд-Джайлса) или Яо Ци-чжи (Пиньинь). Он имеет две докторские степени: одну по физике, присвоенную в 1972 году Гарвардским университетом, другую по информатике, присвоенную в 1975 году Иллинойским университетом в Урбана-Шампейн. В настоящее время он является профессором Института перспективных исследований Университета Цинхуа в Пекине, а также деканом Института междисциплинарных информационных наук (IIIS).Он также является заслуженным профессором по особым поручениям Китайского университета Гонконга.

Исследования Яо составили очень широкую сеть при очень высоком уровне теоретической строгости. Он проделал фундаментальную работу в области теории сложности вычислений, анализа алгоритмов, криптографических протоколов и сложности связи. В последние годы он сосредоточил свое внимание на новых областях вычислительной экономики и квантовых вычислений. Тем не менее, он, несомненно, по-прежнему наиболее известен своими более ранними работами в области теории сложности вычислений, особенно применительно к анализу рандомизированных алгоритмов и, следовательно, к генерации псевдослучайных чисел и криптографии.В частности, он использовал теорему о минимаксе — одну из основ теории игр, заложенную Джоном фон Нейманом в 1928 году — для доказательства того, что сейчас известно как принцип Яо. Этот принцип гласит, что ожидаемая стоимость рандомизированного алгоритма на входе наихудшего случая не лучше, чем случайное распределение вероятностей наихудшего случая детерминированного алгоритма, которое лучше всего работает для этого распределения. По сути, принцип Яо устанавливает эффективный метод нахождения нижней границы производительности любого заданного рандомизированного алгоритма.Яо выиграл A.M. Премия Тьюринга в 2000 году.

Академический сайт I

Академический сайт II

Академический сайт III

Избранные книги | НАЙТИ КНИГИ ЭНДРЮ С. ЯО НА AMAZON…

  • Вероятностные алгоритмы (Биркхойзер, 1991)

Компьютерные науки, B.S. | Технологический институт Флориды

Что такое степень по информатике?

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

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

Практический опыт

Студенты факультета информатики Флориды могут выбирать из множества подполей для получения степени информатики, в том числе:

  • Искусственный интеллект
  • Взаимодействие человека с компьютером
  • Архитектура компьютера
  • Графика
  • Базы данных
  • Операционные системы
  • Вычислительные науки

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

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

«Зачем нужно учиться на компьютерных науках в Технологическом университете Флориды? ”

Лучшие школы компьютерных наук, включая Florida Tech, имеют множество причин, чтобы выбрать степень в области компьютерных наук. Для Florida Tech причины начинаются с того, что наша программа занесена в список Fiske Guide «Инженерные / ведущие технические институты» и Parade Magazine «College A-List in Engineering».

Аккредитация

Программа бакалавриата по информатике аккредитована Комиссией по компьютерной аккредитации ABET, http: // www.abet.org. Дополнительную информацию можно найти на информационной странице отдела ABET.

Маленькие классы — индивидуальное внимание со стороны всемирно известных преподавателей

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

Преподаватели

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

Современное оборудование

Еще одна причина, по которой многие студенты предпочитают Florida Tech другим ведущим школам информатики, — это высокотехнологичное оборудование. Как показал анкетный опрос, проведенный за последние семь лет, поступающие первокурсники перечисляют современный инженерный комплекс F.W. Olin Engineering Complex как одну из трех основных причин, по которым они решили поступить в Florida Tech. Здесь вычислительные лаборатории предлагают передовые инструменты для обучения и исследований студентов. В отличие от других ведущих школ компьютерных наук, которые вы можете рассмотреть, компьютеры в Florida Tech обновляются каждые три года, чтобы на них всегда можно было запускать самое современное программное обеспечение, а полный набор инструментов разработки программного обеспечения доступен всем бесплатно. студенты информатики.

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

Расположен в самом сердце коридора высоких технологий Флориды

Florida Tech — идеальное место для получения степени по информатике. Кампус площадью 130 акров расположен на Космическом побережье (названном так из-за присутствия НАСА и Космического центра Кеннеди на мысе Канаверал к северу от нас), в нескольких минутах от лагуны Индиан-Ривер, самого разнообразного устья в Северной Америке.

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

Florida Tech находится прямо над дорогой от Атлантического океана с его 72 милями прекрасных пляжей и недалеко от парка Флорида-Кис или тематических парков Орландо. У нас также есть богатая жизнь в кампусе, которая включает в себя широкий спектр очных и университетских видов спорта, клубов и общественных мероприятий.

Построение прочных профессиональных отношений через организации университетского городка

Помимо учебы, студенты, получившие степень в области информатики, развивают лидерские качества и профессиональный опыт благодаря увлекательному участию в академических организациях, таких как Upsilon Pi Epsilon (общество чести информатики), студенческое самоуправление или более 100 других студенческих организаций.

За пределами классной комнаты студенты присоединяются к студенческому отделению Association for Computing Machinery (ACM), профессиональной студенческой организации, которая поощряет членов к сотрудничеству с другими учеными-компьютерщиками со всей страны.ACM также проводит семинары и «CS Fest» для повышения интереса к этой области. Вы также можете принять участие в ежегодном международном студенческом чемпионате ACM по программированию. В последнее десятилетие команды программистов стабильно входят в десятку лучших в юго-восточном регионе. Флоридский технологический институт пять раз выходил в мировые финалы за последние 15 лет в том, что также называют «битвой умов», потому что он объединяет лучших студентов, решающих проблемы со всего мира.

Члены отделения Института инженеров по электротехнике и электронике Флоридского технологического института (более известного как FIT-IEEE) подчеркивают важность образования, создания сетей, исследований и дружбы во время учебы.Они также участвуют в соревнованиях по робототехнике и других командных проектах.

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

«Как степень по информатике подготовит меня к будущему? ”

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

Бесподобные возможности для учебы и стажировки

Стажировки по информатике — это практический способ, которым студенты Флоридского технологического института взаимодействуют с профессионалами в выбранной ими области карьеры. Эта ценная возможность обучения развивает навыки и позволяет составить высококонкурентное резюме, которое готовит студентов к будущему. Ведущие компании сотрудничают с Florida Tech, предлагая стажировки по информатике, в том числе:

  • Harris Corp.
  • Microsoft
  • НАСА
  • Нортроп Грумман

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

Примите участие в передовых исследованиях под руководством преподавателей

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

  • Компьютерная безопасность
  • Интеллектуальные системы
  • Компьютерное зрение
  • Комплексные сети
  • Распределенные переговоры

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

Подобные исследовательские возможности позволяют студентам Florida Tech накопить практический опыт в своей области до окончания учебы. Студенты также могут проводить исследования во время стажировки по информатике.

«Что вы можете сделать со степенью в области информатики? ”


Как могла бы выглядеть моя карьера со степенью в области компьютерных наук, Б.С.?

Узнайте о своих карьерных возможностях!

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

Получить работу по окончании школы

Студенты, получившие диплом в области компьютерных наук, находят карьеру в области компьютерных наук во всех секторах экономики и продолжают работать в:

  • Electronic Arts (EA Games)
  • General Electric
  • Google
  • л.с.
  • Microsoft
  • Mozilla
  • NSA
  • Zynga
  • IBM
  • Техасские инструменты

Перспективы карьеры

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

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

Другие варианты карьеры

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

.

  • Разработчик и разработчик программного обеспечения
  • Специалист компьютерной поддержки
  • Аналитик компьютерных систем
  • Программист
  • Администратор базы данных
  • Менеджер компьютерных и информационных систем
  • Аналитик по информационной безопасности
  • Веб-разработчик
  • Архитектор компьютерных сетей
  • Сетевой администратор

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

После получения степени по информатике многие из наших студентов поступают в аспирантуру в такие университеты, как Florida Tech, Brown University, Johns Hopkins, UCLA и University of Florida.

Студенты, заинтересованные в получении ученой степени в области компьютерных наук в Технологическом институте Флориды, прежде чем выбрать карьеру в области компьютерных наук, продолжили изучение таких областей, как:

  • Разработка базы данных
  • Компьютерное зрение
  • Биоинформатика
  • Компьютерная графика
  • Сети
  • Управление информацией

информатика | Определение, поля и факты

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

Популярные вопросы

Что такое информатика?

Кто самые известные компьютерные ученые?

Что можно делать с информатикой?

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

Как изучать информатику?

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

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

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

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

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

Получите подписку Britannica Premium и получите доступ к эксклюзивному контенту.
Подпишись сейчас

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

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

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

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

Алан М. Тьюринг, 1951.

Science History Images / Alamy

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

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

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

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

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

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

графический интерфейс пользователя

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

Предоставлено Xerox

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

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

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

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

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

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

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

  • Алгоритмы и сложность

  • Архитектура и организация

  • Вычислительные науки

  • Графика и визуальные вычисления

  • Человеко-компьютерное взаимодействие

  • Управление информацией

  • Интеллектуальные системы

    Сеть и связь

  • Операционные системы

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

  • Платформенная разработка

  • Языки программирования

  • Обеспечение безопасности и информации

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

  • Социальные и профессиональные вопросы

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

Penn State Engineering: EECS — B.S. в области компьютерных наук

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

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

В частности, в течение нескольких лет после окончания учебы выпускники информатики должны уметь:

  1. Применяйте соответствующую теорию, практику и инструменты для спецификации, проектирования, реализации, сопровождения и оценки как больших, так и малых программных систем.
  2. Работа в группах по разработке, внедрению и / или поддержке компонентов компьютерных программных систем.
  3. Будьте в курсе с помощью профессиональных конференций, программ получения сертификатов, программ получения степени бакалавра или другой профессиональной образовательной деятельности.

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

  1. Анализировать сложную вычислительную проблему и применять принципы вычислений и других соответствующих дисциплин для поиска решений.
  2. Спроектировать, внедрить и оценить вычислительное решение для удовлетворения заданного набора вычислительных требований в контексте дисциплины программы.
  3. Эффективно общаться в различных профессиональных контекстах.
  4. Признавать профессиональную ответственность и выносить обоснованные суждения в компьютерной практике на основе юридических и этических принципов.
  5. Действовать эффективно в качестве члена или руководителя группы, занятой деятельностью, соответствующей дисциплине программы.
  6. Применять теорию информатики и основы разработки программного обеспечения для создания компьютерных решений.

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

Для работы во многих штатах и ​​территориях США требуется профессиональная лицензия / сертификация.Если вы планируете продолжить работу по лицензированной профессии после завершения этой программы, посетите интерактивную карту «Раскрытие информации о профессиональных лицензиях / сертификатах по штату».

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

Описание всех курсов по информатике можно найти в LionPATH.

Семестр 1 (16 кредитов)
  • MATH 140 или 140E GQ (Расчет I)
  • CMPSC 121 GQ (Введение в технологию программирования)
  • ENGL 15 или 30 GWS (Rhetoric & Comp.)
  • GA, GH или GS курс
  • GA, GH или GS курс
Семестр 2 (15 кредитов)
  • MATH 141 или 141E GQ (Calculus II)
  • PHYS 211 (Механика)
  • CMPSC 122 (промежуточное программирование)
  • GA, GH или GS курс
  • Первый год семинара
Семестр 3 (16 кредитов)
  • CMPSC 221 (ООП с веб-приложениями)
  • MATH 230 (Исчисление III)
  • MATH 220 (Матрицы)
  • PHYS 212 (Электричество и магнетизм)
  • CAS 100 A / B (эффективная речь)
Семестр 4 (14-15 кредитов)
  • CMPEN 271 (Введение в цифровые системы)
  • Естественные науки (GN)
  • GA, GH или GS курс
  • ENGL 202C GWS (Техническое написание)
  • CMPSC 311 (Системное программирование)
Семестр 5 (16 кредитов)
  • CMPEN 331 (Сост.Организация и дизайн)
  • CMPSC 360 (дискретная математика для CMPSC)
  • GA, GH или GS курс
  • STAT 318 (элементарная вероятность)
  • Иностранный язык (уровень 002)
Semster 6 (15 кредитов)
  • CMPSC 465 (структуры данных и алгоритмы)
  • CMPSC 473 (Операционные системы)
  • STAT 319 (Прикладная статистика в науке)
  • CMPSC Компьютерные науки факультатив
  • GA, GH или GS курс
Семестр 7 (17.5 кредитов)
  • CMPSC 483W или CMPSC 431W
  • CMPSC 464 (Введение в теорию вычислений)
  • Список факультетов (Общий факультатив)
  • Список факультетов (Общий факультатив)
  • Вспомогательный курс
  • Здоровье и физическая активность (ГСГ)
Семестр 8 (16,5 кредитов)
  • CMPSC 461 (Язык программирования)
  • Список факультетов (Общий факультатив)
  • Вспомогательный курс
  • CMPSC Компьютерные науки факультатив
  • CMPSC / CMPEN 400-уровневая
  • Здоровье и физическая активность (ГСГ)

Печатные копии справочника по информатике для бакалавров можно найти в W209 Westgate.

Учебный план и список курсов

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

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

Согласно политике CU, студентам, изучающим прикладную информатику, запрещено проходить курсы на территории кампуса.

Обязательные курсы

Номер курса Название курса Кредитные часы
CSPB 1300 Информатика 1: Начало вычислений 4
CSPB 2270 Информатика 2: структуры данных 4
CSPB 2400 Компьютерные системы 4
CSPB 2824 Дискретные конструкции 3
CSPB 3104 Алгоритмы 4
CSPB 3155 Принципы языков программирования 4
CSPB 3308 Методы и инструменты разработки программного обеспечения 3

Курсы по выбору

Номер курса Название курса Кредитные часы
CSPB 2820 Линейная алгебра с приложениями информатики 3
CSPB 3022 Введение в науку о данных с вероятностью и статистикой 3
CSPB 3202 Введение в искусственный интеллект 3
CSPB 3287 Проектирование и анализ информационных систем 3
CSPB 3403 Введение в кибербезопасность для конвергентного мира 4
CSPB 3702 Когнитивные науки 3
CSPB 3753 Проектирование и анализ операционных систем 4
CSPB 4122 Визуализация информации 3
CSPB 4502 Интеллектуальный анализ данных 3

.