Как разобраться в Computer Science самостоятельно
Для большинства программистов Computer Science — факультет в зарубежных вузах, целиком и полностью посвящённый программированию, математике и всему, что связано с разработкой программного обеспечения. К счастью, в современном мире необязательно инвестировать тысячи долларов и 4 года своей жизни в образование, ведь существует бесчисленное множество онлайн-курсов, книг и других ресурсов для изучения компьютерных наук.
Приводить сотни всевозможных материалов для программистов-самоучек мы не будем, а лишь попытаемся ответить на два главных вопроса:
- Какие дисциплины следует изучать и почему?
- Какие из доступных ресурсов, книг, серий лекций для конкретной дисциплины имеет смысл посмотреть?
В качестве ответа приведём список материалов, опубликованный Озаном Онай (Ozan Onay) и Майлзом Бёрном (Myles Byrne) — инструкторами в школе компьютерных наук Брэдфилда в Сан-Франциско. Данная подборка литературы и курсов основана на личном опыте обучения сотен программистов-самоучек.
«Программист-прагматик. Путь от подмастерья к мастеру». Эндрю Хант, Дэвид Томас
Находясь на переднем крае программирования, книга «Программист-прагматик» Эндрю Ханта и Дэвида Томаса абстрагируется от технических тонкостей разработки и рассказывает о сути процесса — о том, как создавать работоспособную и поддерживаемую программу, заранее понимая, с какими сложностями могут столкнуться разработчики.
По сути, авторы в своей книге рассказывают о базовых подходах, которыми должны пользоваться настоящие разработчики и благодаря которым можно как писать эффективный код и выполнять бизнес-задачи, так и взаимодействовать с другими инженерами и пользователями.
Карьера программиста
Автор: Г. Лакман Макдауэлл
Книга поможет подготовиться к собеседованию почти в любой IT-компании. Автор на примерах показывает, какие вопросы могут задать, в чём их особенность и как на них лучше отвечать. Особенно интересно почитать, чем отличается подход в маленьких и крупных компаниях и на что смотрят в каждой из них.
Если у вас скоро собеседование, а книгу прочитать вы не успеваете, прочитайте нашу статью про собеседования. Она не такая большая, но тоже полезная.
Глава 1
Общие сведения о персональном компьютере
Итак, что же представляет собой типичный персональный компьютер? Об этом, а также о многом другом рассказывается в первой главе книги.
1.1. Из чего состоит типичный ПК?
Ключевым элементом каждого ПК является системный блок. Именно он обеспечивает обработку и хранение всех необходимых пользователю данных. Системный блок состоит из целого ряда отдельных элементов, вкупе представляющих собой единое целое. Мы не будем подробно рассматривать каждый из них, поскольку цель книги – научить человека пользоваться компьютером, а не рассказать о его устройстве. Только подчеркнем, что в любой ПК включает в себя:
• жесткий диск (по-простому – «винчестер»);
• оперативное запоминающее устройство (ОЗУ; по-простому – «оперативка»);
Все эти элементы расположены внутри корпуса; без любого из них в принципе невозможна эксплуатация компьютера. Однако в системном блоке могут присутствовать и иные устройства: факс-модем, ТВ-тюнер, сетевая карта, и др. – здесь уже многое зависит от того, какие задачи решаются с помощью данного компьютера. Например, для просмотра телевизионных передач необходимо наличие ТВ-тюнера, для работы в Интернете – модема, и т. д.
Для хранения данных в компьютере предназначен жесткий диск. Но для этого вы можете использовать (а зачастую это и удобнее) и внешние носители – дискеты (которые, признаться, уже доживают свой век), CD и DVD-диски, «флэшки», и т. п. ИХ использование возможно при наличии в системном блоке соответствующих устройства: для дискет – дисковода, для дисков – CD– или DVD-ROM, и т. д. Иногда бывает полезно пользоваться так называемым «съемным винчестером» – например, чтобы не оставлять в компьютере много ценных или секретных данных, к которым не должны иметь доступ посторонние лица.
Помимо системного блока, компьютер включает в себя еще ряд необходимых технических средств – таких, как монитор, клавиатура, мышь и принтер.
Монитор по своему внешнему виду напоминает обычный телевизор. На его экран выводится результат протекающих в системном блоке процессов. Сегодня на рынке предлагается широкий ассортимент любых мониторов – как с электронно-лучевой трубкой – век которых, впрочем, уже заканчивается, так и жидкокристаллических. О том, как выбрать себе подходящий монитор и протестировать его, мы еще поговорим ниже.
Совет. Учтите, что выбор монитора – очень ответственный процесс. Постарайтесь перед этим получить консультацию специалистов либо хотя бы более опытных пользователей. Грамотный выбор монитора имеет важное значение для здоровья (в первую очередь глаз), а также для комфорта, поэтому данный вопрос заслуживает самого пристального внимания. Очень нежелательно покупать мониторы, уже побывавшие в употреблении.
Клавиатура представляет собой устройство, которое используется для ввода и вывода информации. Попросту говоря, с помощью клавиатуры пользователь задает команды компьютеру на выполнение тех или иных заданий (операций). Работать с клавиатурой просто даже новичкам; единственные сложности на начальных этапах связаны с тем, чтобы запомнить расположение клавиш и, соответственно – быстро найти требуемый символ.
Функции, которые выполняет компьютерный манипулятор «мышь», во многом сходны с функциями клавиатуры: в первую очередь это ввод и вывод информации. Кроме этого, целый ряд действий удобнее выполнять именно с помощью мыши.
Ключевыми элементами мыши являются ее кнопки. Левая кнопка предназначена для выполнения большинства наиболее распространенных действий (вызов пунктов меню, выделение текстовых фрагментов, и др.); что касается правой кнопки, то обычно с ее помощью вызываются команды контекстного меню.
Клавиатуры и мыши также широко представлены на рынке. Здесь и беспроводные, и оптические, и еще целый ряд разных моделей и вариантов исполнения. Выбирая клавиатуру и мышь, в первую очередь руководствуйтесь соображениями практичности – иначе вы рискуете потратить деньги за совершенно лишние «навороты».
Принтер – это печатающее устройство, с помощью которого отображающиеся на экране монитора данные выводятся на бумажный носитель. Принтер соединяется с компьютером так же, как монитор, клавиатура и мышь – с помощью кабеля, вставляемого в порт на задней панели системного блока. Сегодня на российском рынке представлены принтеры трех видов: матричные, струйные и лазерные.
Несомненный плюс матричных принтеров – это их относительно небольшая стоимость и простота в обслуживании. Главный недостаток – это издаваемый при печати шум, который часто становится причиной серьезного дискомфорта (особенно если в одном помещении эксплуатируется несколько матричных принтеров).
Струйные принтеры также отличаются невысокой стоимостью, но при этом они по сравнению со своими матричными «собратьями» отличаются лучшим качеством печати. Главный недостаток струйных принтеров – неоправданная дороговизна в обслуживании (цена нового картриджа иногда составляет более половины стоимости всего принтера).
Наиболее «современными» в наши дни принтерами являются лазерные. Они дешевле матричных и струйных, а качество печати лучше, причем цена технического обслуживания (в частности, заправки картриджа) вполне разумна.
Итак, с самыми важными элементами современного компьютера мы уже более-менее знакомы. Однако существуют также технические устройства, не являющиеся «жизненно важными», но необходимые для некоторых операций. Наиболее характерный пример – модем.
Это устройство предназначено для соединения компьютера с Интернетом. Модемы могут быть встроенными (то есть расположенными внутри системного блока), так и внешними, выполненными в виде отдельного устройства, подключаемого к компьютеру через кабель. Чтобы связь с Всемирной Паутиной была возможной, необходимо настроить подключение к Интернету (об этом мы поговорим ниже). Модем выполняет получение и отправку данных через Интернет.
Чтобы оперативно перенести информацию с бумажного носителя в компьютер, используется специальный прибор – сканер. Он позволяет не вводить с клавиатуры напечатанный на бумаге текст, и тем самым экономит массу времени. Кроме этого, возможности сканера дают возможность создать и распечатать документ, формирование которого традиционным способом нереально либо нецелесообразно.
1.2. Основные технические характеристики компьютера
Основными техническими характеристиками компьютера являются: объем жесткого диска, тактовая частота процессора и объем оперативной памяти. Конечно, это еще далеко не все параметры, имеющиеся у ПК, и свои показатели существуют, например, у модема, видеокарты, звуковой карты, и т. д. Однако именно эти три характеристики дают наиболее полное представление о конкретном компьютере, его быстродействии и способности удовлетворить потребности пользователя. Кратко рассмотрим каждый из них.
Что представляет собой объем жесткого диска, догадаться несложно: этот показатель характеризует емкость винчестера, и исходя из этого можно определить, сколько и какой информации можно хранить и обрабатывать на компьютере. Для работы большинства пользователей вполне подойдет жесткий диск, способный вместить от 80 до 160 Гб информации.
Тактовая частота процессора также имеет большое значение. Наряду с объемом оперативной памяти, этот показатель непосредственно влияет на быстродействие компьютера. Если вы не собираетесь играть на компьютере в мощные современные игры, заниматься сложной обработкой музыкальных файлов, видео, графики и т. п., то вам будет вполне достаточно частоты процессора 1,5–2 ГГц.
Но даже если на вашем компьютере используется винчестер большого объема и мощный процессор, а оперативной памяти недостаточно – возникнут проблемы с быстродействием. Средний объем ОЗУ, который вполне удовлетворит большинство пользователей – 1024 Мб.
Примечание. Приведенные здесь рекомендации являются условными и «усредненными»: кому-то нужен более мощный компьютер, а кто-то вполне удовлетворен вдвойне меньшими характеристиками. Многое зависит от того, для решения каких задач используется компьютер.
1.3. Основные правила работы на компьютере
Правила работы на персональном компьютере сформировались уже давно на основе многолетнего опыта эксплуатации ПК. Их должен знать каждый пользователь: это необходимо и для защиты компьютера от неприятностей, и для сохранности находящейся в нем информации.
1. На ПК надо обязательно установить надежную антивирусную программу. Даже если вы не пользуетесь Всемирной Паутиной, подцепить вирус всегда можно с чужого CD– или DVD-диска, из локальной сети, и т. д. Время от времени нужно полностью проверять компьютер на предмет обнаружения вредоносных программ.
2. Если вы выходите в Интернет, обязательно защищайте компьютер сетевым экраном (наверняка многие слышали такое слово – «файрволл»). Самый распространенный браузер Internet Explorer от компании Microsoft защищен штатным брандмауэром, но даже не самые «продвинутые» хакеры давно нашли в нем лазейки. Поэтому применяйте более надежную защиту (например, неплохой файрволл – Zone Alarm, причем он имеет и бесплатную версию, которую можно скачать из Сети).
3. Не экспериментируйте с содержимым системного блока. Если вам нужно как-то изменить конфигурацию компьютера – воспользуйтесь услугами профессионалов (либо, в крайнем случае, хотя бы получите у них исчерпывающую консультацию).
4. Обеспечьте стабильное бесперебойное электропитание. Учтите, что качество российской электроэнергии является далеко не самым лучшим (это наследство СССР – подобная проблема имеется во всех странах бывшего Союза), поэтому компьютер должен быть защищен от скачков напряжения, неожиданного отключения электроэнергии, и т. п. Сетевой фильтр необходимо приобрести в любом случае, а еще лучше – не пожалеть денег и купить источник бесперебойного питания.
5. Если компьютер сколько-то времени находился на холоде, то не включайте его сразу после того, как он оказался в теплом месте, а обязательно дайте ему постоять хотя бы 1,5–2 часа.
6. Не устанавливайте ПК там, где он может перегреться (возле батарей отопления, в зоне попадания прямых солнечных лучей, и т. п.).
7. Никогда не запускайте неожиданно возникшие на рабочем столе и незнакомые вам значки и ярлыки (о том, что такое рабочий стол, значок и ярлык мы поговорим ниже) – таким нехитрым способом часто распространяются вредоносные программы. Если вы обнаружили у себя нечто подобное – немедленно просканируйте компьютер хорошим антивирусом (обязательно – с обновленными и свежими антивирусными базами).
8. Отслеживайте температурный режим работы компонентов ПК. Все штатные вентиляторы должны работать, при выходе из строя какого-то из них его следует быстро починить или заменить исправным. Наблюдать за температурным режимом можно с помощью специальных утилит, которые можно найти в Интернете.
9. Старайтесь минимизировать попадание пыли в системный блок. Не все знают, что она может стать причиной перегрева компонентов компьютера, исчезновения контактов и иных подобных неполадок. Старайтесь не ставить системный блок на пол, так как на полу всегда много пыли. Время от времени (например, раз в полгода) чистите системный блок и удаляйте из него накопившийся мусор (для этого можно использовать пылесос).
10. Любой сеанс работы завершайте корректно, с использованием штатного режима завершения работы (об этом мы поговорим в следующем разделе).
Соблюдение перечисленных правил позволит существенно продлить жизнь вашему компьютеру и намного повысит его надежность.
1.4. Как правильно включать, выключать и перезагружать компьютер
Даже такие, на первый взгляд – несложные операции, как включение, выключение и перезагрузка компьютера, требуют от пользователя определенных знаний.
Например, включение компьютера (осуществляется нажатием соответствующей кнопки). Не все новички знают, что перед тем как это сделать, необходимо подключить к системному блоку все используемые устройства: монитор, мышь, клавиатуру, и др. Дело в том, что их распознавание компьютером происходит в процессе загрузки операционной системы. Поэтому, если вы вначале включите компьютер, и только после этого – подсоедините к нему мышь или клавиатуру, они могут остаться не распознанными, следовательно – их использование будет невозможным (вернее, придется перезагружаться).
Еще раз напомним, что категорически не рекомендуется включать компьютер в электрическую сеть напрямую, без «буфера» в виде сетевого фильтра или источника бесперебойного питания. Иначе малейший скачок напряжения приведет к поломке компьютера: может выйти из строя материнская плата, блок питания, и т. д. Как правило, ремонт в подобных случаях стоит немалых денег. Кроме этого, вы рискуете потерять данные.
Выключать компьютер нужно обязательно с использованием соответствующего штатного режима, предварительно закрыв все работающие программы и открытые документы. В меню Пуск нужно выбрать команду Выключение – в результате откроется окно, изображенное на рис. 1.1.
Рис. 1.1. Выключение системы
В данном окне нажмите кнопку Выключение и дождитесь завершения работы системы. Никаких кнопок после этого нажимать не нужно – компьютер выключится автоматически.
Необходимость перезагрузки компьютера возникает при установке или удалении некоторых программ, при возникновении проблем с быстродействием (попросту говоря, при «зависании»), а также в некоторых иных случаях. Перезагрузка осуществляется так же, как и выключение компьютера – с той разницей, что в окне (см. рис. 1.1) нужно нажимать кнопку не Выключение, а Перезагрузка.
Однако иногда компьютер зависает настолько, что даже меню Пуск не открывается. В этом случае перезагрузка инициируется нажатием специально предназначенной для этого кнопки, которая находится на системном блоке (на ней может быть надпись Reset).
Р. Джонсон, Д. Влиссидес, Р. Хелм, Э. Гамма “Паттерны объектно-ориентированного проектирования”
- Электронный вариант на litres.ru
- Печатный вариант на labirint.ru
- Печатный вариант на ozon.ru
Перед вами находится работа, которую называют культовой, ведь ее читают специалисты всего мира уже более 25 лет. За этот немалый срок публикация не потеряла своей актуальности. Каждый, кто желает попасть в сферу программирования и информационных технологий, должен ознакомиться с этой книгой.
После прочтения вы узнаете, что такое паттерны и какую роль они играют в архитектуре систем, как создать приложение и как применять описанные принципы.
Публикация доказывает свою полезность на практике. Текст написан простым языком, а материал отлично структурирован.
Д. Кнут «Искусство программирования»
Лучший способ в чем-то разобраться до конца — это попробовать научить этому компьютер.
Д. Кнут
Программист, у которого нет книги «Искусство программирования», как священнослужитель, у которого нет Библии. Монографию Дональда Кнута часто называют «Библией программиста». Она содержит подробное описание и анализ важнейших фундаментальных алгоритмов, используемых в информатике, а также множество практических задач для усвоения и закрепления представленного материала. Журнал American Scientist включил работу Кнута в список двенадцати лучших физико-математических монографий XX века наряду с работой Эйнштейна по теории относительности. Успех книги определило качество изложения и глубина анализа общих вопросов программирования.
Кнут начал работу над «Искусством программирования» еще в 1962 году. По замыслу автора монография должна состоять из семи томов. Пока было издано три первых тома, а также первая половина четвертого. Все изданные на сегодняшний день материалы составляют почти 3000 страниц. Читать книгу совсем не просто (как, впрочем, и Библию), главным образом потому, что все примеры рассматриваются на низкоуровневом языке программирования — ассемблере для гипотетического выдуманного автором компьютера MIX. Поэтому у программиста вряд ли получится использовать книгу в качестве набора готовых рецептов для решения конкретных задач. Эта книга дает программисту не рыбу, а скорее хорошую удочку, с помощью которой он сможет не без определенных усилий самостоятельно наловить рыбы.
Первый том посвящен основным алгоритмам и состоит из двух глав. Первая глава подготавливает читателя к работе над книгой. Здесь рассматриваются основные математические понятия и теоремы, на которых базируется весь материал. Читатель знакомится с «полиненасыщенным компьютером» MIX, его архитектурой и его языком ассемблера. Вторая глава посвящена информационным структурам и алгоритмам работы с ними. Здесь рассматриваются деревья, многосвязные структуры, линейные списки, в том числе стеки, очереди, деки, циклические и дважды связанные списки и прочее.
Второй том включает в себя третью и четвертую главы. Третья глава посвящена работе со случайными числами и последовательностями. В четвертой главе описываются вопросы арифметики, а именно различные виды систем счисления, арифметика чисел с плавающей точкой и рациональных чисел, полиномиальная арифметика и другое. Третий том посвящен алгоритмам сортировки и поиска (соответственно, главы 5 и 6). Из четвертого тома опубликованы материалы седьмой главы, описывающей вопросы комбинаторного поиска.
Исходя из планов автора, в четвертый том также войдет восьмая глава, в которой рассматриваются рекурсивные алгоритмы. Пятый том будет содержать материалы по синтаксическим алгоритмам, в том числе по лексикографическому и синтаксическому поиску. Ожидающие издания шестой и седьмой тома будут посвящены теории языков и компиляторам.
В своем отзыве о работе Кнута Билл Гейтс сказал: «Если вы считаете себя действительно хорошим программистом… прочитайте „Искусство программирования“ (Кнута)… Если вы сможете прочесть весь этот труд, то вам определенно следует отправить мне резюме». Цитата лишний раз подчеркивает, что, несмотря на сложность материала, настоящий профессионал обязательно должен осилить труд Дональда Эрвина Кнута «Искусство программирования».
«Панель задач» и меню «Пуск»
То, что вы изучаете компьютер самостоятельно – прекрасно. Но помощь никому и никогда не мешала. Наверняка вы уже заметили внизу рабочего стола узкую серую или синюю полосу со значками – это «Панель задач».
С её правой стороны располагается информационное табло, где отображаются уведомления системы, дата и время. А также кнопки для переключения языка (русский, английский), управления громкостью воспроизведения звука, индикатор сетевого подключения, индикатор заряда батареи (на ноутбуке) и другие. С левой стороны «Панели задач» расположена кнопка меню «Пуск», кнопка в виде лупы для поиска чего-либо в компьютере и значки для быстрого доступа к программам. Смотрите видео на эту тему.
Кнопка «Пуск» (может выглядеть как плывущее окошко) открывает доступ к главному меню операционной системы. В нём отображаются все установленные на ПК программы, из него можно перейти к параметрам компьютера, «Панели управления» или его выключению. Вы также можете управлять значками меню и настраивать их отображение для собственного удобства. Более подробно вы можете узнать о «Пуске» из этого видеоматериала.