как стартовать и куда двигаться? / Хабр
Бывает, что человек, совсем не связанный с IT, проникается интригующей красотой этой сферы и ставит себе задачу постепенно освоить программирование с нуля. И тут он зачастую просто теряется, не понимая, с чего начать, и нуждаясь в хорошем фундаменте и системном подходе.
Я, будучи недавно в такой же ситуации, гуглила, искала мануалов на Хабре (кое-что нашла: Десять советов начинающим программистам, Начинающему программисту про стартапы и не только…), но в итоге всё же была вынуждена обратиться за советом к одному хорошему человеку, который составил для меня вот такой план. С разрешения этого человека размещаю данный план на Хабре – вдруг он пригодится и кому-то ещё. (Тем более, что перечисленные книги относятся к «золотому фонду» литературы в данной сфере и проверены временем.)
UPD: Новичкам советую обратить внимание на комментарии — там активно и аргументированно корректируется этот план.
Этап I. Основы
Нортон «Программно-аппаратная организация IBM PC»
Эта книга, несмотря на свою давность, относятся к тем, что пока отнюдь не устарели. Как новичок подтверждаю – повествование вполне понятно и для почти полного чайника в IT.
Гук «Аппаратные средства IBM PC»
А эту книгу стоит прочитать «поверх» – она расскажет о том, как дела в данной сфере обстоят сейчас.
Этап II. Hardware
Шаг 1
Морс, Алберт «Архитектура микропроцессора 80286»
Почему тут берётся за основу именно микропроцессор 80286 – станет понятно по изучении трудов первого этапа.
Шаг 2
Гук «Аппаратные интерфейсы ПК»
Гук «Интерфейсы устройств хранения»
Этап III. Операционные системы
Шаг 1
Таненбаум «Архитектура компьютера»
Шаг 2
Колисниченко, Аллен «Linux: полное руководство»
От общей теории переходим к изучению конкретной операционной системы – на примере Linux.
Немет, Снайдер, Хейн «Руководство администратора Linux»
Этап IV. Собственно программирование
Шаг 1
Керниган, Ричи «Язык программирования С»
Почему первым для освоения выбран именно язык Си? Как мне рассказали знающие товарищи, он поможет достичь правильного «программистского мышления», чего было бы сложно достичь, начиная изучение, скажем, с Паскаля. Кроме того, язык Си по-прежнему используется в наши дни и подходит как для прикладного, так и для системного программирования.
Шаг 2
Кнут «Искусство программирования»:
Том 1. Основные алгоритмы
Том 2. Получисленные алгоритмы
Том 3. Сортировка и поиск
Бентли «Жемчужины программирования»
Зачем осваивать эти труды? Как уже отмечали на Хабре – «наверное, нигде больше, чем в айти, не изобретается такое огромное количество велосипедов». Данные книги помогут этого избежать – и попутно будут прививать умение писать не просто код, а хороший код.
Ну а для затравки можно прочесть небольшой цикл лекций «Культура программирования» (автор – А. Бабий). Он помогает начинающим программистам понять, что их деятельность не будет проходить в вакууме, а неизбежно включит взаимодействие с другими программистами, с заказчиками и пользователями (а также включит необходимость копаться потом в своих собственных или в чужих программах).
Закономерный вопрос новичка: сколько времени займёт изучение всего этого? По прогнозам моего советчика, у человека, который может тратить на изучение программирования только вечера и выходные, на прочтение и осмысление литературы первых трёх этапов уйдёт полгода-год. На четвёртый этап тоже даётся год – чтение должно сопровождаться практикой по самостоятельному составлению программ. Как получится на самом деле – время покажет.
Буду крайне благодарна за ваши советы и уточнения.
Программирование для начинающих Archives — Как стать программистом
Друзья, изучая и обучая программированию, я пересмотрел сотни материалов и различных курсов. Меня часто спрашивают, с чего лучше начать, какой волшебный курс поможет при освоить программирование с нуля или со школьными знаниями.
Лучший бесплатный курс, который я могу порекомендовать сегодня — это
И теперь вы можете поддержать создание этого курса на вашем языке! Подробности по ссылке, а дальше — по прежнему актуальная инструкция по изучению программирования с нуля со ссылками на ресурсы. Читать далее Как стать программистом с нуля самостоятельно
Опубликовано Рубрики Без рубрики93 комментария к записи Как стать программистом с нуля самостоятельноДа, научиться программировать можно.
Легко ли это сделать?
Нет, научиться программированию сложно, особенно если вы будете учиться программированию самостоятельно. Нужно много работать.
Поэтому всем, кто хочет стать программистом, я предлагаю пройти короткий тест. Читать далее Можно ли научиться программировать?
Опубликовано Рубрики Без рубрики9 комментариев к записи Можно ли научиться программировать?В этот курс я заложил один метод, который неосознанно применил раньше. сам. Это позволило мне не просто прослушать теоретический курс, а получить навык реального программирования и сразу после курса получить работу в компании. А теперь так получится у всех моих студентов.
Сейчас я хочу поделится с вами двумя подходами, которые смогут в разы повысить эффект изучения любых материалов по программированию.
Sublime Text — популярный среди программистов редактор, с использованием Emmet плагина становится еще удобнее.
Эта статья — шпаргалка по Emmet командам, которые можно использовать для ускорения создания HTML документов, верстки и работы с CSS. Читать далее Команды Emmet — шпаргалка для плагина html редактора Sublime Text
Опубликовано Рубрики CSS, Sublime TextМетки Emmet, html редактор, Sublime, редактор кода3 комментария к записи Команды Emmet — шпаргалка для плагина html редактора Sublime TextРешил описать свой личный опыт, как я стал программистом после 30 лет и начал зарабатывать 1000 долларов в месяц. Понимаю, что подобные истории — причина, по которой много людей, даже не обладая способностями к профессии программиста, потянулись к ИТ… но из песни слова не выкинешь 🙂
Я уже начал писать про то, как стать программистом. В «Программирование — с чего начать» я изложил основные варианты, которые могут избрать для себя начинающий программист.
В этой статье я изложу свой личный опыт и поделюсь информацией, как стать программистом за максимально короткий срок и с позитивным финансовым результатом. Читать далее Как стать программистом в 30 лет и начать зарабатывать
Опубликовано Рубрики Без рубрикиМетки Django, Django, Python, Python, как стать веб программистом, курсы программирования, курсы программирования, обучение программированию с нуля12 комментариев к записи Как стать программистом в 30 лет и начать зарабатыватьUPD: С января 2016 запускаю новую версию курса для начинающих: Django — онлайн курс веб-программирования с нуля до результата
Если хотите начать программировать — записывайтесь, это для Вас! 🙂
Решил написать серию уроков, как стать программистом «с нуля», самостоятельно.
Я уверен, что программирование может освоить каждый, что нет каких-то преград, которые помешают стать программистом в 30 лет, или например в 50 :). Знаю это не понаслышке, поскольку реально сам в 30 лет прошел курс веб-разработки и для получения опыта устроился на работу программистом с окладом 1000 долларов.
Конечно, когда я пишу «каждый» — это не значит действительно каждый. Да и врядли нам будет интересно жить в мире полном одних программистов. Я имею в виду, что нет ограничений, однако вам придется развить у себя логику и способности к программированию, если вы действительно решите этим заняться.
Если вы решили освоить программирование с нуля самостоятельно — подпишитесь на рассылку новых статей и уроков по этой теме здесь. Также я провожу обучение программированию с нуля в формате коучинга. Если вы хотите продвигаться быстрее и готовы купить свое время за деньги — напишите об этом в комментарии. Я сообщу о возможности присоединиться к группе.
Вы будете получать новые статьи и уроки по программированию, а также наши обзоры и информацию. Мы расскажем, какие есть курсы программирования для начинающих, с чего лучше начать и каким программистом лучше стать.
Опубликовано Рубрики Как стать программистом, Как стать программистом, Как стать программистом, Как стать программистом, Как стать программистомМетки Курсы, Уроки программирования6 комментариев к записи Программирование с нуляОсновы программирования на языке Scratch — GeeksforGeeks
Scratch — это язык программирования. Под языком программирования подразумевается средство общения с компьютером, чтобы дать ему некоторые инструкции для выполнения. Программировать в Scratch очень легко, включая анимацию и игры. Это очень полезный инструмент для маленьких детей или создателей для изучения и реализации логики кодирования. Он был разработан медиа-лабораторией Массачусетского технологического института, является бесплатным и может использоваться в Интернете на его веб-сайте или может быть загружен для использования в автономном режиме. Он доступен для таких операционных систем, как Windows, iOS, ChromeOS, Android 6.0+ и т. д. В этой статье мы обсудим основы Scratch.
СценарийВ Scratch сценарий представляет собой набор инструкций, которые используются для создания программы Scratch. Или можно сказать, что это стек блоков, которые связаны друг с другом и выполняют заданные задачи. Скрипты используются для взаимодействия со спрайтами и указания им, что делать или говорить. Мы можем создать сценарий в области сценария. Здесь мы перетаскиваем блоки из палитры блоков и собираем их для создания скриптов.
СпрайтСуществуют объекты и персонажи, которые могут быть добавлены в программу для выполнения действий на основе кода, написанного в сценариях в проекте с использованием блоков, эти объекты и символы известны как Sprite . Вы можете добавить готовый спрайт или создать новый спрайт в соответствии с вашими требованиями. Вы можете найти возможность добавить спрайт в правом нижнем углу, второе меню справа. В магазине уже доступно множество бесплатных спрайтов, вы можете выбрать любой из них, либо нарисовать новый спрайт, либо загрузить любой другой спрайт. Ниже приведены некоторые из предварительно загруженных спрайтов с нуля,
Некоторые спрайты скретча
ТемпЕсли вы хотите добавить какие-либо инструментальные блоки или биты в свой скретч-проект, вам нужно определить, насколько быстро должна воспроизводиться ваша нота. Если вы хотите играть один и тот же бит в течение 60 секунд, вы хотите играть 3-4 бита в течение некоторого периода времени. Этот контроль скорости инструментальных битов в Scratch известен как Tempo.
СобытияСобытия в информатике относятся к триггеру, который заставляет что-либо происходить при нажатии любой кнопки или при выполнении любого действия. В Scratch события представлены блоками желтого цвета, включая щелчок по флагу, щелчок по спрайту, нажатие клавиши и т. д.
ФоныКогда вы программируете что-то в Scratch, у вас есть полная свобода использования и изменения фона до или во время программы. Эти фоновые эффекты известны как Backdrops .
Блоки кодированияБлоки кодирования — это заранее определенные или заранее написанные блоки кода, которые очень упрощают написание операторов кода в Scratch. Вы можете использовать любые блоки кодирования, просто перетаскивая их в соответствии с вашими требованиями. Вы также можете создать свой собственный блок, если хотите. Ниже приведены краткие объяснения некоторых блоков кодирования. Кроме того, доступны различные другие блоки кодирования, а также вы и можете создавать свои блоки.
- Движение: Используются для перемещения спрайта вперед и назад или в любом направлении или для его вращения.
- Внешний вид: Используются для изменения внешнего вида спрайта или замены его другим спрайтом той же категории.
- Звуки: Темп или Звуки используются для управления звуковым потоком в программе.
- События: События обрабатывают триггерные вызовы.
- Элементы управления: Условные операторы и циклы относятся к этой категории.
- Восприятие: Восприятие управляет реакцией всякий раз, когда указатель мыши попадает на игровую площадку и/или касается спрайта или движением мыши.
- Операторы: Они предназначены для управления и выполнения арифметических операций в программе.
- Переменные: Вы можете объявить переменные в своей программе, используя эти блоки.
- Мои блоки: Здесь вы можете создавать собственные блоки.
Циклы в Scratch или любом другом языке программирования позволяют выполнять одну и ту же строку кода с разными значениями или без них несколько раз. Вы можете либо установить количество раз, либо установить условие для завершения цикла. Scratch поддерживает следующие циклы:
- повтор: Этот блок используется для повторения заданного набора инструкций «n» несколько раз. Здесь значение n является положительным числом.
- навсегда: Этот блок используется для бесконечного выполнения данного набора инструкций.
- повторять до: Этот блок используется для повторения заданного набора инструкций до тех пор, пока заданное условие не будет выполнено.
Условия в Scratch реализуются с помощью блоков управления. Вы можете использовать блоки управления для проверки условия, и в зависимости от того, является ли условие истинным или ложным, может быть выполнен требуемый код/скрипт. Два самых популярных управляющих блока:
- if-then : В этом блоке, если заданное условие истинно, будет выполняться код/скрипт, присутствующий внутри этого блока. В противном случае код/скрипт внутри этого блока будет проигнорирован.
- if-then-else : В этом блоке, если данное условие истинно, код/скрипт, присутствующий внутри этого блока, будет выполняться. В противном случае код/скрипт, присутствующий внутри блока else, будет выполнен.
Любое создание в Scratch, такое как код для игры, истории или анимации, называется проектом в Scratch. Вы можете создать проект с помощью редактора Scratch. После того, как проект создан, им можно поделиться с другими программистами Scratch (называемыми Scratchers). По состоянию на 22 сентября в Scratch насчитывается более 100 миллионов общих проектов.
Любые царапины могут использовать код общего проекта и создавать через него другой проект. Этот процесс называется «ремиксированием». В соответствии с принципами сообщества вы должны отмечать создателя оригинального проекта всякий раз, когда вы делаете ремикс его кода.
Пример проекта ScratchНиже приведена реализация простой программы:
Здесь мы сделали девочку, прогуливающуюся по пляжу. Она сделает несколько шагов, а затем скажет «Привет». Давайте посмотрим, как мы это реализовали.
- Во-первых, вам нужно выбрать подходящий фон для вашего проекта. Здесь я использовал фон «Пляж Малибу».
- Выберите спрайт, с которым хотите работать. Здесь я использовал спрайт «Эйвери идет».
- Следуйте следующему сценарию:
- Первым событием является нажатие на флаг, это запуск программы.
- Второй блок кода делает спрайт, расположенный в начальной позиции, то есть x равен -164, а y равен -69.
- Затем мы поставили петлю, чтобы повторить перемещение, сменив костюм 20 раз.
- После завершения цикла спрайт поздоровается на одну секунду.
Вывод:
Демонстрационная программа Scratch
Семинар для начинающих по программированию на Scratch
- Создать
- Исследовать
- Идеи
- О
Об этом классе
Над чем мы работаем
Последние действия
Class Studios (19)
Посмотреть все- Рождественские проекты
- Игра Санта в бегах
- Поздравления с Дивали
- Игра-сюрприз на Хэллоуин
- Создайте свой собственный Scratch-проект!
- Вызов лабиринта
- игра с хлопающей птичкой
- Время викторины!!
- HW проекты
- Игра охота за привидениями!!!
- Анимационные развлекательные проекты
- 10 проектов блоков
- Анимационные проекты — Урок 7
- Отладка
- Направления
- Неделя 3 — Веселые проекты
- Урок 3.