Обзорные лекции по прикладной информатике

Однажды студенты спросили меня, нет ли у меня какого-нибудь самого основного, самого элементарного вводного курса, который бы разъяснял «на пальцах» для «чайников» какие-то базовые вопросы информационных технологий. Я был удивлен этому вопросу, поскольку всегда считал, что базовые сведения по информатике современные студенты получают еще в школе. Однако из дальнейшего разговора со студентами оказалось, что это не совсем так.
В школе действительно преподают предмет, который называется «информатика», однако в нем не дают общих базовых представлений о компьютерной технике, а в большинстве случаев пытаются сразу давать какие-то прикладные технологии вроде С++, pascal, HTML или MS Office. А вот самые базовые вещи, которые лежат в основе понимания любой IT-технологии почему-то упускают, или поясняют крайне невнятно. Это похоже на попытку построить каменный замок на песке. Я подумал, что наверное неплохо было бы создать такой курс, в который можно было бы собрать различные околокомпьютерные вопросы, важные для начального понимания информационных технологий, но при этом без непосредственного обращения к самому программированию. Студенты на занятиях довольно часто задают вопросы из этой серии, иногда приходится давать очень сжатые и краткие ответы, поскольку время на занятиях отведено под изучение конкретной технологии и если я буду на занятиях по технологии программирования рассматривать какие-то азы, то остальные более подготовленные студенты меня просто не поймут и сочтут, что я трачу время занятия впустую.
Поэтому я написал этот курс, который не является
курсом информатики в полном смысле, но содержит в себе какие-то базовые элементы информатики, которые должен знать
каждый программист. Это что-то вроде введения в специальность. В этом курсе я отвечаю на такие, к примеру, вопросы,
как «Почему программисты 90-х годов программировали лучще, чем современные»,
«Как самому купить запчасти чтобы тебя не обманули продавцы и собрать себе производительную и надежную машину»,
«Что такое мышление квадратиками и зачем оно нужно программисту»,
«Почему в объявлениях о найме программистов пишут «отсутствие дресс-кода»», «как оборудовать себе удобное рабочее место»
и многие другие вопросы. Прослушав лекции из этого курса каждый начинающий сможет определенно решить для себя,
нужно ли ему развиваться дальше в этой области или эта специальность не для него.
Можно считать этот курс введением в специальность программиста. Надеюсь он будет вам полезен.

Тематика лекций
Тема 1: История компьютерной техники
Общие тенденции развития. С чего все начиналось. Профориентация. Специализации программистов. Общее описание языков программирования. Сферы применения различных ЯП. Обзор современного рынка труда.
01. История развития компьютерной техники
Тема 2: Архитектура ПК
Машина Поста. Архитектура Фон-Неймана. Кибернетика и концепция «Черного ящика». Понятие об иерархическом построении компьютернях систем. Драйвера, операционные системы. Общие принципы построения операционных систем.
02. Архитектура персонального компьютера
Тема 3: Как собрать себе компьютер. Покупка и апгрейд
Обзор компонентов. Важнейшие характеристики. На что обращать внимание. Рабочее место программиста. Стиль рабочей одежды представителей субкультуры.
03. Как собрать себе компьютер. Покупка и апгрейд
Тема 4: Основы информатики
Компьютерные исчисления. Разрядность системной шины. 32-х битные и 64-х битные машины. Таблицы истинности. Основные логические элементы
Тема 5: Пользовательские навыки
Основы работы с командной строкой. Стандартный виндусовский интерфейс. Понятие стека разработки. Базовый набор программ для рабочего места программиста. Поисковики и правильные запросы. Поиск информации в интернете. Основной цикл разработки программ. Тестирование кода и виртуальные машины.
Тема 6: Понятие об алгоритмах и протоколах
Блок-схемы алгоритмов. Понятие о конечных автоматах. Различие между алгоритмом и протоколом. Модель OSI. Критерии безопасности протоколов и алгоритмов. Три составляющих программистского мышления.
Тема 7: Основы компьютерной безопасности
Различие между аутентификацией и идентификацией. Базовые схемы аутентификации и построение защищенных компьютерных программ. Безопасность платежных систем.