Брукшир дж гленн введение в компьютерные науки общий обзор
Эта книга представляет собой вводный или базовый курс по компьютерным наукам, который уже много лет читается в университетах США и других стран. Испытание временем, которое она успешно выдержала, свидетельствует о широте охвата и качестве изложения представленного в ней материала. Несмотря на бурные темпы развития этой области знаний, автор данного курса постоянно поддерживает его актуальность, с каждым новым изданием обновляя излагаемый материал и пополняя перечень освещаемых в нем аспектов компьютерных наук.Благодаря полноте и доходчивости изложения материала, не требующего никакой специальной подготовки, эта книга может быть полезна всем - как будущим профессионалам в области вычислительной техники, так и самому широкому кругу иных специалистов, нуждающихся в приобретении основ компьютерной грамотности.
формат 70x100/16; 2001, 3 кв.; Вильямс.
Понравилась книга? Порекомендуйте её друзьям и коллегам:
-
, Томас Х. Кормен , Генри С. Уоррен , Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн , Дональд Эрвин Кнут , Роберт Седжвик, Кевин Уэйн , Альфред В. Ахо, Моника С. Лам, Рави Сети, Джеффри Д. Ульман , Джон Хопкрофт, Раджив Мотвани, Джеффри Ульман , Александр Степанов, Пол Мак-Джонс , Роберт Седжвик , Рональд Л. Грэхем, Дональд Э. Кнут, Орен Паташник , Лешек А. Мацяшек , Гради Буч, Роберт А. Максимчук, Майкл У. Энгл, Бобби Дж. Янг, Джим Коналлен, Келли А. Хьюстон , Ананий В. Левитин , Билл Смит , Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн , Хемди А, Таха , Иван Братко , Генри С. Уоррен, мл. , Альфред Ахо, Джон Хопкрофт, Джеффри Ульман , Дональд Э. Кнут , Дональд Э. Кнут , Дональд Э. Кнут
О КОМПЬЮТЕРНЫХ НАУКАХ
Преподавателю
Объем материала этой книги превосходит тот, который может быть изучен за один семестр, поэтому не бойтесь пропускать темы, которые не соответствуют задачам вашего курса. Я написал книгу для того, чтобы она служила основой для проведения курса обучения, а не определяла его содержание. Несмотря на то что изложение материала следует определенной схеме, каждая из тем подается в независимой манере, что позволит вам сделать выбор в соответствии с вашими вкусами. В начале каждой из глав звездочками отмечены те разделы, которые я считаю факультативными, однако желание навязать вам свое мнение не входило в мои намерения. Я также предлагаю рассматривать некоторые темы как задания для домашнего чтения. Мне кажется, что зачастую мы недооцениваем студентов, когда считаем необходимым объяснять абсолютно все непосредственно на занятиях. Я часто задаю моим студентам целую главу для чтения на дом, а затем использую время занятий для того, чтобы разъяснить определенные вопросы или подробно осветить некоторые части текста, исходя из собственного опыта.
Я уже указывал, что книга построена по восходящему принципу, от конкретного к абстрактному, однако позвольте мне остановиться на этом подробнее. Как ученые мы слишком часто полагаем, что студенты непременно оценят наш подход к предмету, который вырабатывался нами на протяжении многих лет работы в этой области. Однако как преподаватели мы поступим лучше, если будем подавать материал, ориентируясь на точку зрения студента. Именно поэтому книга начинается с освещения темы представления и хранения данных, которая выбрана мною в качестве отправной точки для изложения последующего материала. Современные студенты уже знакомы с магнитными дисками, модемами, компакт-дисками, и я обнаружил, что они проявляют интерес к тому, как эти устройства работают. Я часто наблюдал, как они находят ответы на многие свои "почему?", после чего начинают воспринимать этот курс скорее как практический, нежели как теоретический. После такого начала книга естественно подходит к раскрытию вопросов о программном обеспечении, которое контролирует эти устройства. Далее рассматривается, как можно разработать собственное программное обеспечение. Затем обсуждение переходит к таким абстрактным вопросам, как разработка алгоритмов, способ представления функций, а также сложность, что и является основным содержанием большинства традиционных вводных компьютерных курсов.
Всем нам известно, что студенты познают гораздо больше того, чему мы их обучаем, и те знания, которые они получают окольным путем, зачастую воспринимаются лучше, чем те, которые подаются им непосредственно. Эта особенность становится особенно важной, когда приходит время "учить" решать задачи. Студенты не учатся решать проблемы как отдельную дисциплину путем изучения методологий по решению задач. Они учатся справляться с проблемами, решая их. Поэтому по всему тексту книги я включил многочисленные задания. Я настоятельно рекомендую вам использовать их и подробно пояснять методы их решения.
Еще одна тема, которую я отнес к этой же категории, — это профессионализм, этика и социальная ответственность. Я не считаю, что подобный материал может быть представлен как отдельный предмет. Напротив, он должен выходить на поверхность там, где это уместно, и именно такой подход выбран в данной книге. В частности, в разделы 0.5, 3.7, 6.1, 10.1 и 10.7 включены такие темы, как безопасность, конфиденциальность, ответственность, социальные аспекты, обсуждаемые в контексте работы в сети, использование баз данных, разработка программного обеспечения и применение искусственного интеллекта. Кроме того, каждая глава включает ряд вопросов (раздел "Общественные и социальные вопросы"), побуждающих студентов к размышлениям об отношении представленного в книге материала к жизни того общества, частью которого они являются.
Структура книги
Материал книги упорядочен в соответствии с восходящим подходом, предусматривающим переход от конкретного к абстрактному. Именно такой способ изложения обеспечивает ясную и доступную подачу материала, когда одна тема плавно переходит в другую. Часть I включает обсуждение вопросов, связанных с аппаратным обеспечением. Она начинается с объяснений, как информация представляется и записывается в машинах и как выбранные способы представления влияют на свойства этих машин (глава 1). Затем описывается, как машины обрабатывают данные с помощью программ на машинных языках (глава 2).
В части II обсуждаются вопросы, связанные с программным обеспечением, как функционирование машины координируется операционной системой и как это координирование может быть распространено на всю компьютерную сеть, а также на межсетевые взаимодействия (глава 3). На этой стадии обучения студенты получают информацию, необходимую для понимания принципов построения и функционирования типичной компьютерной системы. По сути, главы 1–3 могут использоваться как основа для краткого курса лекций "Что должен знать каждый грамотный пользователь компьютера".
В последующих главах этой части рассматриваются вопросы разработки программного обеспечения, включая разработку и анализ алгоритмов (глава 4), применение языков программирования и используемые ими парадигмы (глава 5), а также проектирование программного обеспечения (глава 6).
В части III детально рассматриваются темы, затронутые в предыдущей части, и обсуждается взаимосвязь между алгоритмами и построением структур хранения данных. В частности, здесь дано введение в теорию структур данных (глава 7), приводятся элементарные сведения о методах файлового хранения информации (глава 8) и представлен общий обзор систем баз данных (глава 9).
Курс достигает своей кульминации в части IV, включающей рассмотрение наиболее впечатляющих достижений в области вычислительной техники. Эта часть начинается с главы об искусственном интеллекте, в которой обсуждаются технологии создания вычислительных машин, способных к восприятию и проведению рассуждений (глава 10). Заканчивается данная часть рассмотрением ограничений, присущих алгоритмическим системам, и тех пределов, которые эти ограничения устанавливают в отношении возможностей вычислительных машин (глава 11).
Кроме того, существует ряд тем, которые красной нитью проходят через всю книгу. Первая — это то, что компьютерные науки являются весьма динамичной областью знания. Все рассматриваемые темы подаются в исторической перспективе, обсуждается достигнутый на данный момент уровень развития и указываются основные направления текущих исследований. Вторая тема состоит в пояснении значения абстрактных методов и способов применения различных абстрактных инструментов для управления уровнем сложности. Фактически даже само построение книги отвечает раскрытию этой темы за счет представления материала в порядке прогрессирующей абстракции — аппаратное оборудование предоставляет абстрактные инструменты, используемые системным программным обеспечением, а системное программное обеспечение, в свою очередь, предоставляет абстрактные инструменты, используемые прикладным программным обеспечением.
Студенту
Впервые я познакомился с областью компьютерных наук во время службы в военно-морских силах США, в конце 60-х – начале 70-х годов. (Я сознаю, что это признание старит меня в глазах читателя, однако и с вами это тоже когда-нибудь произойдет.) Большую часть всего срока службы я занимался тем, что содержал в исправности системное программное обеспечение компьютеров военно-морского флота, установленных в Лондоне. По окончании службы я вернулся к учебе и в 1975 году закончил аспирантуру. С тех пор я преподаю компьютерные науки и математику.
Многое изменилось за эти годы в компьютерных науках, однако многое осталось и неизменным. В частности, компьютерным наукам всегда была и по-прежнему присуща некоторая притягательная сила. В этой области знаний постоянно происходит множество увлекательных событий. Развитие и повсеместное распространение Internet, прогресс в области искусственного интеллекта, уникальные возможности сбора и распространения информации в неслыханных размерах — это только некоторые из аспектов, способных воздействовать на вашу жизнь. Вы живете в замечательном, изменяющемся мире, и вам предоставляется реальная возможность стать участником происходящих событий. Воспользуйтесь же ею! Чем больше вы узнаете, тем лучше будете подготовлены. Эта книга позволит вам заложить основу, но это отнюдь не предел. Прочтите ее, а потом совершенствуйтесь дальше и дальше. Одно из наиболее достойных качеств, которое вы можете развить в себе, — это умение учиться самостоятельно.
Отзывы к "Введение в компьютерные науки. Общий обзор":
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Замечания к шестому изданию
Несмотря на то что это издание имеет ту же структуру построения по главам, что и предыдущее, в него добавлены некоторые новые темы, а часть существовавших ранее удалена. Большинство предлагаемого материала было переработано в целях адекватного представления современного состояния в области компьютерных наук. Ниже приведен обзор основных изменений, которые были внесены в данное издание.
Тема сжатия данных была перенесена из главы 2 в новый раздел 1.8. Этот раздел также содержит сведения о программе LZ77 и методах представления изображений, включая обсуждение форматов GIF и JPEG. Материал по анализу алгоритмов, который раньше рассматривался в главе 11, был расширен и перемещен в главу 4 "Алгоритмы". Глава 4 стала более доступной для понимания после удаления обсуждения методов быстрой сортировки. В главу 5 "Языки программирования" был добавлен раздел 5.5, посвященный объектно-ориентированному программированию. Часть этого материала входила раньше в главу 7. Большая часть главы 6 "Технология разработки программного обеспечения" была полностью переписана. Теперь она включает введение в шаблоны проектирования и новый раздел по тестированию. В главе 7 "Структуры данных" появился новый раздел 7.7, содержащий сведения об использовании косвенной адресации на уровне машинных языков. Глава 8 "Файловые структуры" была полностью переписана в целях лучшего восприятия материала (за счет удаления излишних примеров по конкретным языкам программирования). Раздел 9.4 по объектно-ориентированным базам данных был переписан, и появился новый раздел 9.6, посвященный социальным аспектам использования технологии баз данных. В главу 10 "Искусственный интеллект" включены два новых раздела — 10.5 "Генетические алгоритмы" и 10.7 "Осмысливание последствий". Кроме того, прежние разделы 10.3, 10.4 и 10.5 были упрощены и объединены. В главу 11 "Теория вычислений" был добавлен раздел 11.6 "Криптография с использованием открытых ключей".
Помимо упомянутых выше изменений, я добавил в книгу некоторую изюминку, поместив в ее текст врезки, содержание которых позволяет лучше осознать связь излагаемого материала с реальным миром. Многие из этих врезок содержат ссылки на источники в Internet, предоставляющие дополнительную информацию по обсуждаемой теме.
Введение в компьютерные науки. Общий обзор [2001] Гленн Брукшир
Эта книга – общее введение в область компьютерных наук Самое доходчивое и общедоступное изложение основных понятий всех дисциплин в области компьютерных наук и введения в компьютерные науки. Широта охвата материала действительно соответствует его названию. Ясность и последовательность изложения основ всех дисциплин сделали эту книгу ведущим учебником для множества учебных заведений.
При освещении различных тем автор учитывал их естественное родство, отказавшись от концепции изложения материала в контексте определенного языка программирования. В результате ему удалось добиться сбалансированного представления различных тем, не искаженного перекосами, связанными с особенностями того или иного языка. Более того, свойственный Гленну Брукширу, ясный и доходчивый стиль изложения позволил ему представить самые сложные темы на вполне доступном для неподготовленного читателя языке, избегнув при этом его чрезмерного упрощения и выхолащивания.
Эта книга будет полезна как будущим профессионалам в области компьютерных наук, так и самому широкому кругу специалистов в других областях науки, техники и бизнеса, нуждающихся в приобретении прочных основ компьютерной грамотности.
СОДЕРЖАНИЕ
Глава нулевая. Введение
0.1. Знакомство с алгоритмами
0.2. Происхождение вычислительных машин
0.3. Эволюция компьютерных наук
0.4. Роль абстракции
0.5. Этические, социальные и правовые аспекты
Социальные и общественные вопросы
Рекомендуемая литература
Архитектура машин
Глава первая. Хранение данных
1.1. Хранение битов
1.2. Основная память
1.3. Массовая память
1.4. Представление информации в виде комбинации двоичных разрядов
1.5. Двоичная система счисления
1.6. Представление целых чисел
1.7. Представление дробных значений
1.8. Сжатие данных
1.9. Ошибки при передаче информации
Упражнения
Общественные и социальные вопросы
Рекомендуемая литература
Дополнительная литература
Глава вторая. Обработка данных
2.1. Центральный процессор
2.2. Концепция хранимой программы
2.3. Выполнение программы
2.4. Арифметические и логические команды
2.5. Взаимодействие с другими устройствами
2.6. Другие типы архитектуры компьютеров .
Программное обеспечение
Глава третья. Операционные системы и сети
3.1. Эволюция операционных систем
3.2. Архитектура операционных систем
3.3. Координация действий машины
3.4. Организация конкуренции между процессами
3.5. Сети
3.6. Сетевые протоколы
3.7. Безопасность .
Глава четвертая. Алгоритмы
4.1. Понятие алгоритма
4.2. Представление алгоритма
4.3. Создание алгоритма
4.4. Итерационные структуры
4.5. Рекурсивные структуры
4.6. Эффективность и правильность .
Глава пятая. Языки программирования
5.1. Исторический обзор
5.2. Концепции традиционного программирования
5.3. Процедуры и функции
5.4. Реализация языка
5.5. Объектно-ориентированное программирование
5.6. Программирование параллельных процессов
5.7. Декларативное программирование .
Глава шестая. Технология разработки программного обеспечения
6.1. Предмет технологии разработки программного обеспечения
6.2. Жизненный цикл программного обеспечения
6.3. Модульность
6.4. Методы проектирования
6.5. Тестирование
6.6. Документирование
6.7. Право собственности и ответственность за создаваемое программное обеспечение .
Организация данных
Глава седьмая. Структуры данных
7.1. Массивы
7.2. Списки
7.3. Стеки
7.4. Очереди
7.5. Древовидные структуры
7.6. Специализированные типы данных
7.7. Указатели в машинном языке .
Глава восьмая. Файловые структуры
8.1. Роль операционной системы
8.2. Последовательные файлы
8.3. Текстовые файлы
8.4. Индексация
8.5. Хеширование .
Глава девятая. Структуры баз данных
9.1. Общие понятия
9.2. Многоуровневый подход к реализации баз данных
9.3. Реляционная модель
9.4. Объектно-ориентированные базы данных
9.5. Обеспечение целостности баз данных
9.6. Влияние технологий баз данных на общество .
Потенциал алгоритмических машин
Глава десятая. Искусственный интеллект
10.1. Машины и интеллект
10.2. Распознавание изображений
10.3. Способность к рассуждению
10.4. Искусственные нейронные сети
10.5. Генетические алгоритмы
10.6. Приложения теории искусственного интеллекта
10.7. Осмысливание последствий .
Глава одиннадцатая. Теория вычислений
11.1. Простейший язык программирования
11.2. Машины Тьюринга
11.3. Вычислимые функции
11.4. Невычислимые функции
11.5. Сложность задач
11.6. Криптография с использованием открытых ключей.
Приложения
Приложение А. Код ASCII
Приложение Б. Электронные схемы обработки чисел в двоичном дополнительном коде
Приложение В. Пример типичного машинного языка
- Архитектура машины
- Машинный язык
Приложение Г. Примеры программ
- Язык Ada
- Язык С
- Язык C++
- Язык FORTRAN
- Язык JAVA
- Язык PASCAL
Приложение Д. Эквивалентность итеративных и рекурсивных структур
Приложение Е. Ответы на вопросы для самопроверки
СОДЕРЖАНИЕ
Глава нулевая. Введение.
Знакомство с алгоритмами.
Происхождение вычислительных машин.
Эволюция компьютерных наук.
Роль абстракции.
Этические, социальные и правовые аспекты.
Социальные и общественные вопросы.
Рекомендуемая литература.
Архитектура машин
Глава первая. Хранение данных.
Хранение битов.
Основная память.
Массовая память.
Представление информации в виде комбинации двоичных разрядов.
Двоичная система счисления.
Представление целых чисел.
Представление дробных значений.
Сжатие данных.
Ошибки при передаче информации.
Упражнения.
Общественные и социальные вопросы.
Рекомендуемая литература.
Дополнительная литература.
Глава вторая. Обработка данных.
Центральный процессор.
Концепция хранимой программы.
Выполнение программы.
Арифметические и логические команды.
Взаимодействие с другими устройствами.
Другие типы архитектуры компьютеров.
Программное обеспечение.
Глава третья. Операционные системы и сети.
Эволюция операционных систем.
Архитектура операционных систем.
Координация действий машины.
Организация конкуренции между процессами.
Сети. Сетевые протоколы.
Безопасность.
Глава четвертая. Алгоритмы.
Понятие алгоритма.
Представление алгоритма.
Создание алгоритма.
Итерационные структуры.
Рекурсивные структуры.
Эффективность и правильность.
Глава пятая. Языки программирования.
Исторический обзор.
Концепции традиционного программирования.
Процедуры и функции.
Реализация языка.
Объектно-ориентированное программирование.
Программирование параллельных процессов.
Декларативное программирование.
Глава шестая. Технология разработки программного обеспечения.
Предмет технологии разработки программного обеспечения.
Жизненный цикл программного обеспечения.
Модульность.
Методы проектирования.
Тестирование.
Документирование.
Право собственности и ответственность за создаваемое программное обеспечение.
Организация данных.
Глава седьмая. Структуры данных.
Массивы.
Списки.
Стеки.
Очереди.
Древовидные структуры.
Специализированные типы данных.
Указатели в машинном языке.
Глава восьмая. Файловые структуры.
Роль операционной системы.
Последовательные файлы.
Текстовые файлы.
Индексация.
Хеширование.
Глава девятая. Структуры баз данных.
Общие понятия.
Многоуровневый подход к реализации баз данных.
Реляционная модель.
Объектно-ориентированные базы данных.
Обеспечение целостности баз данных.
Влияние технологий баз данных на общество.
Потенциал алгоритмических машин.
Глава десятая. Искусственный интеллект.
Машины и интеллект.
Распознавание изображений.
Способность к рассуждению.
Искусственные нейронные сети.
Генетические алгоритмы.
Приложения теории искусственного интеллекта.
Осмысливание последствий.
Глава одиннадцатая. Теория вычислений.
Простейший язык программирования.
Машины Тьюринга.
Вычислимые функции.
Невычислимые функции.
Сложность задач.
Криптография с использованием открытых ключей.
Приложения.
Приложение А. Код ASCII.
Приложение Б. Электронные схемы обработки чисел в двоичном дополнительном коде.
Приложение В. Пример типичного машинного языка.
- Архитектура машины
- Машинный язык
Приложение Г. Примеры программ.
- Язык Ada
- Язык С
- Язык C++
- Язык FORTRAN
- Язык JAVA
- Язык PASCAL
Приложение Д. Эквивалентность итеративных и рекурсивных структур.
Приложение Е. Ответы на вопросы для самопроверки.
Основные положения этой издательской программы были описаны в моей статье «О КОМПЬЮТЕРНЫХ НАУКАХ», впервые опубликованной в книге Гленна Брукшира «Введение в компьютерные науки» (11-13 стр.) в 2001 году
Эта программа частично была приостановлена в 1998 году из-за финансового кризиса в России
Единственный издательский проект из этой программы не был остановлен - это многотомник Дональда Кнута «Искусство программирования» и некоторые другие проекты («Введение в системы баз данных» Дейта и «Компиляторы» Ахо,Сети,Ульмана)
Многотомник Дональда Кнута |
В 1999 году книга «Искусство программирования» была признана одной из двенадцати лучших физико-математических монографий XX столетия
Термин Computer Science я сознательно перевёл в 1997 году как компьютерные науки (во множественном числе) исходя из предположения бурного роста этой области знаний в ближайшие десятилетия, и не ошибся(!). Чего стоят только успехи в развитии квантовых компьютеров, NoSQL БД, формирование науки о данных , просто впечатляющее развитие ИИ (машинное обучение, глубинное обучение, развитие теории нейронных сетей) и многих других разделов компьютерных наук
Далее следует текст оригинальной статьи «О КОМПЬЮТЕРНЫХ НАУКАХ» в книге Гленна Брукшира «Введение в компьютерные науки» (11-13 стр.), которая была мною написана в 1997 году и легла в основу программы издания книг по компьютерным наукам издательства «ДИАЛЕКТИКА»
_____________________________________
Компьютерные науки (Computer Science) — это ядро теоретических и практических знаний, которые используют в своей работе специалисты в области вычислительной техники, программирования, информационных систем и технологий. Как научная дисциплина компьютерные науки возникли в начале 40-х годов XX века в результате слияния теории алгоритмов и математической логики, а также изобретения электронных вычислительных машин. На протяжении полувековой истории компьютерных наук неоднократно возникали и исчезали те или иные направления. Но одним из наиболее важных разделов компьютерных наук остается теория, анализ, разработка, оценка эффективности, реализация и практическое применение алгоритмов
Чтобы применять основные результаты исследований в области компьютерных наук, необходимо обладать навыками в четырех основных направлениях: алгоритмическое мышление, представление информации, программирование и проектирование систем. Предметная область компьютерных наук в целом может быть разделена на две обширные подобласти. Первая из них включает изучение конкретных процессов обработки информации и связанные с ними вопросы представления данных. Вторая имеет отношение к структурам, механизмам и схемам обработки информации
Важнейшая цель обучения компьютерным наукам состоит в том, чтобы четко понимать отношения, существующие между прикладными приложениями и компьютерными системами. Компьютерные приложения делятся на две категории: числовые и нечисловые. В числовых приложениях доминирующими являются математические модели и числовые данные. В нечисловых приложениях информация представляется в виде символов и правил. Традиционно компьютерные науки имеют более тесные связи с математикой. Со своей стороны, компьютерные науки оказывают сильное влияние на математику
В настоящее время в области компьютерных наук обычно выделяют двенадцать основных разделов
Алгоритмы и структуры данных. Раздел теории алгоритмов включает теорию вычислимости, теорию вычислительной сложности, теорию параллельных вычислений (программирование параллельных процессов), теорию дедуктивных и реляционных баз данных, теорию распознавания образов, теорию алгоритмов, криптографию и многие другие направления
Языки программирования. Этот раздел компьютерных наук изучает системы обозначений, предназначенных для выполнения алгоритмов на виртуальных машинах, а также способы формальной записи самих алгоритмов и данных. Венцом достижений разработчиков стали программы, которые получают описание языка и автоматически создают компилятор для перевода программ с этого языка на машинный язык (например, программы YACC и LEX)
Архитектура компьютеров. Раздел теории архитектуры компьютеров включает цифровую логику, булеву алгебру, теорию кодирования и теорию конечных автоматов. К наиболее значительным достижениям в этой области компьютерных наук относятся модули выполнения арифметических операций, кэш-память, так называемые машины фон Неймана, RISC-компьютеры и CISC-компьютеры. Были разработаны эффективные методы записи и хранения информации, а также методы обнаружения и исправления ошибок, включая средства восстановления после отказов
Операционные системы и компьютерные сети. Этот раздел компьютерных наук связан с исследованиями механизмов управления, позволяющих эффективно координировать работу большого количества вычислительных ресурсов при проведении вычислений, распределенных по многочисленным компьютерным системам, объединенным в глобальные и локальные сети
Разработка программного обеспечения. Данный раздел компьютерных наук связан с созданием больших программных систем, которые должны удовлетворять заданным программным спецификациям, быть безопасными, защищенными, надежными и заслуживающими доверия пользователей
Базы данных и информационно-поисковые системы. Этот раздел компьютерных наук связан с организацией больших наборов постоянно сохраняемых и совместно используемых данных, допускающих их обновление и обеспечивающих эффективное выполнение запросов. Для изучения и разработки баз данных и информационно-поисковых систем применяются реляционная алгебра и реляционное исчисление, теория параллельной обработки данных, выполняемых с помощью транзакций
Искусственный интеллект и робототехника. Данный раздел компьютерных наук включает моделирование процессов познания мира животными и человеком с конечной целью создания компонентов машин, способных имитировать или усиливать их. Основные объекты изучения в этой области включают распознавание сенсорных сигналов, звуков, изображений и образов, обучение, процессы рассуждения при решении задач и планирования, а также понимание языков. Разработаны основные принципы проектирования систем искусственного интеллекта: логическое программирование; экспертные системы; методы и средства представления, хранения и использования знаний; прикладные системы, использующие естественный язык; синтезаторы речи и системы распознавания речи; роботы; генетические алгоритмы
Компьютерная графика. Компьютерная графика связана с процессами визуального представления реальных и виртуальных объектов, а также имитации их движений на двухмерном экране компьютера или в трехмерной голограмме. Она опирается на вычислительную геометрию и многие другие области науки
Взаимодействие человека и компьютера. Эта область компьютерных наук изучает вопросы эффективной координации действий и передачи информации между людьми и машинами (пользовательский интерфейс) с помощью различных датчиков и устройств, имитирующих деятельность человека, а также информационные структуры, которые отражают человеческие представления об окружающем мире
Вычислительная математика. Эта область компьютерных наук связана с проведением научных исследований, которые невозможно выполнить без высокопроизводительных вычислений и обмена данными
Деловая информатика. Данная область компьютерных наук изучает вопросы обмена информацией и создания программных систем, обеспечивающих работу организаций и координацию действий их сотрудников
Биоинформатика. Эта новейшая область компьютерных наук возникла в результате тесного взаимодействия вычислительной математики и биологических наук. Наиболее перспективные направления развития компьютерных наук связываются с вычислительной математикой, теорией познания, библиотековедением, деловой информатикой, биоинформатикой, организацией и управлением промышленным производством, архитектурой
Стать специалистом по современным информационным технологиям возможно только при условии комплексного изучения всех составных частей компьютерных наук. Прекрасным введением и хорошим источником информации о современном состоянии компьютерных наук является эта книга, представляющая собой популярный в США учебник для студентов высших учебных заведений и тех, кто занимается самообразованием
Назначение книги «Компьютерные науки. Базовый курс» - предоставить читателю всестороннее представление о предмете компьютерных наук (Computer Science), охватывающее все его аспекты, от сугубо практических до полностью абстрактных
Такой подход к изучению базовых понятий открывает студентам любых, необязательно компьютерных дисциплин всю широту предмета и позволяет получить общее представление о тех возможностях, которые доступны им в современном технократическом обществе
Изложение материала вкниге «Компьютерные науки. Базовый курс» ведется от простого к сложному, от конкретных аспектов к абстрактным и каждая рассматриваемая тема непосредственно подводит к следующей. Тем не менее, отдельные главы и разделы книги достаточно независимы и вполне могут рассматриваться как самостоятельные единицы
Важные достоинства книги - наличие около 1000 заданий и упражнений ( ! ), предназначенных для углубления и закрепления понимания основных излагаемых концепций, обсуждение этических и юридических аспектов рассматриваемых технологий, которые необходимо знать, чтобы использовать их безопасно и ответственно, а также подборки общественных и социальных вопросов, призывающих читателя задуматься о связях между излагаемым материалом и тем обществом, в котором они живут
Изюминкой 13-е издания книги «Компьютерные науки. Базовый курс» является переход к использованию языка Python для записи примеров кода и псевдокода, выдержанного в том же стиле
Книга «Искусственный интеллект для чайников» Джона Пола Мюллера и Лука Массарона поможет вам понять, что такое искусственный интеллект, как он должен работать и почему он терпел неудачи в прошлом
Вы также узнаете о причинах некоторых из проблем с искусственным интеллектом, а также о том, что сегодня их почти невозможно решить в некоторых случаях
В отличие от множества книг по этой теме, данная книга говорит вам правду о том, где и как искусственный интеллект не может работать, она развеет все мифы об искусственном интеллекте
Каждый вынесет из книги «Искусственный интеллект для чайников» то, что люди всегда будут важны. Фактически, искусственный интеллект делает людей еще более важными, причем такими способами, которые вы даже не могли бы вообразить
Оригинал книги: «Artificial Intelligence For Dummies», John Paul Mueller, Luca Massaron, 336 pages, ISBN 9781119467656, April 2018
P.S. Только Ваша активная позиция в столь непростое время будет способствовать появлению новых и нужных Вам книг. А также, способствовать повышению качества книг, издаваемых издательской группой «ДИАЛЕКТИКА-ВИЛЬЯМС»
____________________________________________
Ваши комментарии перед публикацией я просматриваю. Поэтому, я оставляю за собой право публиковать или нет комментарии с подписью Анонимный
Это издание представляет собой базовый курс по компьютерным наукам, который уже много лет читается в университетах США и других стран. Испытание временем, которое она успешно выдержала, свидетельствует о широте охвата и качестве изложения представленного вней материала. Несмотря на бурные темпы развития этой области знаний, автор данного курса постоянно поддерживает его актуальность, с каждым новым изданием обновляя излагаемый материал и пополняя перечень освещаемых в нем аспектов компьютерных наук.
Благодаря полноте и доходчивости изложения материала, не требующего никакой специальной подготовки, эта книга может быть полезна всем — как будущим профессионалам в области вычислительной техники, так и самому широкому кругу иных специалистов, нуждающихся в изучении основ компьютерной грамотности.
Широта охвата материала действительно соответствует его названию. Ясность и последовательность изложения основных дисциплин сделали эту книгу ведущим учебником для множества учебных заведений. При освещении различных тем автор учитывал их естественное родство, отказавшись от концепции изложения материала в контексте определенного языка программирования. В результате ему удалось добиться сбалансированного представления различных тем, не искаженного перекосами, связанными с особенностями того или иного языка. Более того, свойственный Гленну Брукширу, ясный и доходчивый стиль изложения позволил ему представить самые сложные темы на вполне доступном для неподготовленного читателя языке, избегнув при этом его чрезмерного упрощения и выхолащивания. Эта книга будет полезна как будущим профессионалам в области компьютерных наук, так и самому широкому кругу специалистов в других областях науки, техники и бизнеса, нуждающихся в приобретении прочных основ компьютерной грамотности.
Чтобы получить доступ к скрытой части статьи Введение в компьютерные науки. Общий обзор в формате книга, необходимо пройти упрощенную регистрацию или зайти под своим логином. Все материалы к статье "Введение в компьютерные науки. Общий обзор" взяты журналистом yunik77 из открытых источников в сети интернет в рекламных целях. После скачивания рекомендуем удалить материал с Вашего компьютера.
Если Вы автор "Введение в компьютерные науки. Общий обзор" и считаете необходимым убрать рекламу с нашего сайта, то сообщите нам об этом, мы обязательно выполним все Ваши требования.
Педагогические аспекты
Эта книга является плодом моей многолетней практики преподавания, благодаря чему она богата разнообразным педагогическим материалом. В частности, весьма существенным фактором является обилие поставленных задач, решение которых требует активного участия обучающихся. Каждый раздел главы заканчивается пунктом "Вопросы для самопроверки", назначение которого — стимулировать обучающихся к самостоятельному мышлению. С помощью предлагаемых задач закрепляется пройденный материал, приведенное выше обсуждение расширяется дополнительными аспектами и даются ссылки на связанный материал, рассмотрение которого будет проводиться позднее. Ответы на предлагаемые вопросы вынесены в приложение Е.
Более того, каждая глава (за исключением вступительной) заканчивается двумя группами задач. Первая включает подборку задач под заголовком "Упражнения", разработанных для использования в качестве "домашнего задания", поскольку они относятся к содержанию всей главы и в тексте прямо не рассматриваются. Вторая группа содержит вопросы под заголовком "Общественные и социальные вопросы", которые предназначены для обдумывания и обсуждения. Многие из этих вопросов могут быть использованы в качестве небольших заданий на проведение исследований, результаты которых должны быть представлены в виде письменных или устных отчетов.
Каждая глава завершается списком рекомендуемой литературы, включающим ссылки на материал, имеющий отношение к теме данной главы. Кроме того, хорошим источником дополнительной информации по каждой теме является Web-узел, речь о котором пойдет в следующем разделе.
Для студентов других дисциплин
Кроме того, эта книга разработана с учетом интересов учащихся других специальностей. Данный курс компьютерных наук позволит им заложить фундамент для понимания основ этой области наук в целом. Подобная база необходима всем студентам, чтобы научиться адаптироваться к тому техногенному обществу, в котором они живут, и в случае необходимости самостоятельно продолжить изучение этих наук, что на сегодняшний день очень важно. Поэтому данную книгу можно использовать в качестве учебника для ознакомительного курса компьютерных наук, рассчитанного на студентов различных естественных наук. После изучения данного курса студенты получат необходимые знания обо всех направлениях компьютерных наук, которые будут работать на них и в будущем.
Для будущих специалистов по компьютерным наукам и вычислительной технике
Первая категория читателей включает студентов начальных курсов, которые по окончании учебного заведения станут специалистами в области компьютерных наук и вычислительной техники. Как правило, на этом этапе обучения студенты склонны отождествлять весь спектр компьютерных наук с программированием и просмотром Web-страниц в Internet, поскольку это, в сущности, именно то, что они видели раньше и с чем им приходилось сталкиваться. Однако область компьютерных наук — это нечто существенно большее. Поэтому студентам необходимо продемонстрировать всю глубину и обширность той области знаний, к изучению которой они приступают и в которой планируют специализироваться. В предоставлении этой, столь необходимой им информации и состоит назначение данной книги. Она познакомит студентов с обзором всего спектра компьютерных наук, что создаст основу для правильной оценки различных курсов, которые им предстоит изучать впоследствии.
Web-узел
Предисловие
Данная книга представляет собой введение в область компьютерных наук. В ней сочетается необходимая широта обзора предмета с достаточно глубоким проникновением в сущность излагаемого материала. Я писал эту книгу для двух категорий читателей.
Читайте также: