Как эффективно изучать языки программирования? Отвечают эксперты
Ответ во многом зависит от языка программирования и сферы его применения.
Допустим, человек занимается научными исследованиями, и сотрудники его лаборатории в проектах используют Fortran — это одна ситуация. Другой вариант — студент, изучающий машинное обучение, который хочет писать проекты на Python. Ещё вариант: разработчик решил изучить С++, чтобы устроиться на работу в коммерческую компанию. Эти и другие ситуации требуют разного подхода и объёма прилагаемых усилий для изучения языка.
Я попытаюсь дать общие рекомендации, но в каждом случае в этот алгоритм следует вносить коррективы.
1. Найдите хорошую книгу, освещающую основной синтаксис языка, с примерами и объяснением принципов работы. От правильного выбора книги зависит многое, она сформирует ваше первоначальное «видение» языка. Разумеется, в будущем оно будет корректироваться по мере накопления вашего личного опыта работы с ним.
2. Практика. В каждом языке есть свой «Hello, world!». Пытайтесь сразу же применять полученные знания на практике, закрепляйте освоенные конструкции языка.
3. Будьте любознательными. Как только в голове возникает вопрос, ответа на который вы не знаете, — ищите его не откладывая! В интернете полно форумов и блогов, в которых разработчики обсуждают практически все нюансы языков. Ни одна книга не может охватить их все. Особенно это касается языков, имеющих богатый набор выразительных средств.
4. Изучайте основы ООП, паттерны программирования, алгоритмы и структуры данных. Посмотрите, как устроены библиотеки внутри, загляните в их код. Великолепное формальное знание языка ещё не означает, что вы будете писать элегантный и эффективный код на нём.
5. Старайтесь, чтобы ваш код увидело как можно больше коллег, чтобы как можно раньше получить фидбэк на то, как вы пишете или оформляете код. Оформление кода или code style в крупных проектах — отдельная тема, и её тоже следует изучить. Также как и процесс code review.
6. Если вам требуется глубокое понимание языка (например если вы разработчик в крупной коммерческой компании), не ограничивайте себя изучением только его одного. Посмотрите вокруг на остальное: скриптовые языки, ассемблер. Задайте себе вопрос, чем они отличаются, почему устроены иначе, какую цель преследовали авторы этих языков? Изучайте различные фреймворки, библиотеки, погрузитесь немного в теорию компиляции, разберитесь с тем, как устроен процесс «сборки» проектов в разных средах.
7. Придётся изучить английский достаточно хорошо, чтобы читать форумы разработчиков, техническую документацию. Это и в жизни пригодится.
8. В какой-то момент стоит открыть документацию, или, говоря проще, изучить «стандарт» языка. Многие привычные вещи в этот момент откроются вам с нового ракурса. Не помешает также проследить исторический путь развития языка, разобраться, что в нём менялось от одной версии стандарта к следующей.
9. Посещайте различные мероприятия, конференции, семинары. Они могут быть посвящены дальнейшему развитию языка или различным сферам его применения.
10. Помните, что нельзя «изучить» какой-то язык «от и до». Язык не монумент, он живёт и развивается, это же справедливо и в отношении естественных языков. И если язык «живой», востребованный в мире, то процесс изменений в нём со временем становится всё более интенсивным.
На этом у меня всё. Ищите свой путь, не бойтесь наступать на «грабли». Чем раньше вы их «соберёте» — тем меньше «мин» будет в проектах, которые вы после себя оставите.
«Как самостоятельно освоить язык программирования?» – Яндекс.Кью
Расскажу немного про свой путь, т.к. в свое время изучал языки сам.
Сперва выберите… не язык программирования, а область которой хотите заниматься. Что именно вам интересно. Это окажет прямое влияние на выбор языка. Грубо говоря, если вы хотите осваивать веб или писать игры на Unity, не нужно учить Java потому что в интернетах говорят, что она классная. Осваивать что-то самостоятельно просто потому что можете — всегда сложнее.
Затем выберите 3-4 источника информации. Любых. Но лучше если разных. Курс на ютубе, пара разных книг, пара туториалов и т.д. и все делайте, все практические упражнения. Если упражнений нет, перенабирайте тот код, что есть в курсе/книге и запускайте. Всегда будут ошибки — разберитесь как их починить.
После определенного опыта старайтесь уже улучшать решения, о которых читаете. Например, если в книге дается пример «как вывести все четные элементы массива» попробуйте вывести каждый третий и пятый — как должен измениться код?
Почему важно, чтобы источников информации было несколько. Потому что один источник, особенно бесплатный, не факт, что будет качественным. Мне достаточно посмотреть 2 минуты видео и полистать 10 страниц книги, чтобы понять несет автор фигню или нет. Вам, как человеку без опыта, будет сложно это оценить и придется все принимать на веру. Поэтому несколько разных источников дадут разный опыт, отшлифуют знания, обогатят их и вы возьмете лучшее от каждого.
После того, как с этой частью освоились, сделайте 2-3 проекта в стол. Разных проекта. Нет никакого смысла делать 3 блога друг за другом или 3 интернет-магазина или чего-то еще. Это должны быть разные проекты, вы должны испытать и решить разные проблемы. Это очень важно.
Наконец, если почувствуете себя уверенным (это может произойти в середине любого из этапов выше), берите заказ. За любые деньги. Чисто для опыта. Саксесс-стори увеличит вашу мотивацию, в дальнейшем поможет при трудоустройстве и т.д.
Наконец, если 2-3 заказа сделаете и все будет ок, то поздравляю, вы программист. Можете дальше сидеть на фрилансе, искать работу или создавать свой стартап, а можете и все вместе.)
А, и да. Рекомендую еще найти тусовку, где можно задавать свои вопросы и обсуждать. Или просто найдите друга, которому это тоже интересно. Это тоже увеличивает шансы дойти до конца. Только избегайте токсичных форумов, а то они как раз могут убить любую мотивацию)
Удачи на вашем пути)
Как выучить язык программирования с нуля самостоятельно. На деле нужно помнить всего три правила для успешной стратегии обучения. С чего начать обучение программированию
Программирование — одна из самых востребованных профессий на сегодняшний день. Это и понятно. Каждая компания, частный предприниматель, даже простой пользователь хочет иметь свой сайт во всемирной паутине. Или необходима какая-нибудь программа для обработки вычислений и информации. Примеров применения существует множество и каждый из них требует участия квалифицированного специалиста. Но можно попытаться сделать продукт самому.
Направления программирования
Платят программистам за их труд немало, но всё зависит от уровня ваших умений и сложности задания. В среднем 900$ в месяц, работая полный рабочий день. Но не все программисты одинаковые. Эта профессия делится на несколько направлений:- Web-программист. Всё что связано с созданием сайтов (их технической части, не дизайна), их модификацией, созданием сервисов занимается именно этот человек. Основные языки программирования: html, css, php,python.
- Прикладной программист. Такой программист наиболее популярен, он пишет программы для работы с интернетом, данными, бухгалтерский учёт и т.д. Основные языки программирования: C#, C++, Delphi.
- Системный программист. Сложно, но и оплачивается соответственно. Создает драйвера для устройств компьютера, разработка программ для работы с ОС и компонентами компьютера напрямую. Основные языки программирования: Assembler, Microsoft Net.
Можно ли научиться программировать самому
В принципе это не такая трудная задача, как кажется на первый взгляд. Всё зависит от ваших умственных способностей, усидчивости и упорства. Книги по многим языкам программирования довольно объёмные, около 800 страниц. Там расписаны основы, примеры, термины и тонкости работы со средой программирования.
Среда программирования — та программа, в которой вы будете писать свой код. Некоторые из них, такие как Visual C++ позволяют перетаскивать на форму кнопки, надписи, текстовые поля и т.д. и писать в них код, который будет работать. После того, как код написан, его обрабатывает компилятор. Компилятор переводит код в понятный для машины язык, и программа работает.
Программируем с нуля
Очень похвально, требуется очень много мужества, чтобы стать на скользкий, трудный, но и приносящий неплохие плоды путь программиста. Для начала вам стоит узнать об основах программирования, например алгоритмы и блок-схемы. Лучшие книги по основам программирования вы можете скачать .
Начните с Turbo Pascal — язык программирования, созданный Никлаусом Виртом. Официально был опубликован в 1970 году. На нем можно делать довольно эффективные консольные приложения, при желании с использованием графики. Среда весит всего 216 Кб, скачать можно . Книги по Turbo Pascal можно найти в интернете, их достаточно много.
Немного сложнее будет изучить Delphi, который, к слову, основан на Turbo Pascal, но позволяет делать не только консольные, но и обычные программы с графическим интерфейсом. Перетаскиваете на форму нужные объекты, задаете им свой код, и всё работает. Естественно, если написано правильно.
Вы узнали как научиться программировать с нуля, но что-то не получается и есть вопросы? CyberForum.ru — один из самых продвинутых в этом вопросе форум. Большая посещаемость, много разделов по разным языкам программирования, общительные модераторы, помогающие новичкам. Там можно задать интересующие вопросы и получить адекватные и максимально полные ответы. Если видно, что вы стараетесь, но что то не получается — там вам обязательно помогут.
Также не забывайте пользоваться сайтом Google: ответы на некоторые вопросы уже задавались и есть достаточно их решений.
Если вы хотите научиться компьютерному программированию и ищете краткое руководство, объясняющие, как научиться этому искусству, эта статья именно для вас.
Здесь я предоставлю вам советы о том, как научиться писать компьютерные программы по своему усмотрению.
Компьютерное программирование является одной из самых захватывающих и высокооплачиваемых областей для работы. Миллионы строк кода пишутся каждый день, во всем мире, в результате чего появляются новые приложения и программное обеспечение. Если Вам нравится думать аналитически и решать головоломки, а также проблемы всех видов, программирование это ваша стихия. Ключом к изучению программирования является овладение языками программирования, и научиться применять их для решения сложных проблем.
Стандартный способ научиться программировать, поступить в институт и получить степень в области компьютерных наук. Тем не менее, есть много людей, которые никогда не учились в институтах, но, несмотря на это, имеют навыки и талант к аналитическому мышлению. Я написал эту статью для тех из вас, кто не учился на программиста, но уже открыл для себя красоту программирования и хотели бы освоить эту науку. Интернет создал культуру программирования, которая может направить вас в этом процессе. С самодисциплиной и настойчивостью, вы можете научиться программированию и писать собственное программное обеспечение. Это не только метод для реализации своего ума, но и отличный способ заработать деньги, продавая свое собственное программное обеспечение, или найти работу в специализированной фирме, если вы действительно в этом хороши.
Как научиться программировать?Информатика является основным полем, которое необходимо освоить, оно даст вам минимальные знания и опыт в программировании. Вот несколько рекомендаций о том, как стать программистом.
Изучите языки программирования
Во-первых, вам нужен настольный или портативный компьютер, что позволяет вам читать и выполнять свои программы. Программирование это умение общаться с аппаратной конфигурацией компьютера для выполнения различных вычислительных задач. Компьютер понимает только машинный язык, написанный на 1 и 0. Для нас, людей, для общения с компьютерами, были созданы языки программирования, чей код может быть преобразован в машиночитаемой форме составителями. Есть целый ряд языков программирования, которые изменяются в своих приложениях. Вам придется изучить по крайней мере дюжину основных языков программирования, который включает в себя C, C + +, Java, Perl, Lisp и Python.
Чтобы научиться основам программирования, начните обучение C или Python в начале. Используйте онлайн-ресурсы и книги по программированию, чтобы получить основы. Установите программы, по написанию кода и выполняйте их на вашем компьютере. Работайте на примерах и задачах, предусмотренных в книгах и электронных учебниках, чтобы написать свой собственный код. Одна из лучших книг, чтобы начать обучение «C» является « ». Еще одна хорошая книга « ».
Получить навык «С», а затем приступить к объектно-ориентированному программированию, что стало возможным благодаря C + +. Тогда получите навыки Java, Perl и , которые широко используются для веб-разработки. Изучите HTML, если вы планируете работать в области веб-разработки. Как вы можете видеть, есть много, материалов для изучения, и это займет не менее 5 — 6 лет, чтобы получить навыки в большинстве языков.
Начните писать код
Это лучший способ узнать на практике, чему вы научились. Писать свой код, ошибаться, учиться, отлаживать код. Принять участие в онлайн соревнованиях по кодированию и проверить свои навыки программирования. Достать программного обеспечения с открытым исходным кодом, прочитать код и понять, как написаны хорошие программы. Узнайте, как мастера программисты добиваются экономии кода и логической ясности. Познакомьтесь с вашим компьютером и основным оборудованием. Узнайте, как компьютер работает на основных уровнях с памятью и процессорами.
Научитесь запускать Linux или Unix
Вы не можете называть себя программистом, пока не освоили операционные системы Linux и Unix. Установите дистрибутив Ubuntu на ваш компьютер и разберитесь с ним. Это даст вам все инструменты программирования, необходимые, наряду с компиляторами.
Компилятор – программа выполняющая компиляцию (трансляцию программы составленной на исходном коде).
Ученик — Эксперт — Программист
Найдите хорошего наставника, который наставит вас на путь становления мастером программистом. Слушайте советы и учитесь на них.
Читайте правила написание кода и продолжайте совершенствоваться
Продолжайте писать свой собственный компьютерный код и думать о том, как вы могли бы улучшить его. Присоединяйтесь к движению с открытым исходным кодом и проанализируйте анатомию хороших программ. Создайте свой сайт и постоянно углубляйтесь в знаниях. Помните, что всегда есть место для совершенствования!
Пусть не будет никаких иллюзий, что программирование является непростой задачей. Это займет от десяти до пятнадцати лет, по крайней мере, чтобы достичь такого уровня, когда вы можете начать называть себя полноценным программистом. Ваш успех в программировании прямо пропорционален самоотверженности и упорству, с которыми вы проводите ваше обучение.
Цель этой статье в том, чтобы дать вам толчок в правильном направлении. Я надеюсь, что эта цель в какой-то мере была достигнута. Освободите свой разум и войдите в мир программирования с удовольствием!
Выучите базовые принципы ЯП. Тут, конечно, все зависит от выбранного вами языка, однако есть у ЯП и общие моменты, исключительно для написания полезных программ важные. Чем раньше вы овладеете всеми этими понятиями и научитесь применять их на практике, тем лучше для вас и ваших навыков программиста. Итак, вот лишь некоторые из вышеупомянутых «моментов»:
- Переменные – в переменной можно хранить и вызывать меняющиеся данные. Переменными можно управлять, у переменных есть типы (очень упрощенно говоря – числа, символы и так далее), которыми и определяется тип хранящихся в переменной данных. Наименования переменных принято задавать такими, чтобы человек, читающий исходный код, мог получить представление о том, что в переменной хранится – так будет проще понять логику работы программы.
- Условные конструкции (они же – условные выражения) – это действие, которые выполняется в том случае, если выражение или конструкция истинно или ложно. Наиболее распространенной формой таких выражений можно назвать конструкцию «If-Then» (если-то). Если выражение истинно (например, если x = 5), то произойдет действие №1, а если ложно (x != 5), то действие №2.
- Функции – в разных языках программирования их называют по-разному: где-то это процедуры, где-то – методы, где-то – вызываемые единицы. По сути же, функции представляют собой мини-программы, входящие в состав большой программы. Функцию можно вызывать несколько раз, что позволяет программисту создавать сложные программы.
- Ввод данных – достаточно широко трактуемое понятие, присутствующее в почти что каждом ЯП. Суть его – обработка данных, введенных пользователем, и их хранение. То, как будут собраны данные, зависит от программы и доступных пользователю способов ввода данных (с клавиатуры, из файла и так далее). Понятие ввода данных тесно связано с понятием вывода данных – то есть того, каким образом данные будут возвращены пользователю (выведены на экран, записаны в файл и так далее).
Установите все необходимое ПО. Многим ЯП нужны компиляторы – программы, переводящие программный код в понятные для компьютера инструкции. Впрочем, есть и ЯП другого типа (вроде Python), в которых программы выполняются сразу, а компиляция их не требуется.
- У некоторых ЯП есть так называемые IDE (Integrated Development Environment, интегрированная среда разработки), в которые входят редактор кода, компилятор/интерпретатор и отладчик (дебаггер). Это дает программисту возможность работать над программой, образно выражаясь, по принципу одного окна. Также в IDE могут входить визуальные представления иерархий объектов и директорий.
- Есть и онлайновые редакторы кода. Эти программы подсвечивают синтаксис программного кода несколько иначе, а также предлагают разработчику доступ к ряду полезных и простых инструментов.
Программирование — один из ценнейших навыков для карьерного роста, саморазвития и создания чего-нибудь удивительного. Десять советов для тех, кто только начинает своё путешествие в мир программирования, от Lifehacker .
Выбранное направление в учёбе будет зависеть в большей степени от того, почему именно вы хотите научиться программировать и сколько времени вы готовы уделять этому процессу. Если вы хотите стать программистом, первое что следует сделать — это записаться на профессиональные курсы (Google скомпилировал список навыков и курсов для тех, кто хочет стать инженерами-программистами). Если вы хотите создавать игры и веб-сайты для развлечения в свободное время, лучшим выбором являются интерактивные курсы. Bloc создал сравнительную таблицу курсов в зависимости от загрузки, стоимости и причины изучения программирования.
Сейчас даже малыши учатся программированию. Несмотря на то, что многие программы для детского обучения весьма просты, некоторые из них (например, Scratch) подходят для любого возраста. Не имеет значения, сколько вам лет, даже детские анимационные приложения могут научить основам программирования (у edX есть новый курс обучения по Scratch).
Бесплатные онлайн тренинги и проекты (Codecademy , Hour of Code и др.) могут помочь вам в написании первой программы. Учебные пособия от Khan Academy, Codecademy, Code.org и других познакомят с основами программирования и всем необходимым для создания игры, сайта или другого проекта. Найдите нужный источник в зависимости от языка программирования, воспользовавшись . Это хорошая отправная точка, однако дальнейшее обучение вам нужно взять на себя.
Онлайн-курсы по программированию предполагают более обширную образовательную подготовку по сравнению с сайтами, предлагающами онлайн-тренинги по одному языку. Такие курсы предназначены для обучения основным навыкам в течение нескольких месяцев на занятиях университетского уровня. Я большой поклонник гарвардского онлайн-курса CS50 (его можно пройти бесплатно). Существуют также другие возможности . Вы даже можете получить образование университетского уровня, выбрав один из 15 онлайн-курсов .
Если вы застряли на какой-то проблеме или вам нужно найти ответ на свой вопрос, не стоит забывать о справочниках. На GitHub можно найти огромную коллекцию из более чем 500 бесплатных книг по программированию. Также доступна коллекция электронных книг, охватывающая 24 языка программирования.
Иногда лучшим способом обучения являются игры. В то время, как многие учебники по программированию обучают вас программировать простые либо сложные игры, некоторые обучающие сайты сами являются играми: Code Combat и CodinGame — инструменты, используя которые вы можете весело провести время.
Сообщество программистов полно людей, готовых помочь следующему поколению программистов. Hack.pledge() — сайт, который поможет вам найти наставника. Либо вы сами можете стать наставником для кого-то другого. Преподавание изученного поможет вам лучше запомнить информацию.
Изучение программирования — не то, чем можно заниматься между делом. Но не нужно тратить всю жизнь, чтобы понять основы. Есть множество способов облегчить себе обучение.
Нередко бывает, что новички начинают учиться, уже зная что-то о программировании. Сначала всё идёт хорошо, но по мере дальнейшего изучения начинаются проблемы. Почему? Новички быстро пробегают вступительную часть, думая, что и так всё знают, но на деле это бывает редко. Они знают часть материала, но этого недостаточно, чтобы хорошо понять основы.
В то же время нельзя прекращать развиваться. Вы можете двигаться медленно или быстро, но не пропускайте ни одну тему. Осваивая больше материалов, вы создаёте себе фундамент для будущего.
1. Изучайте примеры кода
Говоря о чтении, мы обычно подразумеваем чтение слов на странице, но программирование — это про чтение кода. Когда вы только учитесь программировать, вы должны изучать и пытаться понять каждый пример. Можно даже сперва читать и пытаться понять примеры кода, а уже потом читать текст. Это не всегда срабатывает, но зато учит смотреть код внимательно и вникать в каждую деталь.
2. Не просто читайте примеры кода — запускайте их!
Когда вы читаете обучающее руководство или учебник, легко посмотреть на пример и сказать: «Я понял, я понял. Да, в этом есть смысл». Конечно, вы могли понять его, но вы не знаете наверняка действительно ли вы поняли его правильно. Есть лишь один способ выяснить — сделать что-то с кодом.
Если вы до сих пор не сделали этого, установите среду разработки (IDE), которая поддерживает ваш язык программирования.
Затем перенесите пример в IDE — если вы набьёте его вместо того чтобы просто скопировать, вы действительно пройдётесь по нему от начала до конца. Ввод кода заставит вас уделять внимание деталям синтаксиса языка, например точкам с запятыми, которыми должна заканчиваться каждая строка.
Теперь скомпилируйте и запустите код. Убедитесь, что он делает именно то, что должен.
И наконец, измените его. Программа — самый легко изменяемый механизм на Земле. Вы можете экспериментировать и смотреть, что происходит. Изменения будут происходить мгновенно, без риска смерти или получения увечий. Самый простой способ изучить язык программирования — взять работающий код и изменить его.
3. Начните писать свой код как можно раньше
Как только вы что-то поймёте про язык — даже если от него у вас уже кружится голова — начните писать программы на нём. Иногда трудно найти идеи для программ. Это нормально, в самом начале вам не надо придумывать свою идею.
Вы можете также воспроизвести упражнения из руководства или книги, которую вы читаете, не заглядывая в примеры. Это не так легко, как кажется. Ещё эта техника работает хорошо, если вы слегка измените код из примеров.
Если вы не хотите думать о маленьких программах, а хотите сразу писать нечто большее, вроде игр, вам надо начинать с маленьких кусочков, которые вы затем сможете использовать для создания игры. Независимо от того, будете вы их использовать или нет, вы получите ценнейший опыт.
4. Научитесь использовать отладчик
Отладчик позволит вам двигаться по коду строка за строкой. Вы сможете наблюдать значения переменных и видеть, выполнилось ли условие.
Отладчик позволяет быстро ответить на вопросы о том, что делает код.
Первое время исправление ошибок с отладчиком будет занимать много времени. Но по мере того, как количество ошибок в вашем коде будет расти, отладчик начнёт экономить уйму вашего времени. А количество ошибок, поверьте, будет измеряться десятками.
Новички часто не желают использовать отладчик. На самом деле, они усложняют жизнь самим себе, тратя годы на исправление очень простых ошибок. Чем раньше вы изучите отладчик, тем раньше это вам воздастся.
5. Ищите больше источников
Если вы что-то не понимаете, в первую очередь посмотрите альтернативные объяснения — интернет полон информации о программировании. Мы все воспринимаем новую информацию по-разному: может быть, вам для понимания нужны картинки, а кому-то другому — подробные инструкции или множество книг с детальными объяснениями.
Но если это не работает, то лучший способ разобраться с проблемой — спросить кого-то другого. Однако, если вы скажете «я не понимаю, пожалуйста, объясни», то, скорее всего, получите в ответ ссылку на тот же текст, который вы не поняли. Вместо этого, своими словами перескажите, как вы поняли текст. Чем больше вопрос раскрывает ваши мысли, тем легче будет знающему эксперту ответить на него. Программисты иногда кажутся раздражительными при ответе на вопросы. Но причина скорее в том, что они хотят продвинуться в диалоге, а это требует усилий от обеих сторон. Если вы зададите умный, подробный вопрос, который продемонстрирует, что вы думаете, то получите хорошие результаты.
Реально ли выучить Java с нуля и стать серьезным программистом?
Реально ли выучить Java онлайн и стать серьезным программистом с нуля, если у вас нет никакого опыта в кодинге и других ИТ-специальностях, вы ничего не знаете о классах, методах и объектно-ориентированном программировании, и вообще всю жизнь думали, что Java — это остров в далекой Индонезии? Этим вопросом задаются очень и очень многие, в том числе и на просторах сайта JavaRush. Поэтому сегодня мы и хотели поговорить о том, реально ли изучить Java, если вам приходится начинать с самых основ. И, если ответ положительный, то как это сделать. Внимание, спойлер:да, это вполне реально!
Java: учить
Базовые советы
Ну а теперь, так сказать, похоронив интригу в самом начале, перейдем к делу: дальше ряд полезных советов и базовых рекомендаций, применив которые на практике, вы увидите, что освоить Java с нуля более чем реально, и для этого не требуется самоотдача на уровне шаолиньских мастеров, достаточно лишь желания, готовности потратить немного времени и сил, а также понимание того, как правильно подойти к решению данной задачи.Если вы решили учить Java, начните сразу, не откладывайте.
Безусловно, следует понимать, что освоение новой профессии — дело непростое, на это придется потратить немало времени и энергии. Так что, прежде чем принять окончательное решение, стоит хорошенько подумать, изучить информацию в Сети, послушать и почитать, что говорят люди с опытом. Помимо обдумывания целесообразности изучения программирования в целом, безусловно имеет смысл потратить время и на выбор языка программирования, с которого вы начнете свой путь. Логично, что мы в JavaRush считаем Java лучшим языком для старта карьеры в программировании, и, надо заметить, можем аргументированно доказать, почему это так, и зачем учить Java. Но конечно на этот счет есть и другие мнения, а финальное решение принимать только вам.
Но как только вы приняли решение заняться изучением Java, начинайте сразу, не откладывайте, иначе высока вероятность, что это желание так и останется лежать в вашем ментальном шкафу на полке правильных и благородных стремлений, где-то между “со следующей недели начну бегать” и “надо будет научиться играть на гитаре.”
Кстати, для тех, кому никак не удается начать или заставить себя заниматься регулярно, у нас есть материал об инструментах для борьбы с прокрастинацией и планирования обучения.
Не обращайте внимание на слова критиков.
Если вы уже решили изучать Java, лучшей стратегией будет игнорировать слова критиков и разного рода личностей с негативным мнением по поводу данного начинания. Дело в том, что среди программистов более чем достаточно людей, у которых найдется пара неласковых слов в адрес новичков, желающих пополнить ряды профессиональных кодеров, или гуманитариев, приходящих в ИТ из других сфер, да и сам язык Java тоже имеет немало критиков, годами предрекающих его скорую смерть. Критические мнения следует принимать во внимание, если вы находитесь в процессе взвешивания всех за и против, но когда решение уже принято — лучшей стратегией будет пропускать их мимо ушей.
Не хватайтесь сразу за все обучающие материалы одновременно.
Хорошим советом на базе собственного опыта поделился новичок в Java Питер Морган (Peter Morgan). “Java — мой первый язык программирования, и у меня нет технического образования. Одна из моих главных ошибок в самом начале: я пытался изучать Java, используя сразу множество доступных способов и источников информации — книги, форумы, видеолекции и т.д. Чтобы не тратить зря время и силы, советую сначала изучить доступные ресурсы и выбрать несколько хороших сайтов или книг, по которым можно выучить Java. После того, как вы определились с выбором, начинайте использовать эти ресурсы по одному. Если, попробовав один сайт или почитав какую-то из книг, вы чувствуете, что это вам не подходит, возьмите что-то другое. Но давайте каждому источнику информации достаточно времени, чтобы втянуться, не бросайте сразу,” — советует он.
Не фокусируйтесь на одной лишь теории, ключ к успеху — в практике.
Еще одной крайне распространенной среди многих, если не сказать большинства, новичков ошибкой является фокусировка на глубоком изучении теории прежде чем приступать к какой-либо практике. Такой подход имеет множество недостатков: изучение теории без какой-либо практики сильно замедляет обучение, одновременно уменьшая вашу мотивацию продолжать. Это применимо ко всем сферам, но особенно верно в случае с изучением программирования. Многие опытные эксперты Java, занимающиеся преподаванием, отмечают, что новички, которые начинают с усердного штудирования учебников, прежде чем попробовать что-то самостоятельно, в среднем тратят больше времени на обучение, чем те, кто учится всему на практике.
Но не забывайте и о теории.
Но, несмотря на все, что было сказано выше, о теории также совсем уж забывать не стоит, особенно, если вы настроены на долгосрочное развитие в качестве профессионального программиста. В этом случае имеет смысл не только регулярно читать учебники и актуальные книги о Java, но и, по возможности, изучать базовые материалы курса Computer Science, чтобы сформировать у себя крепкий технический фундамент для дальнейшего развития. Ну а поскольку многие хорошие книги и учебные материалы на русском могут быть недоступны, изучению английского тоже стоит уделять время в вашем учебном процессе.
Учим Java с нуля — короткий путеводитель для новичков
Ну и напоследок поделимся кратким путеводителем по изучению Java с нуля. 7 шагов от полного ньюба до функционального Java-кодера, следовать которым советуют многие опытные преподаватели.Шаг 1-й. Начните изучать туториал или проходить онлайн-курс Java с практическими задачами.
С самого начала обучения старайтесь получать как можно больше практики, желательно ежедневной. Начать можно с очень простых задач, ведь главное — сформировать у себя привычку к регулярной практике. В Сети можно найти довольно много достойных онлайн-курсов Java с упором на постоянную практику. Сложно сказать, какой из них лучше всего подойдет именно вам, ведь это зависит от множества факторов, так что можно попробовать несколько, следуя одному из советов выше — применять каждый метод по очереди и уделять ему достаточно времени.
Шаг 2-й. Спрашивайте, спрашивайте и еще раз спрашивайте.
С самого первого дня обучения, не стесняйтесь задавать вопросы на профильных форумах и в группах, даже если эти вопросы кажутся довольно глупыми. В то же время, впрочем, и о таком полезном сервисе, как поисковик Google, забывать не стоит. Ответы на многие из ваших вопросов наверняка уже есть на форумах. Так что гуглите и обрящете.
Шаг 3-й. Если процесс обучения застопорился, почитайте книги.
Если вы застряли или ощущаете, что прогресс идет слишком медленно, возможно имеет смысл немного подтянуть теорию. Поэтому где-то со второго месяца обучения можно почитать хорошие руководства по Java для начинающих.
Шаг 4-й. Регулярно изучайте чужой код и учитесь на нем.
Также со второго месяца начинайте регулярно читать чужой код и учиться по нему. Огромное количество самых разных образцов кода можно найти на GitHub или Stackoverflow, например.
Шаг 5-й. Начинайте отвечать на вопросы новичков.
Где-то месяца с третьего можно начинать самостоятельно отвечать на вопросы многочисленных ньюбов. Как известно, лучший способ чему-либо научиться — это обучать других.
Шаг 6-й. Создайте собственный репозиторий на GitHub.
Примерно на том же этапе можно создавать собственный GitHub репозиторий и начинать с ним работать. Это легче, чем может показаться на первый взгляд.
Шаг 7-й. Начните свой проект на GitHub.
Где-то месяца с четвертого или пятого, а для тех, кто быстро учится, может и месяца с третьего, когда вы уже достаточно освоитесь с основами программирования и синтаксисом Java, начинайте писать собственный проект и выложите его на GitHub.
Итог
Что получаем в итоге? При желании и настойчивости новичок действительно может стать Java-программистом, даже не обладая техническими знаниями, причем сделать это можно сравнительно быстро. Опыт показывает, что при правильном подходе более-менее функциональным кодером можно стать фактически за несколько месяцев. Но не стоит обманываться, это только начало бесконечного пути к совершенству. Ибо, как сказал один из Quora-экспертов, Java — это океан. P.S.: Ну и напоследок, в подтверждение всему вышесказанному, несколько совершенно реальных историй успеха новичков-гуманитариев, которые смогли стать Java-программистами с нуля, и сделали это в том числе с помощью нашего сайта:Лучший способ изучить программирование самостоятельно
Автор статьи: admin
Метки: Новичку / РазноеВ этой статье хочу рассказать о лучшим способе изучить программирование самостоятельно и без особых проблем, думаю многим новичкам это будет интересно.
1. Купите хорошую книгу:
Для начало вам надо купить хорошую книгу, под словами хорошая книга, я имею виду книгу, которую можно использовать как справочник, например, книга авторов Дмитрия Котирова и Игоря Симдянова «PHP 7 в подлиннике» или «Язык программирования C++. Базовый курс».
То есть имеется виду книга, где написано максимально много о каком нибудь языке программирования.
2. Внимательно читайте:
Если хотите действительно хорошо знать программирование, то соответственно надо внимательно читать, но также рекомендую перечитать книгу один, два раза или когда начинаете плохо понимать написанное в книге, то перечитайте всё что было до этого момента.
Ещё можете записывать важные синтаксические особенности, во-первых, вы так лучше запомните, во-вторых, потом у вас будет справочник, куда вы сможете быстро взглянуть и вспомнить что вам надо, хотя мне это редко когда пригождалась, но всё равно полезно.
3. Практика:
Этот пункт пожалуй самый важный, после предыдущего, попробуйте написать не большой код связанный с темой которую только что прочитали, там спешите из книги его или придумаете свой, также ещё можете для закрепления смотреть видео уроки на Ютубе или даже искать там, как сделать какую-нибудь программу, например калькулятор, и перепишите его код.
После того как вы прочтёте книгу, можете пытаться создавать свои проекты, например, я когда изучил PHP на достаточно хорошем уровне, начал делать свою CMS, вы тоже можете что то сделать на своём языке, опять же, например, игру компьютерную или другую крутую программу.
Сколько времени уйдёт:
Тут к сожалению нельзя точно сказать, сколько времени на это уйдёт, но точно, что можно сказать, всё будет зависеть от вас, чем больше времени в день вы будите на это тратить, тем быстрее изучите язык программирования.
Вывод:
В этой статье постарался объяснить о самом лучшем способе как изучить программирование самостоятельно, на мой взгляд.
Возможно это не самый быстрый способ изучения и тем более не самый простой, но за то, очень эффективный, особенно если вы первый раз изучаете программирование, также надо сказать, что это я так учился и это мой опыт, а я пытался учится по разному, поэтому тут только субъективное мнение, возможно, этот способ не самый лучший.
Статьи о том как учить конкретные языки:
Подписываетесь на соц-сети:
Оценка:
Количество оценивших: 5
Средняя оценка: 4,00
Поделится:
Пока кнопок поделиться нетТакже рекомендую:
Как выучить языки программирования самостоятельно
Каждый раз, с трудом преодолевая жизненные преграды, хочется взять и перекроить этот мир под себя. К сожалению, мы не рождены творцами этой вселенной. Тем, кто хочет удовлетворить свои амбиции создателя, остается лишь виртуальный мир.
Хотя для творения здесь понадобится не столько волшебство и знание рун, сколько знание основ программирования. Поэтому для всех начинающих творцов виртуальной реальности мы поведаем о том, как научиться программировать.
Что нужно знать «чайнику»
Как бы ни хотелось этого признавать, но в реальности программирование является не таким уж волшебным делом. Создание кода порой можно сравнить с хождением босыми ногами по морскому дну, устланному острыми каменными обломками.
Чтобы стать программистом, нужно быть не только умным, но еще терпеливым и настырным. Обучение программированию всегда сопровождается головой болью, красными от недосыпания глазами и отрешенным взглядом. Именно по нему можно легко узнать программиста.
Многие начинающие обучение считают написание кода чуть ли не самой романтической профессией. Особенно увеличилось количество желающих познать программирование после просмотра фильма « Матрица ». Именно главный герой этой картины Нео подтолкнул многих к становлению на путь постижения программных наук:
Но большая часть начавших изучение бросают его уже через несколько недель. И основной причиной этого является неправильно выбранное направление обучения, методика или даже учебник по программированию.
Особенности обучения программированию на постсоветском пространстве
После развала СССР все отечественные ВУЗы долгое время даже и не пытались перекроить свою систему обучения под потребности современного рынка. Не являлись исключением из этого правила и технические ВУЗы.
Программирования как отдельной отрасли и специализации не существовало как таковой. Его основы преподавались лишь как привязка к другим инженерным дисциплинам. И даже те крохи знаний, которые давались студентам в этой области, не соответствовали современным стандартам и утратили свою актуальность еще 20-30 лет назад.
Ситуация кардинально не изменилась и через 10 лет. Лишь некоторые учебные заведения, учуяв веяния нового времени, в начале двухтысячных года начали перекраивать свое обучение под мировые стандарты. И только с этого момента программирование стало восприниматься как отдельная профессия и специализация обучения:
В это же время стали появляться различные специализированные коммерческие курсы и учебные заведения. Но качество преподавания и даваемых в них знаний находились на крайне низком уровне. Не хватало грамотных профессионалов, способных обучить новичков не только теоретическим знаниям, но и практическим навыкам программирования.
А это в профессии программиста является наиболее важным аспектом. Поэтому большинство из сегодняшних гуру российской IT-индустрии начинали свое обучение программированию с нуля самостоятельно.
В некоторой мере такая тенденция сохраняется и по сей день. Хотя в наше время количество профессионалов, занимающихся преподаванием, заметно возросло.
С какого языка начать изучать программирование
Постижение программных наук характеризуется не только тяжелым обучением, но и его началом. Новичку порой трудно не только начать самостоятельное обучение, но и определиться с координатами отправной точки процесса. Поэтому мы постараемся помочь вам обойти все эти трудности:
Прежде чем ломать зубы об гранит науки, следует определиться, с чего начать изучение программирования. На первых этапах очень трудно определиться со специализацией. Поэтому начнем с подбора первого языка.
Чаще всего выбор падает на язык программирования C ( си) . Именно с него большинство новичков во всем мире начинают свое обучение. На основе C было создана основная часть программных языков, и во многом они наследуют его структуру и синтаксис.
Рассмотрим особенности этого языка, делающего его оптимальным для изучения:
- Простая для понимания основа – часть встроенных возможностей языка для простоты вынесена в отдельно подключаемые библиотеки. К таким элементам относится большая часть математических функций и методов для работы с файловой системой;
- Оптимально подогнанная система типов – благодаря простому набору типов данных и строгой типизации уменьшается риск допущения ошибок в процессе написания программного кода;
- Направленность C на процедурный тип программирования, при котором соблюдается четкая иерархия всех элементов кода;
- Доступ к памяти машины с помощью указателей;
- Минимальное количество поддерживаемых ключевых слов;
- Поддержка области действия имен;
- Поддержка пользовательских типов данных ( объединения и структуры ).
Проще говоря, C – это то, с чего следует начинать новичку перед тем, как научиться программированию на других языках.
Программы (компиляторы) для программирования
Для обучения программированию недостаточно одного лишь желания и наличия компьютера с выходом в интернет. Для написания программ на C вам потребуется специализированное программное обеспечение – компилятор.
Вот несколько специализированных компиляторов с поддержкой языка C:
- Microsoft Visual Studio – профессиональный инструмент, поддерживающий множество языков, в том числе и несколько серверных. Подойдет для новичков, если брать его «на вырост»:
- Borland C++ — бесплатный компилятор, идеально подходящий для начинающего обучение. В отличие от предыдущего инструмента, отличается ясным и понятным интерфейсом. Поэтому его освоение не вызовет особых трудностей даже при самостоятельном освоении азов программирования:
- Code::Blocks – бесплатная среда разработки, поддерживающая написание кода на нескольких языках. Средний по сложности освоения вариант:
Что касается специализированной литературы, то советовать книги определенных авторов мы не будем. Тут, как говорится, выбирайте, что душе угодно. Потому что в большинстве случаев подбор самоучителя по программированию – это индивидуальный процесс. Используйте тот источник, который больше подходит именно для вас.
Да и в интернете можно найти очень много информации. Например, на нашем сайте специализированной литературе по IT тематике посвящен целый раздел.
Тенденции на рынке программирования
После освоения основ программирования у многих сразу появится вопрос, куда двигаться дальше. Уже на этом этапе обучения следует задумываться о выборе основной специализации в области программирования. Вот те, которые больше всего востребованы на современном рынке:
- Веб-программирование – здесь понадобятся знания PHP , CSS и HTML ;
- Разработка приложений под мобильную операционную систему Andro >Java . Поэтому потребуется знание основ этого языка;
- C# (си sharp) – дальний потомок C . На основе C# построена веб-технология ASP.net от Microsoft .
И последний совет всем начинающим. Перед тем, как приступить к обучению программированию с нуля, следует запастить терпением. А также: таблетками от головной боли, кофе, чаем и побрить череп наголо. Потому что во время постижения программных наук, обучающиеся часто вырывают волосы со своей головы вместе с корнем. Удачного старта!
Программирование — один из ценнейших навыков для карьерного роста, саморазвития и создания чего-нибудь удивительного. Десять советов для тех, кто только начинает своё путешествие в мир программирования, от Lifehacker.
Выбранное направление в учёбе будет зависеть в большей степени от того, почему именно вы хотите научиться программировать и сколько времени вы готовы уделять этому процессу. Если вы хотите стать программистом, первое что следует сделать — это записаться на профессиональные курсы (Google скомпилировал список навыков и курсов для тех, кто хочет стать инженерами-программистами). Если вы хотите создавать игры и веб-сайты для развлечения в свободное время, лучшим выбором являются интерактивные курсы. Bloc создал сравнительную таблицу курсов в зависимости от загрузки, стоимости и причины изучения программирования.
Не существует лучшего языка программирования, и как только вы выучите один, вам будет нетрудно освоить и второй. Так что не стоит зацикливаться на выборе первого языка. Тем не менее, считается, что некоторые языки даются новичкам легче, чем другие.
Язык, с которого стоит начать, зависит от причины изучения. (К примеру, если вы хотите создать приложение под iOS, вам лучше начать с изучения Swift). Если вы со всей серьёзностью отнеслись к намерению программировать, можно начать с языка C. Хотя выбрав Python, вам будет проще влиться в струю программирования. Приводим инфографику для сравнения нескольких популярных языков программирования.
Независимо от выбора языка или метода обучения, вам следует начать с самого начала. Когда Дэвид Сински (David Sinsky) научился программировать за восемь недель, он, к примеру, потратил одни выходные на изучение основ Python, а другие — на Django. Взяв учебник, он удалял написанный код и снова проходил обучающий материал с нуля. Начните с основ и будьте терпеливы к себе. Взяв первый проект в программировании, разделите его на несколько этапов. И если один из способов обучения вам не подходит, не опускайте руки — попробуйте другой.
Сейчас даже малыши учатся программированию. Несмотря на то, что многие программы для детского обучения весьма просты, некоторые из них (например, Scratch) подходят для любого возраста. Не имеет значения, сколько вам лет, даже детские анимационные приложения могут научить основам программирования (у edX есть новый курс обучения по Scratch).
Бесплатные онлайн тренинги и проекты (Codecademy, Hour of Code и др.) могут помочь вам в написании первой программы. Учебные пособия от Khan Academy, Codecademy, Code.org и других познакомят с основами программирования и всем необходимым для создания игры, сайта или другого проекта. Найдите нужный источник в зависимости от языка программирования, воспользовавшись Bento. Это хорошая отправная точка, однако дальнейшее обучение вам нужно взять на себя.
Онлайн-курсы по программированию предполагают более обширную образовательную подготовку по сравнению с сайтами, предлагающами онлайн-тренинги по одному языку. Такие курсы предназначены для обучения основным навыкам в течение нескольких месяцев на занятиях университетского уровня. Я большой поклонник гарвардского онлайн-курса CS50 (его можно пройти бесплатно). Существуют также другие возможности. Вы даже можете получить образование университетского уровня, выбрав один из 15 онлайн-курсов.
Если вы застряли на какой-то проблеме или вам нужно найти ответ на свой вопрос, не стоит забывать о справочниках. На GitHub можно найти огромную коллекцию из более чем 500 бесплатных книг по программированию. Также доступна коллекция электронных книг, охватывающая 24 языка программирования.
Иногда лучшим способом обучения являются игры. В то время, как многие учебники по программированию обучают вас программировать простые либо сложные игры, некоторые обучающие сайты сами являются играми: Code Combat и CodinGame — инструменты, используя которые вы можете весело провести время.
Сообщество программистов полно людей, готовых помочь следующему поколению программистов. Hack.pledge() — сайт, который поможет вам найти наставника. Либо вы сами можете стать наставником для кого-то другого. Преподавание изученного поможет вам лучше запомнить информацию.
Переписывая чужой код, исследуя каждую строчку на предмет ошибок, вы сможете лучше понять общую картину. Благодаря открытым исходникам кода, вы имеете возможность узнать всё, что угодно — продолжайте учиться, используя инкрементально-хакерский подход. Только не забудьте поделиться своим кодом, если вам удастся улучшить часть ПО.
Подробная инструкция, которая поможет вам писать хороший код.
Как учить программирование с нуля
1. Самостоятельно
Если вы обладаете железной силой воли и горите желанием стать программистом, то можете добиться своей цели с помощью самообразования. Это не самый простой и короткий путь: вам придётся самому разбираться в информационном хаосе и бороться с прокрастинацией. Зато вы можете учиться в удобное время за относительно небольшие деньги или же совсем бесплатно.
Начинать проще всего с интерактивных онлайн-курсов. В Сети есть множество площадок, материалы которых доступно объясняют основы программирования и задают направление для дальнейшего развития. Особое внимание уделяйте тем курсам, которые обучают на примерах реальных проектов, то есть поэтапно рассказывают, как создавать конкретную программу или сайт.
Платформа с бесплатными курсами по веб-разработке freeCodeCamp
Запомните, что у вас ничего не получится без практики. Учитесь по проектно-ориентированным курсам и пытайтесь сами писать разобранные в них программы и сайты. Ищите лекции на YouTube с разбором проектов, которые вы бы хотели разрабатывать. Сначала копируйте работу других людей и анализируйте её. Затем пробуйте отходить от оригинала, экспериментируйте, изменяйте отдельные элементы, пока не сможете создавать что-то уникальное.
Помимо курсов и видеолекций, к вашим услугам официальная документация, доступная на сайтах языков, и книги. Когда разберётесь в основах, поищите свежие издания с подзаголовком Best Practices по выбранному языку программирования. Такие книги содержат лучшие приёмы разработки.
Обязательно поставьте перед собой цель создать свой проект и постоянно работайте над ним.
Это поможет закрепить полученные знания и понять, какой информации вам ещё не хватает. Ваши навыки будут развиваться вместе с проектом. Когда закончите его, работайте над новым — более сложным.
Если у вас возникнут трудности в процессе обучения или разработки, вы всегда сможете обратиться по любому вопросу к сообществам программистов вроде «Тостер» и Stack Overflow. Вам, например, помогут решить какую-нибудь задачу, выбрать хороший курс или укажут на ошибки в коде.
Сервис вопросов и ответов на технологические темы «Тостер»
Оттачивать навыки удобно на специальных площадках, где можно посоревноваться с другими программистами, решая с помощью кода различные практические задачи. В числе таких сервисов — Codewars, TopCoder и HackerRank.
Если почувствуете, что ваше развитие зашло в тупик, или захотите ускорить обучение, попробуйте следующие варианты.
2. С помощью ментора
Ментор — персональный наставник, который указывает на ошибки, предупреждает о подводных камнях, помогает прокладывать курс обучения. Полезная рекомендация, полученная в нужный момент, может избавить вас от многих проблем и сэкономить массу времени. Поэтому ментор никому не помешает.
Узнайте, есть ли среди ваших знакомых разработчики. Возможно, кто-нибудь из них захочет вам помогать. Если таких людей вы не знаете, можете поискать их в сообществах программистов. К примеру, на том же «Тостере». Только услуги менторства стоят недёшево, а за просто так тратить много времени на незнакомых людей никто не желает.
3. У преподавателей «живых» курсов
Дистанционные и очные курсы с преподавателями, которые обучают программистов с нуля, стали невероятно популярными за последние годы. В рамках этого формата вам также предстоит очень много работать самостоятельно. Зато вы будете заниматься по профессионально подготовленной программе, а решения задач будет проверять живой человек. К недостаткам курсов можно отнести высокую стоимость обучения.
Популярные русскоязычные онлайн-площадки, которые занимаются системной подготовкой программистов: «Нетология», GeekBrains и Loftschool.
Если предпочитаете заниматься очно, можете поискать образовательные центры, которые обучают программированию в вашем населённом пункте. К сожалению, такие заведения чаще всего присутствуют только в больших городах. В качестве примера можно привести компьютерную академию «ШАГ», у которой есть филиалы в нескольких странах.
4. В университете
Если у вас много времени в запасе и вы уверены, что хотите связать жизнь с программированием, можете изучать компьютерные науки в университете. Но имейте в виду, что традиционные учебные заведения отстают от прогресса, так что современные языки программирования и прочие технологии вам придётся осваивать самостоятельно.
С другой стороны, университет даст фундаментальные знания математики, алгоритмов и других областей, которые помогут вам стать высококлассным программистом. За годы усердной учёбы вы сформируете правильный тип мышления, благодаря которому будете схватывать всё на лету в профессиональной сфере.
Как выбрать направление и язык
В ИТ-индустрии можно выделить несколько направлений, в каждом из которых используют свой набор языков. Перечислим основные направления в порядке возрастания сложности:
- Веб-разработка. Популярные языки: JavaScript, PHP, Python, Ruby.
- Мобильная разработка. Популярные языки: Java, Swift.
- Разработка игр и программ для настольных компьютеров. Популярные языки: C++, C#, C.
- Big Data, машинное обучение. Популярные языки: Python, R, Scala.
На что обратить внимание при выборе
Чтобы сделать правильный выбор направления и, в частности, языка, учитывайте следующие факторы: сложность освоения и количество обучающих материалов в Сети, ваши личные предпочтения (что именно хотите разрабатывать) и востребованность языка на рынке труда.
График востребованности языков на международном рынке труда / research.hackerrank.com
Востребованность языка в вашем регионе легко проверить на сайтах для поиска работы. Просто откройте раздел для разработчиков ПО и посмотрите количество доступных вакансий.
Если не можете определиться
Если вы в замешательстве, присмотритесь к JavaScript — языку, на котором написан почти весь веб. Многие организации и программисты советуют новичкам выбирать именно этот язык в качестве первого.
Например, основатель образовательного ресурса freeCodeCamp Квинси Ларсон рекомендует JavaScript всем начинающим. Ларсон приводит очень простые аргументы:
- JavaScript относительно легко освоить. А чтобы написать что-то и запустить на этом языке, достаточно иметь редактор кода и браузер.
- JavaScript — самый востребованный язык на международном рынке труда и у него большие перспективы. В экосистему JavaScript инвестируют крупные компании вроде Google, Microsoft и Facebook.
- У JavaScript очень широкая сфера применения: от сайтов и браузерных игр до мобильных приложений.
Кроме того, вокруг этого языка сформировалось крупное сообщество разработчиков. Высокий интерес к JavaScript обеспечивает огромное количество курсов, книг и другого образовательного контента.
Что ещё должен знать программист: математика и английский?
Любому программисту не помешает глубокое понимание математики. Для таких направлений, как разработка игровой графики или большие данные, математический ум — это необходимость. Но что касается веб-разработки и создания несложных программ, то в большинстве случаев без математики можно обойтись. Хотя среди профессионалов на этот счёт нет единого мнения.
А вот понимание английского, хотя бы на уровне беглого чтения документации, обязательно для всех программистов. Официальные документы и большая часть образовательных материалов появляются в первую очередь на английском языке. Книги часто устаревают ещё до того, как выходит перевод. Кроме того, знание английского открывает перспективы для работы со всем миром.
Как получить первый опыт и первую работу
Чтобы найти первую работу в качестве программиста, вы должны иметь портфолио. Это созданный вами проект, а лучше несколько, которые демонстрируют все ваши умения разработчика. В программу большинства курсов входит разработка проектов, которые могут войти в ваше портфолио.
Очень ценным пунктом в резюме будет наличие опыта работы, особенно командной разработки. Но где его взять, если вы ищете первую работу?
- Выполните несколько заказов на биржах фриланса. Это могут быть «Фрилансим» или Upwork. Предлагайте свои услуги бесплатно, тогда к вам придут первые заказчики.
- Найдите единомышленников и создайте с ними общий проект. Люди объединяются для таких целей почти на каждой образовательной площадке, где есть курсы по программированию.
- Выберите курсы, организатор которых помогает с трудоустройством. Например, в GeekBrains после обучения открывается доступ к стажировкам от разных компаний, в том числе — оплачиваемым. GeekUniversity и «ШАГ» гарантируют трудоустройство своим выпускникам.
Перед собеседованием не забудьте поискать в Сети списки задач и вопросов, которые часто задают соискателям.
Сколько времени требуется, чтобы выучить Java для полного новичка?
У меня нет абсолютно никакого опыта программирования, но мне нужно выучить Java — достаточно, чтобы пройти курс J2ME fasttrack. У меня всего 10 недель. Могу ли я это сделать? Каков ваш совет относительно лучших ресурсов, которые я могу использовать ?(в настоящее время использует учебники Sun Java).
java java-meПоделиться Источник Unknown 14 мая 2009 в 17:26
24 ответа
- Сколько времени потребуется программисту, чтобы выучить ruby?
Сколько времени потребуется разработчику, чтобы выучить ruby. И разработать производственный веб-сайт, такой как stackoverflow ? Обычно. Если у разработчика есть опыт .NET, но нет опыта ruby и MYSQL или PostgreSQL.
- Зная C++, сколько времени нужно, чтобы выучить Java?
Я компетентный разработчик C++. Я понимаю и использую полиморфизм, шаблоны, STL, и у меня есть твердое понимание того, как работают потоки. Для всех практических целей я не занимался разработкой Java. Я уверен, что некоторые из вас были в подобной ситуации в какой-то момент, когда вам пришлось…
56
10 недель? Очевидно, вы можете сделать это за 24 часа!
EDIT:
Итак, только 1 человек нашел мой ответ забавным, но недостаточно забавным, чтобы его озвучить. Реальный вопрос в том, насколько хорошо вы должны быть через 10 недель?
Если вы купите себе хорошую книгу (в приведенной выше книге есть несколько хороших отзывов о Amazon), то через 10 недель вы, возможно, будете достаточно опытны, чтобы сделать что-то полезное в Java, но для того, чтобы стать экспертом, потребуются годы. Любое время, проведенное между 10 неделями и несколькими годами, превратит вас из новичка в эксперта.
О, и прочитайте, Научитесь Программировать за Десять Лет .
Поделиться Patrick McDonald 14 мая 2009 в 17:50
30
Хорошо, основываясь на некоторых предыдущих ответах, я ожидаю, что меня понизят за это, но я думаю, что вы заблуждаетесь, думая, что можете самостоятельно научиться программировать в Java за 10 недель без опыта программирования. Ни один человек с опытом программирования NO, кроме какого-то вундеркинда, не научится программировать на Java или почти на любом языке за 10 недель.
Для ясности, копирование и запуск hello world из книги не делает вас программистом. Черт, скорее всего, потребуется несколько дней, чтобы заставить это работать в каком-то IDE.
Теперь, можете ли вы учиться и, возможно, пройти какой-то тест? Возможно, но это зависит от глубины и формата теста.
Если бы я спросил, могу ли я стать врачом через 10 недель, надо мной бы посмеялись за этот вопрос, поэтому я несколько удивлен ответами, которые указывают на то, что это возможно. Теперь я могу наложить пластырь на свою дочь, но это вряд ли делает меня медицинским работником, это просто означает, что я управлял их версией hello world .
Поделиться Robin 14 мая 2009 в 18:37
24
Главный вопрос заключается в том, занимались ли вы каким-либо программированием в прошлом, поскольку это может быть главным усилием. Я бы заподозрил, что если бы вы этого не сделали, то могли бы обойтись, но не обязательно преуспеть. Вы указываете, что у вас не было никакого опыта программирования, так что именно здесь у вас будет больше всего проблем и вы проведете большую часть своего времени. Java не обязательно будет учиться быстрее или медленнее, чем другие подобные языки.
Учебники Sun Java великолепны, но, к сожалению, программирование-это одна из тех вещей, где необходима практика, и это зависит от вашего свободного времени. Также необходимо часто останавливаться и практиковаться, а не после прочтения половины книги. Если вы посвятили этому 10 недель полного рабочего времени — да, для некоторых людей это вполне выполнимо . В конце концов, студенты колледжа становятся сносными разработчиками за один учебный год, когда они проходят другие несвязанные курсы.
Я бы сосредоточился на том, чтобы сначала полностью выяснить Java, не пытаясь использовать J2ME. Тогда вы можете переключиться.
Кроме того, поймите, что существует большая разница между языком и стандартной библиотекой. Главное-выучить язык. Существуют определенные стандартные вызовы библиотек, которые все используют и которые очень важны для изучения, но они не являются частью языка. Однако вы никогда по-настоящему не узнаете всю библиотеку (хотя вы узнаете из опыта). Гораздо важнее узнать, как найти функциональность, которую вы ищете , а затем точно знать, что это такое или где ее найти. Главное-не изобретать велосипед заново.
Кроме того, поймите, что вы можете быть сносным разработчиком только в конце. Опыт требует времени, и часто его нельзя торопить.
Кроме того, даже если вы научитесь программировать, вам будет не хватать некоторых важных общих знаний, таких как структуры данных и алгоритмы. Книги по программированию редко учат этому, вам придется научиться этому самостоятельно (см., например, учебники TopCoder).
Поделиться Uri 14 мая 2009 в 17:31
- Сколько времени требуется для выполнения цикла?
Есть ли какой-нибудь способ узнать, сколько секунд требуется циклу для выполнения в java? Например: for(int i=0; i < 1000000; i++) { //Do some difficult task goes in here } Это не обязательно должно быть точным 100%,, но это просто для того, чтобы иметь представление о том, сколько времени это…
- Сколько времени требуется SHA-1 для создания хэшей?
Примерно сколько времени и сколько вычислительной мощности требуется для создания SHA-1 хэшей данных? Сильно ли это отличается в зависимости от исходного размера данных? Будет ли генерация hash стандартного файла HTML занимать значительно больше времени, чем строка blah? Как бы C++, Java и PHP…
16
Хорошо, здесь много людей говорят: «yes» и «yes, but it will be hard», так что я буду отличаться.
Нет.
Проблема не в «learning Java» за 10 недель, потому что я думаю, что к тому времени, когда пройдет 10 недель, вы сможете запрограммировать некоторые вещи и иметь представление о том, что делать, чтобы решить некоторые простые вещи.
Но это не сделает вас готовыми к ускоренному курсу J2ME. Ускоренные курсы, как правило, предназначены для людей, которые имеют сильный опыт в предварительных условиях. Возможно, вы сможете делать многие вещи по ходу дела, но без фона, чтобы понять, почему вы делаете, это будет выглядеть как множество полуслучайных вещей, которые нужно запомнить наизусть, и, скорее всего, быстро исчезнет.
В принципе, я думаю, что это просто требует времени: время, чтобы уроки впитались, время, чтобы поэкспериментировать и потерпеть неудачу несколько раз, чтобы «почему» внезапно выпрыгнуло на вас…
В конечном счете, я подозреваю, что вы могли бы пройти через это, но в конечном итоге вы не станете очень опытным. (последние два абзаца поста Uri говорят обо всем.)
Я не хочу быть полным неудачником, и я определенно надеюсь , что у вас все будет хорошо, и мне бы не хотелось ставить на это деньги.
(Поймите, я не знаю вас с Adam…so Я делаю заявления, основанные на моем опыте того, как это было для меня, и людей, с которыми я работал with…so это не слабое место против you…just наблюдения, что это очень большая еда, которую вы садитесь есть.)
Поделиться Beska 14 мая 2009 в 18:17
7
Обучение программированию в первый раз похоже на изучение иностранного языка. Вы легко сможете воссоздать фразы, которым вас учат, но вам будет не хватать понимания контекста, почему это делается таким образом, и, следовательно, вы не сможете эффективно решать новые проблемы. Это просто требует времени.
Если вы начинающий программист, я действительно не могу рекомендовать Java. Python было бы намного лучше (отказ от ответственности: Python fan-boy, но по уважительным причинам).
Тем не менее, я не думаю, что новичок мог бы сделать намного лучше, чем Head First Java
Поделиться ShawnMilo 14 мая 2009 в 18:00
4
Основная проблема, с которой вы столкнулись, заключается в том, что вы впервые изучаете программирование с Java, и я думаю, что Java-не лучший язык для начала.
Я полагаю, что вы занимаетесь рабочим проектом, это так? Это давление может ухудшить ситуацию. В зависимости от того, насколько сложен проект, вы можете добиться успеха, но изучение Java за 10 недель без фоновых знаний-это еще одна проблема.
Поделиться ivmos 14 мая 2009 в 17:38
4
Я преподаю программирование Java в средней школе, и наш курс длится 14 недель. Этого времени достаточно, чтобы дать студентам прочную основу в объектно-ориентированном программировании, но студенты недостаточно опытны для разработки и крупных проектов или чего-либо слишком сложного.
Многие школы используют учебник Ламберта & Осборна:
Ламберт, К. & Осборн, М. Основы Java: Основы информатики AP для экзамена AP. 3-е изд. 2006. Технология курса Томсона.
Поделиться bestattendance 30 июля 2009 в 18:14
Поделиться Johannes 14 мая 2009 в 19:15
2
Я должен сказать, что вы многое берете на себя всего за 10 недель, я только что закончил семестр программирования Java в Юго-Восточном университете Индианы, и я не думаю, что я еще начал царапать поверхность. Java-очень строгий язык в том смысле, что его синтаксис очень трудно понять, если у вас вообще нет опыта программирования. Я предложу эти советы перейти к www.bluej.org и загрузить там, Java компилятор, с которым, как говорят, легче всего работать, и что большинство колледжей используют это. Кроме того, из того, что мы узнали, и из того, что я знаю сейчас, я могу сказать, что они правы. Java-это объектно-ориентированный язык, и Bluej дает вам отличное понимание объектов. Они также показывают вам, как проектировать, классы, методы, массив, список массивов, карты hash, все это есть на этом сайте, и это бесплатно. Я надеюсь, что это поможет и удачи вам в вашей задаче.
Поделиться kennethfsk 16 мая 2009 в 16:16
2
Мой опыт в программировании Java для начинающих нетрудно освоить; однако это действительно зависит от ваших навыков объектно-ориентированного программирования. Поскольку вы утверждаете , что у вас нет опыта программирования, я думаю , что рекомендую веб-сайт http://www.exampledepot.com/ и введите любое ключевое слово java, такое как Swing, FileInputStream, он предоставляет множество практических примеров, которые вы можете применить в проекте.
Пожалуйста, купите книгу java (Sams’java 6 за 24 часа) в качестве справки. Это даст вам действительно базовые навыки для java в течение короткого времени. и я уверен, что у вас будет достаточно времени, чтобы узнать о java и J2ME в течение 10 недель. удачи.
Тигр
Поделиться Tiger 15 мая 2009 в 01:53
2
Это зависит от того, насколько усердно вы хотите работать, но да, это возможно. Проблема, с которой вы столкнетесь, заключается в том, что вы должны научиться программировать вместе с изучением java. Это две совершенно разные вещи. Программирование-это знание того, как читать и писать логику, а Java-это язык, на котором вы ее пишете. Если у вас есть математическое или физическое образование, это будет намного проще, так как вы уже подвержены такому мышлению.
Если у вас нет книг о начале Java, я бы купил одну из них.
Я бы также взял код книги (я бы попытался пройти через это через несколько дней, если не в выходные, если это возможно). На самом деле с 10 неделями я бы сделал это в первую очередь, так как это будет основой для того, что вам нужно знать, чтобы запрограммировать Java.
С 10 неделями вам придется в значительной степени заниматься каждый вечер, чтобы освоиться к тому времени, когда вы пойдете в класс. Мой лучший совет заключается в том, что, когда вы посещаете занятия, делайте много заметок и не ожидайте, что поймете все. Большая часть того, что будет брошено в вас там, вероятно, сначала пройдет через вашу голову, и вы забудете. Все в порядке. После того, как урок закончится, вернитесь и просмотрите заметки и т. Д., Пока это не начнет иметь смысл.
Поделиться kemiller2002 14 мая 2009 в 17:32
2
Существуют различные школы мышления относительно того, сколько времени вам нужно, чтобы стать экспертом в программировании. Я не собираюсь ничего к этому добавлять. Я предлагаю, если у вас нет абсолютно никакого опыта программирования, сначала изучите C. Затем перейдите к Java. Следующий сайт очень хорош для изучения java. http://www.javapassion.com
Поделиться Christy John 30 июля 2009 в 18:07
1
10 недель? Ты с ума сошел? Java API является массивным, не говоря уже о Java EE, как можно пройти через это за 10 недель? возможно, вы могли бы пройти через 5% из этого за пару месяцев. Я бы сказал, что для новичка потребуется не менее года, чтобы опираться на основы Java. Я имею в виду, что вы не можете просто прочитать главу на тему, а затем думать, что понимаете ее. Вы должны потратить много времени, используя эту концепцию или часть API, чтобы, по крайней мере, зафиксировать ее в памяти, не говоря уже о том, чтобы действительно хорошо ее понять.
Реально я бы сказал, что по крайней мере 2, может быть, три года программирования, чтобы достичь стандарта начального уровня отрасли. И это в том случае, если вы действительно применяете себя.
Поделиться ally 31 марта 2011 в 18:45
1
Я бы не сказал, что у меня было «no programming experience», но до изучения J2ME большая часть того, что я делал, была на ассемблере более 10 лет назад.
Я пропустил изучение «JAVA» и изучил J2ME, который, по-видимому, является небольшим подмножеством java. Он достаточно мал (если вы игнорируете расширения), что он очень легко усваивается и легко объясняется в книге среднего размера. С этой точки зрения, это было немного похоже на ассемблер (несколько ограниченное количество вещей, которые нужно знать), хотя мне действительно нужно было узнать о OOP.
Я купил несколько книг J2ME, но одна из них, которую я нашел наиболее полезной, была: «Programming Wireless Devices with the Java 2 Platform» от Риггса и др.
Я не помню точно, сколько времени это заняло у меня, но я почти уверен, что писал развертываемый код (это было мобильное приложение табеля учета рабочего времени) за 12 недель или около того.
Поделиться Unknown 20 мая 2009 в 19:27
1
Я работал с некоторыми программистами-самоучками, которые читали такие вещи, как «изучите javascript за 0.01 дней». Каждый день стоил своей доли thedailywtf.com .
Кроме того, на приеме на работу вас спрашивают: «Сколько у вас javascript опыта?», ваш ответ «0.01 дней».
так что удачи, но я надеюсь, что наш путь не пересекется раньше, чем через несколько лет
Поделиться Eric 14 мая 2009 в 21:53
1
Выполнимо, да. Но вы упустили бы много теории программирования, поэтому, даже если вы достаточно хорошо знаете язык, чтобы кодировать на нем, вы не будете знать, как хорошо программировать. Я бы посоветовал вам взять несколько книг для начинающих по объектно — ориентированному дизайну, пока вы этим занимаетесь. Лучшие (по крайней мере, для меня) инструменты обучения и помощи для нового языка-это учебные пособия и форумы, подобные этому (не забудьте сначала погуглить, хотя есть много вопросов для начинающих, на которые можно ответить простым поиском).
Удачи!
Поделиться Fry 14 мая 2009 в 17:36
1
Вы определенно можете получить хорошее понимание Java за 10 недель, но, как упоминалось ранее, практика делает совершенным (или, по крайней мере, лучше…). :
Java API будет вашим другом: http://java.sun.com/j2se/1.5.0/docs/api/
Java имеет много встроенных функций, поэтому старайтесь не дублировать их (строковые функции и тому подобное).
Кроме того, IDE может немного усложнить некоторые вещи, но это также поможет вам найти свой путь вокруг API. Eclipse-хорошее место для начала (и это бесплатно) http://www.eclipse.org/
Надеюсь, это немного поможет..
Поделиться newfie_coder 14 мая 2009 в 17:40
1
Можете ли вы научиться рисовать, лепить или рисовать за десять недель? Любой может научиться нажимать клавиши для программирования, так же как любой может взять в руки кисть, но для развития артистизма требуется время и талант . Сделайте себе одолжение и потратьте время и усилия на обучение , а не на зубрежку . Уроки, которые вы извлекаете, прилагая согласованные усилия, чтобы знать, как развиваться , послужат вам гораздо лучше, чем цепляться за него, чтобы встретить какую-то произвольную дату.
Поделиться Wayne Hartman 14 мая 2009 в 17:41
1
Я могу посочувствовать… однажды я был в подобном затруднительном положении, хотя у меня, по крайней мере, был некоторый опыт. Я согласен с @ShawnMilo относительно кулака Java . Также рекомендую Sams Teach Yourself Java за 21 день , и, учитывая, что вы говорите, что у вас нет опыта программирования, я настоятельно призываю вас взглянуть на Процесс мышления, ориентированный на объект , Мэтта Вайсфельда. Я также согласен со всеми людьми в этой теме, которые говорят, что в программировании есть WAY больше, чем ‘simply’ изучение одного языка (особенно если это Java). Сказав это, желаю удачи и божьей скорости.
PS Я бы +1 @Patrick McDonald за чувство юмора, но у меня недостаточно репутации!
PPS И еще один виртуальный +1 для @Robin. Мне было интересно, когда Четыре йоркширца войдут в эту тему…
Поделиться avstrallen 14 мая 2009 в 18:16
1
Для java вам также нужно научиться использовать IDE и настроить свою среду, а также сделать так, чтобы java работал…
Тогда для J2ME вам нужно будет знать кое-что о встроенных/мобильных системах….
10 недель с учебниками были бы в порядке, но это также зависит от того, что вы собираетесь делать в своем курсе j2me…
Я бы пошел головой вперед в учебнике по j2me (предполагая, что вы знаете минимум о функциях переменных и OO)…
удачи…
Поделиться LB40 14 мая 2009 в 21:20
1
Лучший совет для обучения программированию в основном таков: пишите много программ.
Проект Эйлера содержит множество проблем, хорошо подходящих для этой цели, так как результирующие программы являются управляемыми по размеру, в то же время фактически позволяя вам решить явную проблему.
http://projecteuler.net/index.php
Поделиться Thorbjørn Ravn Andersen 14 мая 2009 в 21:34
1
У меня не было опыта программирования, и я хотел выучить PHP. Мне потребовалось около 6 месяцев практики помимо моей обычной работы, чтобы развить свои навыки, достаточные для написания нескольких простых приложений для веб-сайта. Java немного сложнее…
Поделиться Dan 10 января 2012 в 07:44
0
Как уже упоминали другие, 10 недель должно быть достаточно, если у вас есть опыт программирования на компьютере.
Ближе к 6-8 неделям, если вы Джефф Этвуд.
Поделиться Jack Leow 15 мая 2009 в 01:59
0
Я не понимаю, почему ты не мог этого сделать. Я книжный человек, поэтому выбери книгу и пробегись по ней. Создайте несколько небольших проектов и завершите их. 10 недель-это больше, чем я обычно получаю, чтобы выучить новый язык.
Получайте удовольствие и надеюсь, что вы многому научитесь.
Я бы выложил книги, с которыми выучился java, но они дома, а я нет.
Поделиться Primetime 14 мая 2009 в 17:31
Похожие вопросы:
Какова какая-то интуиция за тем, сколько времени требуется для запуска моего фрагмента кода?
Какова некоторая интуиция за тем, сколько времени требуется для запуска моего фрагмента кода? (т. е. сколько времени требуется, чтобы добавить 100 объектов в ArrayList в java?) Чтобы уточнить, я не…
Сколько свободы я должен оставить себе, чтобы выучить новый язык?
Я относительно недавно нанят и начинаю работать над небольшим, довольно простым проектом. Язык, на котором будет реализован этот проект, еще предстоит определить. Вопрос в основном сводится к — Java…
сколько времени вам нужно, чтобы научиться backbone.js
Я просто решаю выучить backbone.js. Я являюсь разработчиком front-end между младшим и средним уровнем. моя нынешняя работа связана с html, css и jQuery. Мой босс попросил меня выучить этот…
Сколько времени потребуется программисту, чтобы выучить ruby?
Сколько времени потребуется разработчику, чтобы выучить ruby. И разработать производственный веб-сайт, такой как stackoverflow ? Обычно. Если у разработчика есть опыт .NET, но нет опыта ruby и MYSQL…
Зная C++, сколько времени нужно, чтобы выучить Java?
Я компетентный разработчик C++. Я понимаю и использую полиморфизм, шаблоны, STL, и у меня есть твердое понимание того, как работают потоки. Для всех практических целей я не занимался разработкой…
Сколько времени требуется для выполнения цикла?
Есть ли какой-нибудь способ узнать, сколько секунд требуется циклу для выполнения в java? Например: for(int i=0; i < 1000000; i++) { //Do some difficult task goes in here } Это не обязательно…
Сколько времени требуется SHA-1 для создания хэшей?
Примерно сколько времени и сколько вычислительной мощности требуется для создания SHA-1 хэшей данных? Сильно ли это отличается в зависимости от исходного размера данных? Будет ли генерация hash…
Сколько времени мне нужно, чтобы выучить LabVIEW
Я знаю, что этот вопрос слишком абстрактен. Но. Сколько времени мне нужно, чтобы выучить LabVIEW, чтобы стать средним разработчиком LabVIEW? Например, если я куплю хорошую книгу о LabVIEW и у меня…
Сколько времени требуется для выделения массива (в Java)
Просто общий вопрос о распределении массивов, в первую очередь в Java, но я думаю, что он имеет отношение ко всем языкам программирования: Сколько времени требуется для выделения памяти для массива…
Сколько времени потребуется, чтобы выучить ionic framework?
Я уже знаю html,css, javascript сколько времени потребуется, чтобы выучить ionic framework и чем он отличается от angularjs?
Как нетехнический специалист научился кодировать с нуля
Я занимаюсь бизнесом, и, помимо интеллектуального любопытства и интереса к технологиям, у меня не было опыта программирования, баз данных или веб-дизайна.
Как и у большинства нетехнических специалистов, у меня есть много идей (разного качества), но мне не хватало технических ноу-хау для реализации и разработки минимально жизнеспособного продукта (MVP) без передачи технологии на аутсорсинг.
Как основатель, не имеющий технического образования, вы можете легко убедить себя, что ваши знания являются основным продуктом, а технология — только средством, поэтому их можно передать на аутсорсинг.К сожалению, это рассуждение чаще всего приводит к нежелательному результату — месяцы собеседований с разработчиками программного обеспечения, большое количество документов, высокие затраты, недиверсифицируемый риск, непредвиденные задержки и проблемы контроля качества, а также рабочие отношения, в которых вы зависите от доступности и доброжелательность вашего разработчика, пока вы не найдете кого-то другого, кто возьмет на себя управление. И, в конце концов, вы можете остаться ни с чем или с продуктом, который не является тем, о чем вы мечтали, и если вы потерпели неудачу из-за того, что полагались на других, а не по собственной инициативе, это еще больше усугубляет ситуацию.
В сентябре 2014 года я решил научиться Ruby on Rails и создать веб-приложение. У меня была простая идея: составить карту всей израильской финансовой экосистемы, чтобы помочь стартапам найти потенциальное финансирование и продвигать Нация стартапов.
Я сосредоточился на трех вещах:
- Израильские инвесторы и инвесторы с представителем в Израиле;
- Полнота данных; и
- степень детализации поиска, позволяющая стартапам находить инвесторов, соответствующих их местоположению, отрасли, рынку и / или стадии инвестирования.Например, найдите в Тель-Авиве венчурные компании, которые инвестируют в стартапы в области кибербезопасности на ранней стадии.
Я создал электронную таблицу и разработал схему: заголовки столбцов (например, название, местоположение, стадия инвестирования) и атрибуты (например, начальная стадия, начальная стадия). Затем я начал обрабатывать данные и заполнять электронную таблицу, постоянно уточняя схему, чтобы она оставалась простой и актуальной.
К концу сентября я собрал данные для более 250 компаний. Я намеренно начал с данных вместо того, чтобы научиться программировать, потому что таким образом, если мне не удастся создать приложение, я смогу хотя бы открыть исходный код электронной таблицы и внести значительный вклад в сообщество стартапов.
Теперь пришло время научиться программировать.
Шаг 1: HTML и CSS
Я провел выходные, просматривая уроки Codecademy по HTML и CSS. Эти упражнения позволят вам развить базовые знания и быстро научиться создавать макеты и стили веб-документа.
Цель состоит в том, чтобы понять, что вы можете делать с HTML и CSS, и почувствовать синтаксис. Не тратьте слишком много времени на эти уроки.
Шаг 2: Интерфейс командной строки
Я начал знакомиться с интерфейсом командной строки на моем компьютере (Терминал на Mac).Я выучил несколько основных команд: как создавать каталоги; перемещать, удалять и переименовывать файлы; переходить из одного каталога в другой.
Цель состоит в том, чтобы демистифицировать интерфейс командной строки и использовать его ежедневно, чтобы вам было комфортно с этим инструментом, как только вы начнете кодировать.
Шаг 3. Изучите язык программирования
Существует несколько статей и подробных сообщений на форумах, в которых обсуждается, какой язык программирования вам следует изучать и почему.
К сожалению, я не могу сказать вам, какой язык учить, за исключением того, что это, вероятно, не имеет значения.Если вы решите изучить PHP или Ruby, это нормально, или если вы хотите изучить Swift или Objective-C для создания приложений для iPhone, это тоже хорошо.
Не тратьте время на поиски оптимального языка для своего проекта, как большинство языков. Вместо этого сосредоточьтесь на том, что вы хотите создать, чтобы сузить круг вариантов, просмотрите синтаксис, прочитайте некоторый материал и начните изучать язык, который вам больше всего нравится.
Единственное, что я предлагаю — выбрать язык с большим онлайн-сообществом и надежными учебными материалами.Если у вас есть друг-разработчик, спросите его совета и послушайте.
Я выбрал Ruby и потратил несколько дней на изучение Codecademy. Эти удобные и простые учебные пособия дают хорошее введение в язык. Вы даже заметите, что без предварительных знаний вы все равно сможете понимать часть языка.
Ваша цель должна заключаться в применении и понимании, а не в запоминании синтаксиса. Например, вы научитесь различным способам создания циклов, но в первую очередь сосредоточитесь на том, почему вы можете захотеть создать цикл.Список компаний, который вы видите на домашней странице 972VC, проходит через цикл. Снова подумайте о приложении.
Шаг 4: Настройте среду кодирования
Я обнаружил, что это самый сложный шаг; потребовалось несколько попыток за выходные, чтобы сделать это правильно.
Я рекомендую сделать резервную копию жесткого диска, поскольку вы можете случайно удалить системные файлы или что-то испортить при установке технологий, необходимых для вашего проекта. Здесь вам, вероятно, больше всего понадобится помощь, поэтому обязательно обратитесь, если у вас есть друг-разработчик или, возможно, посетите Meetup.
Вам также потребуется загрузить редактор кода. Выберите инструмент, который использует ваш друг, или выберите редактор, который вам больше нравится.
Шаг 5: Изучите Rails
После того, как я настроил свою среду кодирования, я провел следующие несколько дней, изучая учебник Blogger от Jumpstart Lab, который обучает четырем основным функциям — Create, Read, Update and Destroy (CRUD) — которые вам нужно создать простое приложение Ruby on Rails.
Цель аналогична другим руководствам — сосредоточиться на применении и понимании, а не на запоминании синтаксиса.Подумайте, создали ли вы во время обучения какие-либо функции, которые можно использовать в своем проекте.
Также важно, чтобы вы согласились с тем, что потребуется время, прежде чем вы поймете, что вы делаете во время этих руководств. Просто плывите по течению и примите неопределенность. Не расстраивайтесь и не сдавайтесь.
Шаг 6: Начните создавать свое приложение
На этом этапе вы изучили основы: HTML, CSS и язык по вашему выбору. Вы также познакомитесь с интерфейсом командной строки и настроите среду кодирования.
В октябре я начал работать над 972VC после того, как закончил вышеупомянутые руководства, и к концу ноября приложение было запущено.
Полученные уроки
Научитесь искать
В течение первых нескольких дней разработки я не мог выполнять даже самые простые задачи; Фактически, в течение всего проекта я тратил больше времени на Google, чем на кодирование. То же самое произойдет и с вами, поэтому вам не следует тратить время на запоминание синтаксиса. Научитесь эффективно искать и проявлять изобретательность, поскольку это будет вашим самым важным навыком.
Принципы бережливого стартапа
Вы получаете явное преимущество по сравнению с опытным разработчиком. Поскольку у вас нет предыдущих знаний или опыта в области программирования, вам нужно будет сократить идею вашего приложения до самого необходимого.
Сосредоточьтесь на сути вашего продукта и упростите, где это возможно.
Ни напряжения, ни выгоды
Не полагайтесь на других в разработке вашего приложения.
Нужно быть настойчивым и настойчивым. Если вы новичок, обучение программированию требует другого мышления, чем вы привыкли, поэтому, конечно, это будет сложно.Но, возясь с проблемой в течение нескольких часов, вы постепенно начнете понимать, как все (вроде) работает.
По мере вашего обучения вы больше не будете довольствоваться первым найденным решением — вы начнете искать более эффективные способы решения ваших проблем с кодированием.
Сообщества
Stack Overflow — это онлайн-сообщество для разработчиков. Это отличное место, чтобы учиться и задавать вопросы, когда вы застряли. К сожалению, это не всегда такое дружелюбное место для новичков, но есть много стойких членов сообщества, которые сделают все возможное, чтобы помочь вам.
Задавайте вопросы, но не ждите, что другие решат ваши проблемы. Продолжайте работать над проблемами, с которыми вы столкнулись, даже если вы разместили их на Stack Overflow. Возможно, вы даже ответите на некоторые из своих вопросов и внесете свой вклад в сообщество.
Еще один замечательный ресурс, о котором вы должны знать, — это CodePen, среда социальной разработки для интерфейсных дизайнеров и разработчиков. Я использую CodePen для вдохновения в дизайне и для просмотра фрагментов кода.
Есть также каналы Slack и другие онлайн-сообщества, к которым вы можете присоединиться, чтобы продолжить свое обучение.
Кодирование похоже на головоломку
На базовом уровне вы можете думать о кодировании как о интерактивной головоломке. Разбейте свою идею на более мелкие управляемые части, которые можно собрать вместе для создания приложения.
Выполняя эти задачи, вы увидите реальный прогресс. Это поможет уменьшить вашу загруженность и риск потери интереса. Не теряйте интереса.
Учебники
Не тратьте недели или месяцы на изучение книг, учебных пособий и скринкастов, если только вы не предпочитаете более теоретический подход к обучению.
Вместо этого сосредоточьтесь на обучении на практике. Вот почему так важно с самого начала иметь четкое представление о том, что вы хотите построить.
Используйте учебные пособия, блоги и другие ресурсы, когда вам нужно научиться делать что-то конкретное. И обязательно проверяйте и учитесь на проектах с открытым исходным кодом.
Открытый исходный код
Открытый исходный код может быть самым замечательным открытием для нетехнических специалистов, обучающихся программированию, поскольку функциональность, которую вы ищете, вероятно, имеет открытый исходный код, поэтому вам не нужно изобретать колесо.Например, если вы хотите отложить загрузку изображений или удалить неиспользуемый CSS, вы можете найти надежные проекты с открытым исходным кодом, которые находятся в свободном доступе.
Следовательно, вы часто будете использовать подход «грязных рук» к обучению: вы найдете код, который решает вашу проблему, попытаетесь заставить его работать в своем приложении, разберете его, зададите вопросы и измените код. чтобы соответствовать вашей цели.
Кодируйте ежедневно и развертывайте часто
Старайтесь работать над своим приложением каждый день, даже если это займет всего несколько минут, особенно в начале проекта, поскольку важно, чтобы вы привыкли к своей среде кодирования.
Не беспокойтесь о передовых методах и соглашениях. Вначале это просто шум, но вы захотите усвоить эти принципы по мере продвижения.
Я бы также посоветовал вам как можно скорее развернуть приложение, чтобы избежать проблем в будущем. Частое развертывание сэкономит ваше время, когда вы, наконец, будете готовы к запуску своего приложения.
Технологии
Будьте готовы изучить несколько технологий, поскольку (вероятно) будет недостаточно выучить только язык программирования для создания своего приложения.Вы можете в конечном итоге использовать такие технологии, как Git, JavaScript и PostgreSQL.
Празднуйте маленькие победы
Научиться программировать сложно, и еще труднее, если вы делаете это самостоятельно. Следовательно, вам нужно рассматривать каждый шаг вперед, независимо от того, насколько он мал, как законный успех.
Следует ли вам научиться программировать, даже если вы не хотите быть разработчиком?
Выполнив описанные выше шаги и адаптируя их к вашим потребностям, вы можете создать простое приложение за несколько недель или месяцев.
Но, что более важно, вы расширите свои возможности и выучите новый навык. Возможно, вы станете более ценным участником на рабочем месте, поскольку теперь понимаете код на базовом уровне и сможете лучше общаться с разработчиками и дизайнерами.
У вас также будет возможность воплощать в жизнь свои собственные идеи, не тратя большие суммы на аутсорсинг. В случае 972VC общая стоимость создания и запуска приложения составила 9 долларов (RailsCasts плюс домен. Если вы решите передать разработку на аутсорсинг, у вас будет больше шансов на переговоры.
И если вы решите взять свой MVP и стать большим (т. Е. Подход «сделай сам»), вы узнаете все различные роли стартапа: как создать компанию, бухгалтерский учет, продажи и маркетинг, инжиниринг. , UX / UI дизайн, управление продуктами, развитие и администрирование бизнеса.
Сегодня: 972VC
С тех пор, как я запустил 972VC, он стал одним из наиболее всеобъемлющих ресурсов для израильских стартапов, которые ищут финансирование в связи с программами Private Equity и Venture Capital, а также Accelerator и Incubator.Кроме того, он предлагает информацию о группах бизнес-ангелов, краудфандинговых платформах, коворкинг-пространствах и некоммерческих организациях, которые используют технологию «Tech for Good».
Если вы являетесь частью экосистемы финансирования Startup Nation, а не участвуете в 972VC, присоединяйтесь к сообществу!
Ресурсы
Я составил список ресурсов, которые помогут вам в вашем путешествии по программированию и созданию приложения. Это ресурсы, которые я использовал или встречал при создании своего приложения, и в конечном итоге сделал возможным 972VC.Я надеюсь, что они принесут вам одинаковую пользу.
- Интерфейс командной строки: Шпаргалка по терминалу для Mac
- Руководство по установке: GoRails
- Диспетчер пакетов программного обеспечения для OS X: Homebrew
- Редактор кода: Atom, Sublime Text, Vim и Visual Studio Code
- Учебники: CSS-Tricks, Codecademy, Jumpstart Lab, RailsCasts, RubyMonk и Ruby on Rails Tutorial
- Ruby on Rails проекты с открытым исходным кодом: Open Source Rails
- Аутентификация: Devise
- Автозаполнение: Algolia, jQuery UI, Select2, Selectize и typeahead.js
- CMS: Active Admin и RailsAdmin
- Внешние фреймворки: Bootstrap, Foundation, Tachyons и Tailwind CSS
- Полнотекстовый поиск: Algolia, Elasticsearch, PgSearch, Solr и Thinking Sphinx
- Иконки: Font Awesome
- Пагинация: Kaminari и will_paginate
- Красивые URL-адреса: FriendlyId
- База данных: MongoDB, MySQL и PostgreSQL
- Форумы: SitePoint и Stack Overflow
- Редакторы кода в вашем браузере: CodePen и JSFiddle
- Компилятор JavaScript для CoffeeScript: Js2coffee
- Веб-офис набор: Документы Google
- Руководство по стилю Ruby: Руководство по стилю кодирования Ruby, управляемое сообществом
- Контроль версий: Git
- Служба хостинга репозитория: GitHub и GitLab
- Услуги веб-хостинга: AWS, Engine Yard и Heroku
- DNS и управление доменами : DNSimple
- Тестирование браузера: BrowserStack
- Сканер безопасности веб-сайтов: Detectify 900 13 Нагрузочное тестирование: Загрузчик.io
- Analytics: Fathom, Google Analytics, Segment and Simple Analytics
- Информационный бюллетень: Mailchimp, Revue и Substack
- Генератор политики конфиденциальности: iubenda
- Инструмент дизайна: Figma, Sketch
- Генераторы доменов: Domainr, NameMesh, NameRobot и Panabee
Это первая часть из двух частей. Вы можете прочитать вторую часть здесь.
Как успешно научиться кодировать
by Lydia Hallie
После того, как я опубликовал свою предыдущую статью о том, как я стал 19-летним разработчиком программного обеспечения, сотни людей пришли ко мне с одним и тем же сообщением: «Мне понравилось читать вашу статью, и я действительно хочу научиться программировать, но я просто не могу сделать этот первый шаг.Это так расстраивает и подавляет, мне не хватает структуры и мотивации ». Я хочу вовлечь в мир технологий как можно больше людей, и я думаю, что очень важно сосредоточиться на людях, которые очень мотивированы, но просто не знают, как это сделать.
Я знаю, что в настоящее время существуют тысячи ресурсов, которые «научат вас программировать». Однако это определенно не самая важная часть здесь, и на самом деле не об этом. Как вы структурируете свою жизнь вокруг этого, обрабатываете всю новую информацию, сохраняете мотивацию и сосредотачиваетесь на правильных частях имеет решающее значение.
Да, Лидия, звучит неплохо и все такое, но я чувствую, что это будет просто еще одна статья, которая будет мотивировать меня примерно на 10 минут, пока я снова не вернусь к просмотру Netflix! Прежде чем я начну, я действительно хочу, чтобы вы осознали, что если вы готовы научить себя программировать или научиться программировать в целом, вы великолепны. Вы уже показали, что можете думать на несколько шагов вперед и можете вытолкнуть себя далеко из своей зоны комфорта, даже если еще этого не сделали! Если вам интересно узнать что-то, чего вы еще не знаете, и что-то непосильное, вы определенно станете хорошим разработчиком.
Я был репетитором много лет и часто видел закономерность, когда студенты говорили мне, что у них больше нет мотивации. Они сосредоточились на более крупной цели, игнорируя небольшие, но очень важные улучшения, которые они делали, что заставляло их чувствовать, что они никуда не денутся. Хотя я знал, что это очень важная вещь, о которой нужно помнить при изучении нового навыка, я обнаружил, что у меня точно такие же мысли, когда я начал программировать. Я чувствовал, что на самом деле не добился никакого прогресса, так как я думал, что все вокруг меня были на много уровней выше, чем я, и я никогда не смогу добиться в этом такого же успеха.
Обдумывая все это, я полностью проигнорировал многие важные шаги, которые я уже сделал. Прежде чем я узнал об этом, я мог писать код, даже не задумываясь дважды, и каждый раз мог создавать более сложные приложения. Просто потому, что я продолжал сравнивать себя с людьми, у которых был многолетний опыт, я даже не видел в этом прогресса. Все, что я мог подумать, было: « Я все еще так далек от своей цели».
Горбинка при обучении программированию реальна, и каждый изо всех сил пытается ее преодолеть.У некоторых людей горб больше, чем у других, но я действительно хочу помочь вам преодолеть это. Этого не должно быть, поскольку все в вашей голове, но это легче сказать, чем сделать. У каждого своя борьба, но я остановлюсь на наиболее распространенных проблемах, с которыми люди сталкиваются, когда учатся программировать: как максимально эффективно обрабатывать новую информацию и как сохранять мотивацию. Я не собираюсь сосредотачиваться на том, как найти лучшие ресурсы , так как это очень субъективно.
Даже когда я закончил относительно небольшой проект, я был так счастлив! За это время я многому научился и смог создать что-то с помощью технологий, с которыми никогда раньше не работал.Эффективное обращение с новой информацией
Все люди разные, и не все воспринимают информацию так же, как другие. Да, , капитан. Очевидно, , но это не так очевидно, как может показаться. Прежде чем вы начнете учиться программировать, вам нужно научиться учиться.
Вы скоро узнаете или, возможно, уже узнаете, что есть два типа ресурсов, доступных повсюду: онлайн-курсы и языковая документация.Однако, пока вы не являетесь каким-то сверхчеловеческим гением, вы просто не запомните всю новую информацию, просто просматривая курсы (особенно потому, что очень трудно оставаться сосредоточенным, давайте не будем обманывать себя, они могут быть крайне скучно, ) или чтение простого текста. Совершенно нормально чувствовать себя потерянным и сбитым с толку во время просмотра курсов или чтения документации, вначале у всех возникают трудности. Программистам бывает трудно объяснять код людям, которые не обладают такими обширными знаниями о нем, без использования других расплывчатых вызывающих терминов (глядя на вас, переполнение стека!).
Неважно, насколько вы хороши в себе: не упускает из виду основы. Всегда начинайте изучать язык с самого начала и ничего не пропускайте. Основы чрезвычайно важны, и вы пожалеете об этом позже, если не обратите на них внимание! Да, вы всегда можете погуглить, но это только сделает вас медленнее. Если вы читаете документацию, начните с первой страницы (или 1.1 во многих случаях) и продолжайте читать дальше. Некоторым это может показаться пустой тратой времени, но, поверьте, это не так.Обратите внимание на мелкие детали, и потом поблагодарите себя!
Если вам сложно понять основы, расслабьтесь! У тебя все будет в порядке. То, сколько вы боретесь прямо сейчас, абсолютно не означает, насколько хорошим программистом вы станете позже.
Через каждые 10 минут или после каждого прочитанного абзаца объясните своими словами то, что вы только что выучили . Это может быть довольно сложно, но вскоре вы обнаружите, что еще не совсем понимаете.Преподавание — лучший способ учиться, даже если рядом никого нет! Представьте, что вы объясняете это кому-то другому, и как только вы поймете, что не очень хорошо понимаете определенную часть: сразу исследуйте это и запишите ответ! На самом деле записывая это, вы еще больше думаете об ответе, что значительно упрощает его запоминание.
Не просто слушайте курс или не просто читайте документацию: активно участвуйте, имея собственный личный проект на стороне. Реализуйте все, что вы изучаете, независимо от того, насколько они малы! Это не так просто, как кажется, на самом деле это может очень расстраивать, и тогда вы знаете, что делаете это правильно. Вы улучшаете свои навыки программирования, делая это часто, а не просто зная это! Поверьте, вы становитесь лучше с каждым разом, даже если вы этого не осознаёте!
К счастью, у меня была Мила, чтобы все объяснить! Сохранение мотивацииМногие люди спрашивали меня, как я смог заставить себя так много писать код в обычный день.Мне потребовалось время, чтобы найти хороший способ объяснить свои мысли, лежащие в основе этого, но я думаю, что наконец нашел его!
Играть в игры любят все, независимо от типа игры. Людям нравятся игры, потому что вы мгновенно получаете удовольствие, чувствуете, что чего-то добились, и видите, как становитесь лучше в этом. Это идеальная формула мотивации! Мне удалось получить то же самое, но при кодировании, а не в играх. И это намного проще, чем вы думаете.
Ставьте маленькие цели. Не потому, что вы не заботитесь об улучшениях, а потому, что вы действительно заботитесь об улучшениях. Составьте список дел, которые вы хотите сделать в этот день: может быть, это просто чтение 1 страницы, просмотр 1 курса или просто написание 10 строк кода. Если вы сможете сказать, что выполнили весь свой список дел, вы почувствуете себя очень довольным и гораздо более уверенным в своем прогрессе. Гораздо лучше сказать: « Я сделал сегодня все, что хотел, », чем сказать: « Я закончил сегодня только 2% курса ».Кроме того, даже если вы прочитали только 1 страницу или создали 1 поле ввода, это все равно чрезвычайно важно знать. Мгновенное удовлетворение!
Постоянно напоминайте себе, как далеко вы уже продвинулись. Это может показаться действительно сложным, потому что часто остается незамеченным. Вы не замечаете, что прогрессируете активно, но поверьте мне: каждый день, когда вы программируете (даже немного), вы становитесь лучше. Лучший способ сделать это — завести небольшой дневник. Объясните одним предложением, с чем вы боролись в тот день, и вспомните об этом через месяц.Есть очень, очень большой шанс, что теперь вы совсем не боретесь с этим! Вы видите, что становитесь лучше в этом.
Работайте над личным проектом, который вас действительно интересует! Не один из миллиона списков дел, а то, что вы действительно хотите создать. Теперь не думайте о беспилотном автомобиле или роботе, который может мыть за вас посуду, но, выбрав что-то меньшее, например, воссоздание макета веб-сайта или небольшую игру, вы заметите, что у вас гораздо больше мотивации к закончи это.Как только проект будет завершен, вам действительно есть что показать: , вы кое-что достигли!
Осознайте, что у вас дела идут намного лучше, чем вы думаете. Его еще называют синдромом самозванца. Вам может казаться, что все вокруг вас знают об этом гораздо больше и намного лучше умеют это делать, но это просто неправда. Не могу не подчеркнуть: вы будете хорошим разработчиком, если будете продолжать настаивать. Вы уже доказали, что способны программировать, просто имея достаточно мотивации, чтобы научиться этому, вы полностью это поняли.
О чем всегда нужно помнить
- Никогда не сравнивайте себя с другими разработчиками . Очень шаблонный совет, но он очень важен. Не сравнивайте свою 1-ю главу с 20-й главой другого человека. Вы окажетесь на их месте намного быстрее, чем вы думаете! Я разместил это фото выше, потому что знаю, что я бы испугался, если бы увидел это 4 месяца назад. Теперь я просто смеюсь над этим и даже могу заметить некоторые ошибки, которые я там сделал!
- Вы добиваетесь гораздо большего прогресса, чем думаете. Каждый раз, когда вы учитесь или пишете код, вы растете. Просто прими это (я знаю, это сложно).
- Вначале все борются, вы не одиноки, и это не значит, что вы будете плохим программистом. То, как вы сейчас себя чувствуете, совершенно нормально, и это всего лишь часть процесса обучения. Скоро вы оглянетесь на свое разочарование и согласитесь со мной!
Если можете, попробуйте найти наставника. У меня было самое лучшее, о чем я когда-либо мечтал, и я абсолютно готов стать вашим , если вы свяжетесь со мной .Замечательно, если вы можете задать кому-то быстрые вопросы и получить вдохновение, это определенно помогает преодолеть эту горбину.
Не стесняйтесь задавать мне вопросы или запрашивать нужные ресурсы, отправляя мне сообщение в моем Instagram или добавляя меня в LinkedIn!
7 советов и приемов, чтобы научиться программировать быстрее
Один из распространенных и основных вопросов среди студентов или тех, кто хочет выучить код, — «Как я могу быстро научиться программировать и сделать карьеру программиста?».Независимо от того, являетесь ли вы студентом, новичком или опытным человеком, пытающимся сменить работу в программировании, вы обязательно попытаетесь найти советы и рекомендации для быстрого и эффективного изучения программирования. Работа программистов — одна из самых высокооплачиваемых на рынке и одна из самых крутых профессий, которые люди могут делать. На обучение и освоение кода у новичка могут уйти годы. Большинство людей сдаются, прежде чем по-настоящему начинают. Вначале нас очень вдохновляет концепция обучения программированию, но позже в большинстве случаев студенты или новички быстро сдаются, потому что им трудно продолжать, они застревают и сталкиваются с трудностями в поиске решения для кода. .Научиться программировать — это не путешествие в одночасье, но и не так сложно, как думают люди. Все, что для этого требуется, — это целеустремленность, энтузиазм, интерес и определенно терпение. В Интернете и в автономном режиме доступно множество ресурсов, позволяющих легко, быстро и эффективно научиться программировать. Мы обсудим несколько советов, как научиться программировать эффективно и быстрее.
1. Сделайте свои основы ясными:
Распространенная ошибка, которую совершает студент или новичок при изучении программирования, — это пропускать основы или главу 1 и сразу же сразу переходить к следующей главе.Чтобы понять сложные концепции программирования, вам необходимо четко понимать основы программирования. Если вы совершите ту же ошибку, то в какой-то момент вы попадете в большую путаницу, и вам придется снова вернуться к своим основам. Эти основы — структуры данных, переменные, управляющие структуры, синтаксис, инструменты или текстовые редакторы. Когда вы начинаете программировать, выберите один язык программирования, придерживайтесь его и сначала очистите все основы программирования, прежде чем переходить на следующий уровень.Ваше общее время на изучение кодирования определенно будет сэкономлено, если вы пойдете по этому пути.
2. Учиться, делая, практикуя, а не просто читая:
Распространенная ошибка, которую делают новички при изучении программирования, — это просто читать книгу или смотреть на образец кода на своем рабочем столе, но не практиковать его. Легко читать о циклах, переменных и обо всем на свете, но на самом деле программирование не работает таким образом. Вам действительно нужно запачкать руки в кодировании и продолжать регулярно его практиковать.Когда вы начинаете программировать, вы сталкиваетесь с множеством проблем, вы застреваете там, вас попросят реализовать код практически и найти решение для конкретной проблемы, и там вы почесаете голову при реализации кода. Когда вы пишете код, играете с кодом, меняете код, чтобы увидеть разные результаты, оптимизируете код и пробуете разные решения, ваше логическое мышление улучшается день ото дня, и вы, в конечном итоге, узнаете много вещей, которые сделают вас лучшим программистом. .Когда вы начинаете кодировать, повторяйте один и тот же код или образец снова и снова до тех пор, пока вам не придется обращаться к той же книге или источнику, из которых вы узнали, или если вам не понадобится. Также создайте свой собственный проект, участвуйте в задачах по кодированию, играйте в игры, связанные с кодированием, каждый день практикуйте его самостоятельно.
3. Код вручную:
Когда вы начнете программировать как новичок, вы подумаете, почему я должен кодировать вручную. Это трудоемкий процесс, я не могу запустить и проверить свой код на бумаге, а также, если мне действительно нужно что-то реализовать в моей системе, тогда зачем мне использовать ручку и бумагу.Одна из главных причин интервью . Когда вы будете подавать заявление о приеме на работу в области программирования, в большинстве случаев процесс технической оценки будет включать код вручную. Вам будет предложено написать код, используя ручку и бумагу, или вам, возможно, придется использовать доску. Ручное программирование — это старая техника, но на самом деле оно включает в себя проверку навыков программиста. Кодирование вручную может дать вам четкое представление о синтаксисе и алгоритмах, вы установите более глубокую связь в своем мозгу.Изучение программирования таким образом облегчит и ускорит вашу работу в дальнейшем.
4. Делитесь, обучайте, обсуждайте и просите о помощи:
Один из лучших способов легко и быстро понять программирование — это обучение. Обучая кого-то, делясь своими знаниями, проводя дискуссии с другими программистами, вы быстро станете лучшим программистом. Обучение кого-то — это обучение и самого себя, поэтому, если вы можете научить кого-то, это означает, что вы действительно понимаете концепции.Это лучшая привычка — изучать что-то глубоко, и вы поймете, что вам не нужно возвращаться к той же теме.
Вы также можете участвовать в проектах с открытым исходным кодом, обсуждать свой код со своими со-программистами или вносить свой вклад в Github, также вы можете получить помощь на форуме или на сайте обсуждения. Когда вы изучаете программирование, не стесняйтесь обращаться за помощью. Новички совершают эту ошибку и стесняются попросить о помощи. Неважно, задаете ли вы глупые вопросы и выглядите глупо, это поможет вам в долгосрочной перспективе, а если вы этого не сделаете, то позже вы столкнетесь с трудностями при программировании.Так что хорошо найти наставника или воспользоваться помощью других программистов, чтобы легко и быстро понять концепции. Ваш наставник или профессионал могут помочь вам лучше, потому что они уже были на вашем месте раньше.
5. Используйте онлайн-ресурсы:
Есть множество онлайн-ресурсов, доступных как платных, так и бесплатных. Вы можете воспользоваться помощью этих онлайн-ресурсов и начать свое путешествие по программированию. Вы можете подписаться на каналы YouTube или попробовать учебные лагеря по программированию, чтобы быстро и эффективно изучить программирование.GeeksforGeeks, Udemy, Coursera и множество других ресурсов для руководства и изучения программирования. Также возьмите за привычку читать блоги, связанные с программированием, и пользоваться помощью Stackoverflow, субреддита Reddit для «обучения программированию», такого как сайт или онлайн-сообщество.
6. Делайте перерывы:
Если вы хотите научиться программированию, нехорошо часами сидеть перед компьютером и пытаться понять все сразу. Вы будете утомлены этим, поэтому лучше изучать кодирование по частям.Сделайте короткие перерывы, чтобы освежиться. Вы также должны помнить об этом при отладке кода. Иногда вы тратите часы и часы, чтобы найти ошибку, но вы не можете найти решение для своего кода, поэтому хорошо сделать небольшой перерыв, очистить свой разум и заняться чем-нибудь еще. Это восстановит ваше внимание, и вы можете найти решение для своего кода, в котором вы застряли. Кроме того, постарайтесь избавиться от всех отвлекающих факторов. Отключите уведомления на телефоне, уведомления по электронной почте и попытайтесь изолировать себя, чтобы сосредоточиться.Таким образом вы сэкономите время и избавитесь от головной боли или разочарования.
7. Научитесь пользоваться отладчиком:
Ошибки при кодировании — очень распространенное явление, и это вполне допустимо в программировании. Вначале вы обнаружите много ошибок в своем коде, поэтому хорошо использовать отладчики, чтобы обнаруживать ошибки, влияющие на ваш результат, и проверять, где вы допустили ошибку. Вы сэкономите много времени, используя отладчик или инструмент для исправления ошибок в вашем коде. Если вы хорошо разбираетесь в отладке, вам будет легче научиться программировать.Так что научитесь использовать некоторые хорошие методы отладки или использовать инструменты для проверки своего фрагмента кода.
В конце концов, последний совет — не бросать курить, когда вы начинаете свой путь в программировании. В середине вы можете подумать, что недостаточно умны, чтобы кодировать, но имейте в виду, что для того, чтобы думать, как кодировщик, требуется некоторое время и терпение, но чтобы быстро научиться этому, вам просто нужно следовать правильным путем и быть последовательным. . Выполняйте все шаг за шагом, сначала проясните свои основы, продолжайте практиковать это, и как только вы закончите с основами, принимайте вызовы и участвуйте в соревновательном программировании на разных сайтах, чтобы стать лучше, развить свои логические способности и думать как кодер.Позже вы поймете, насколько хорошим программистом вы стали, практикуя его каждый божий день.
Удачи и счастливого кодирования !!!
Вам сложно изучать программирование? Вот почему. | Наташа Селварадж
Вы слишком много раз пытались и сдались. Может, ты просто не годишься для этого.
Фото Кристофера Гауэра на UnsplashВы потратили бесчисленное количество часов, изучая обучающие материалы на YouTube, посещая платные онлайн-курсы и читая вводные статьи по программированию.Тем не менее, кажется, что есть преграда, которую вы просто не можете преодолеть. Есть люди, которые пишут сложный код, которого вы не понимаете, и решают сложные проблемы программирования.
«Я никогда не смогу стать таким, как они», — думаете вы с благоговением. «Как они научились это делать?»
Я скажу вам одно — они определенно не родились знающими, как программировать, и они не умнее вас .
В этой статье я расскажу о шагах, которые вы можете предпринять, чтобы преодолеть страх программирования.
Если вы увлечены тем, что хотите заниматься программированием (например, наука о данных или разработка программного обеспечения), вам действительно важно преодолеть этот страх. Больше всего тревога от кодирования может удерживать вас от прогресса на долгие годы. Тем не менее, об этом мало кто говорит.
Фото Тима Гоу на UnsplashЯ был отличником в школе.
Я гордился своей способностью решать задачи и любил такие предметы, как математика и естественные науки.Я быстро учился и почти не делал ошибок.
Однако все изменилось, когда я закончил среднюю школу.
Программирование — это не то же самое, что предметы, преподаваемые в старшей школе. Единственный способ учиться — совершать ошибки. Как человек, не привыкший к этому, я был удивлен, сколько времени мне потребовалось, чтобы научиться программировать.
«Я делаю слишком много ошибок», — подумал я.
Внезапно я стал не лучшим в том, что делал. Я боролся с кажущимися простыми задачами — даже с настройкой среды программирования.
Я начал думать, что не создан для программирования.
У всех это получалось лучше, чем у меня. Я не мог даже скомпилировать код в Интернете без ошибок, не говоря уже о том, чтобы понять его или написать свою собственную программу.
Это привело к большому разочарованию, и я сдался.
И это случилось не однажды.
Думаю, я пробовал научиться программировать и проходил онлайн-курсы по разным языкам программирования более 10 раз.
И каждый раз, думая, что я недостаточно хорош, я сдавался.
Проблема, с которой я столкнулся, заключалась не в неуверенности. Все было наоборот. Я был слишком уверен в себе. Я был настолько уверен в себе, что когда что-то происходило не так, как я хотел, я расстраивался и сдавался.
Моя самая большая ошибка?
Думать, что программированию можно научиться за короткий период времени, и не признавать, что есть кривая обучения. Если бы я понимал и принимал, что обучение программированию с нуля требует усилий и терпения, я мог бы сэкономить много времени и разочарований.
В этой статье я расскажу о том, какое отношение вам нужно, чтобы добиться успеха в этой области.
Когда я отказывался от обучения программированию, я думал, что в мире есть два типа людей: люди, которые не умеют программировать, и люди, не умеющие программировать.
Оказывается, я был прав.
Однако люди, которые не умеют программировать, не обязательно умнее вас.
У них просто определенный образ мышления и отношение, которое помогло им преуспеть в этой области.С таким же отношением вы тоже можете туда попасть.
Фото АЛАНА ДЕ ЛА КРУЗА на UnsplashСначала вам нужно признать, что у вас ничего не получается.
Все, что вы сделали, — это прослушали один или два онлайн-курса и сделали несколько уроков по программированию. Конечно, ты еще не хорош в этом.
Есть люди, которые посвятили всю свою жизнь работе, а вы только начинаете.
Помните, что в следующий раз, когда вы увидите кучу сложного кода, вы не поймете.Вместо того чтобы удивляться тому, насколько хорошо другой человек решает проблему и что вы, вероятно, никогда не добьетесь этого, подумайте о времени и усилиях, которые он бы потратил, чтобы достичь своего уровня.
Если вы хотите стать хотя бы вдвое хуже, вам просто нужно приложить больше усилий.
Это не соревнование. То, что им удалось решить сложную проблему, которую вы не смогли решить, не означает, что они умнее вас.
Они потратили больше времени и усилий, чем вы.Чтобы попасть туда, вам нужно сделать то же самое.
Учитесь быть терпеливыми
Фото Адриена Делфорджа на UnsplashТерпение, возможно, одна из самых важных черт характера программиста. Вы должны быть тем, кто может часами смотреть в экран компьютера.
На решение кажущейся простой проблемы могут уйти часы или даже дни.
Вы можете учиться, только сидя и часами отлаживая код.
Мне было действительно трудно развить терпение, чтобы развить эту привычку.
Если вы похожи на меня, и вам быстро становится скучно или у вас мало внимания, вам нужно потратить много времени, тренируя себя, чтобы быть терпеливым.
Как только вы начнете изучать искусство смотреть в экран компьютера и тратить часы на решение проблемы, вы намного ближе к достижению своей цели — стать хорошим программистом.
Упрямство
Фото Видара Нордли-Матисена на UnsplashУпрямство: упорное стремление не менять своего отношения или позиции в отношении чего-либо.
Помните, когда вы были ребенком, и ваши родители отказались купить вам игрушку, о которой вы просили?
Вы кричали, плакали и скулили часами.Вы отказались выйти с ними из магазина, пока они не купили его для вас, и устроили сцену.
Наконец, твои родители уступили. Они сдались и купили тебе игрушку.
Это именно то упрямство, которое вам нужно при обучении программированию.
Отказаться от ответа.
Каждый раз, когда вы расстраиваетесь из-за того, что не знаете, как действовать, или не запускается связка кода, просто не сдавайтесь.
Оставайтесь там и покажите ту же решимость, что и в детстве.Если вы хотите этого хотя бы наполовину так же сильно, как вы хотели игрушку в детстве, то вы останетесь там и закончите то, что начали.
Помните: если вы действительно этого хотите, независимо от того, насколько неприятны вещи, вы останетесь там и пройдете через сложную часть.
Достаточная уверенность
Фотография Джошуа Бачанда на UnsplashЧрезмерная уверенность — это плохо.
Чрезмерная самоуверенность помешает вам добиться прогресса, потому что вы слишком многого ожидаете от себя.
Есть люди, которые намного лучше, чем вы.Когда вы смотрите на этих людей или читаете их коды, естественно чувствовать себя некомпетентным.
Первый шаг к прогрессу — это признание того, что они лучше вас.
И конечно они есть.
Они потратили больше времени, чем вы, и посвятили годы обучению программированию. Если вы хотите поправиться, вам тоже нужно потратить время и силы.
На самом деле, даже опытные программисты знают, что они не очень хороши в программировании.Способность признать, что еще многому предстоит научиться, — одна из важнейших черт любого программиста.
Невозможно узнать все, что связано с этой областью. Индустрия высоких технологий постоянно развивается, и всегда есть чему поучиться.
Поймите, что невозможно научиться всему. В то же время постарайтесь получить как можно больше знаний, не отставая от развивающихся технологий.
8 способов стать лучше кодировщиком
Пора серьезно заняться улучшением навыков программирования. Давай сделаем это!
Это несложная цель повышения карьеры, но «стать крутым программистом» — непростая задача. Во-первых, фраза «Я хочу стать лучше» предполагает, что вы понимаете, как выглядит «лучше». Кроме того, слишком многие люди стремятся к совершенствованию, не понимая, как этого добиться.
Итак, позвольте мне поделиться восемью действенными руководящими принципами , которые могут выступать в качестве блок-схемы для улучшения ваших навыков программирования. Эти лакомые кусочки мудрости собраны за 35 лет работы в компьютерной индустрии, многие из которых были потрачены скромным кузнечиком у ног некоторых людей, которые определили и задокументировали это.
1. Напомните себе, сколько вам нужно выучить
Первый шаг в изучении чего-либо — это осознание того, что вы этого не знаете. Звучит очевидно, но опытные программисты помнят, сколько времени потребовалось, чтобы преодолеть это личное предположение. Слишком много студентов, изучающих информатику, заканчивают обучение с высокомерной бравадой «Я знаю лучше всех», с твердой уверенностью, что они знают все, и с острой необходимостью доказывать это каждому новому коллеге по работе. Другими словами: «Я знаю, что делаю!» отношение может помешать изучению чего-либо нового.
2. Прекратите пытаться доказать свою правоту
Чтобы стать великим, а не просто хорошим, вы должны учиться на собственном опыте. Но будьте осторожны, опыт может научить нас повторять плохое поведение и создавать плохие привычки. Все мы встречали программистов с восьмилетним опытом … одного года опыта, повторенного восемь раз. Чтобы избежать этого синдрома, смотрите на все, что вы делаете, и спрашивайте себя: «Как я могу это исправить?»
Начинающие разработчики программного обеспечения (и слишком много опытных) смотрят на свой код, чтобы полюбоваться его великолепием.Они пишут тесты, чтобы доказать, что их код работает, вместо того, чтобы пытаться заставить его потерпеть неудачу. По-настоящему великие программисты активно ищут, где они ошибаются, потому что они знают, что в конечном итоге пользователи найдут недостатки, которые они упустили.
3. «Код работает» — это не то, на чем вы остановитесь; здесь вы начинаете
Да, ваш первый шаг — всегда писать качественное программное обеспечение, которое соответствует спецификации. Обычные программисты на этом уходят и переходят к следующему.
Но останавливаться после того, как «сделано», — все равно что сделать снимок и ожидать, что он станет произведением искусства.Великие программисты знают, что первая итерация — это всего лишь первая итерация. Это работает — поздравляю! — но вы еще не закончили. Теперь сделаем лучше .
Частью этого процесса является определение того, что означает «лучше». Ценно ли делать это быстрее? Легче документировать? Больше многоразового использования? Более надежный? Ответ зависит от каждого приложения, но не от процесса.
4. Напишите трижды
Хорошие программисты пишут работающие программы. Великие люди пишут программы, которые работают очень хорошо.Это редко случается с первой попытки. Лучшее программное обеспечение обычно пишется трижды:
- Сначала вы пишете программу, чтобы доказать себе (или клиенту), что решение возможно. Другие могут не признать, что это всего лишь доказательство концепции, но вы понимаете.
- Во второй раз заставляешь его работать.
- В третий раз заставляешь работать правильно .
Этот уровень работы может быть не очевиден, если вы посмотрите на работу лучших разработчиков.Все, что они делают, кажется таким блестящим, но вы не видите того, что даже разработчики рок-звезд, вероятно, выбросили первую и вторую версии, прежде чем показать свое программное обеспечение кому-либо еще. Выбросить код и начать заново — это мощный способ включить «улучшить его» в ваш личный рабочий процесс.
Если ничто иное, «напиши три раза» научит вас, как много способов подойти к проблеме. И это не дает вам застрять в колее.
5. Прочтите код. Считывание кода
Вы, наверное, ожидали, что я буду руководить этим советом, и действительно, это и самый распространенный, и самый ценный совет по улучшению навыков программирования.Менее очевидны причины того, что чтение чужого кода так важно.
Когда вы читаете чужой код, вы видите, как кто-то решил проблему программирования. Но не относитесь к этому как к литературе; думайте об этом как об уроке и вызове. Чтобы поправиться, спросите себя:
- Как бы я написал этот блок кода? Что бы вы сделали по-другому, когда увидели другое решение?
- Что я узнал? Как я могу применить эту технику к коду, который я написал в прошлом? («Я бы никогда не подумал использовать там рекурсивный спуск…»).
- Как мне улучшить этот код? И если это проект с открытым исходным кодом, и вы уверены, что у вас есть лучшее решение, сделайте это!
- Написать код в авторском стиле . Практика этого поможет вам проникнуть в голову человека, написавшего программу, что может улучшить ваше сочувствие.
Не думайте праздно об этих шагах. Записывайте свои ответы в личном журнале, блоге, в процессе проверки кода или на форуме сообщества с другими разработчиками.Подобно тому, как объяснение проблемы другу может помочь вам найти решение, запись и публикация вашего анализа могут помочь вам понять, почему вы так реагируете на код другого человека. Все это часть того самоанализа, о котором я упоминал ранее, который помогает вам беспристрастно судить о своих сильных и слабых сторонах.
Предупреждение: легко прочитать большой объем кода, не становясь отличным программистом, точно так же, как писатель-подражатель может читать отличную литературу, не улучшая свою собственную прозу. Многие разработчики обращаются к программному обеспечению с открытым исходным кодом или другому программному обеспечению, чтобы «найти ответ» и, скорее всего, скопировать и вставить код, который, как представляется, решает аналогичную проблему.Поступая так, вы можете стать программистом хуже , поскольку вы слепо принимаете чужую мудрость, не исследуя ее. (Кроме того, это может быть хуже, чем летний пикник, но поскольку вы не нашли времени, чтобы понять это, вы никогда не узнаете, что только что импортировали фабрику ошибок.)
6. Пишите код, а не просто как задания
Работа над проектами личного программирования имеет много преимуществ. Во-первых, это дает вам возможность изучить инструменты и технологии, которые недоступны на вашей текущей работе, но которые сделают вас более востребованными для следующей.Независимо от того, вносите ли вы свой вклад в проект с открытым исходным кодом или берете на себя бесплатную работу в местной общественной организации, вы приобретете технические навыки и уверенность в себе. (Кроме того, ваши личные проекты демонстрируют потенциальным работодателям, что вы начинаете самостоятельно и никогда не прекращаете учиться.)
Еще одно преимущество написания кода для развлечения состоит в том, что он заставляет вас разбираться во всем самостоятельно. Вы не можете доверить сложное дело кому-то другому, чтобы не попросить о помощи слишком рано.
Совет от профессионала: Не выбирайте только личные проекты, в которых вы никогда не терпите неудач.Вам нужно потерпеть неудачу! Но вы, вероятно, не хотите терпеть неудачу на работе или когда у вас есть крайний срок.
7. Работайте один на один с другими разработчиками любым удобным для вас способом.
Это помогает слушать других людей. Это может означать парное программирование, или посещение хакатона, или присоединение к группе программистов. Когда вы вносите свой вклад в проект с открытым исходным кодом, обращайте внимание на отзывы, которые вы получаете от пользователей и других разработчиков. Какие общие черты вы видите в их критике?
Возможно, вам повезет найти личного наставника, которому вы можете доверять, который будет направлять вас во всем, от методов программирования до карьерных решений.Не упускайте эти возможности.
8. Изучите техники, а не инструменты
Языки программирования, инструменты и методологии приходят и уходят. Вот почему стоит получить как можно больше опыта работы с как можно большим количеством языков и фреймворков. Сосредоточьтесь на основах программирования, потому что основы никогда не меняются; уделяйте больше внимания архитектуре, чем программированию. Если вы уверены, что есть только один правильный способ что-то сделать, возможно, пришло время проверить реальность. Догма может ограничить вашу способность узнавать новое и замедлить адаптацию к изменениям.
Я мог бы продолжать, но ключевой принцип самосовершенствования — знать, когда остановиться.
Этот пост был обновлен по сравнению с предыдущей версией, опубликованной в феврале 2016 года. Код, обучение, чтение и изображения для совместной работы любезно предоставлены Shutterstock.com.
Скретч на практике
Для семьи
Создайте проект вместе
Впервые в Scratch? Начнем с совместного создания проекта.Посетите нашу страницу с идеями, где вы найдете учебные материалы, руководства по занятиям и другие советы, которые помогут вам начать работу.
Присоединяйтесь к сообществу Scratch
Дети могут присоединиться к Сообществу Scratch, чтобы общаться и делиться своими проектами с безопасным и дружелюбным глобальным сообществом. Нажмите «Присоединиться к Scratch», чтобы получить бесплатную учетную запись, или посетите нашу страницу «Родители и опекуны» для получения дополнительной информации.
Больше вдохновения для проектов от Raspberry Pi
Разработанный нашими друзьями из Raspberry Pi, Look After Yourself вовлекает детей в создание множества проектов, направленных на заботу о себе и эмоциональном здоровье.Эти занятия с гидом содержат множество инструментов для снятия стресса в этот совсем другой учебный год.
Для преподавателей
Начало работы с Scratch
Новичок в обучении с помощью Scratch? Руководство «Приступая к работе с нуля» охватывает основы: от перетаскивания первых блоков кода до создания собственных спрайтов.Он также включает ссылки на наши руководства, карточки кодирования и другие советы, которые помогут вам и вашим ученикам создавать в Scratch.
Создать учетную запись учителя
Если вы хотите управлять учетными записями учащихся, рассмотрите возможность создания учетной записи учителя Scratch. Руководство по учетной записи Scratch Teacher Account включает поддержку по настройке учетной записи, созданию классов, подсказкам по паролям и созданию студий для преподавателей, где учащиеся могут делиться своими проектами Scratch с вами и своими сверстниками.
Создайте Scratch Studio для своего класса
Studios — это тщательно отобранные коллекции Scratch-проектов. Они могут быть эффективным способом организовать работу учащихся по классам или темам, а также отслеживать, когда добавляются проекты.
Страница Scratch Educator
Ищете дополнительные учебные ресурсы? Страница Scratch Educator предлагает множество ресурсов для поддержки творческого программирования от новичков до более продвинутых учеников.
«Представьте себе всемирное руководство по упрощению формальностей» для Hour of Code
CSEdWeek не за горами! Ознакомьтесь с нашим последним руководством по упрощению формальностей «Час кода», основанным на учебнике по Scratch «Представьте себе мир». Руководство предназначено для поддержки как удаленных, так и личных семинаров по творческому программированию с вашими учащимися.
Ночное руководство по творческому программированию виртуальной семьи
Virtual Family Creative Coding Nights объединяет молодых людей, семьи, преподавателей и администраторов онлайн, чтобы творить и исследовать с помощью Scratch.Команда Scratch в сотрудничестве с Управлением информатики в государственных школах Чикаго разработала и опубликовала это руководство как ресурс, который можно преобразовать для проведения вашей собственной версии мероприятия.
Советы по удаленному обучению с нуля из CS First
Это руководство, созданное нашими друзьями из CS First, содержит советы по удаленному обучению, а также ссылки на различные учебные программы CS First и ресурсы, помогающие учащимся 4-8 классов изучать информатику с помощью Scratch.
Как научиться программировать для приложений менее чем за 30 дней
У вас есть отличная идея для приложения. Что теперь?
Хотя это может быть отличной предпосылкой, вам нужно выяснить, как вы выведете ее на рынок. Если вы хотите создавать приложения, это требует большего, чем просто идея.
Итак, каков первый шаг в разработке мобильного приложения? Это зависит.
Некоторые из вас могут захотеть создать свое первое приложение в одиночку.Но вы не знаете, как кодировать приложение, и не имеете никаких навыков программирования в этом отношении. Можно ли вообще создавать приложения, если вам не хватает основ языка программирования? Вам нужно начать с приложения для новичков?
Вот чистая правда. Если вы хотите научиться программировать приложение, это будет сложно. Но вы определенно можете научиться программировать свое первое приложение менее чем за 30 дней.
Но если вы собираетесь добиться успеха, вам нужно будет много поработать. Вам нужно будет каждый день посвящать время изучению разработки мобильных приложений, чтобы увидеть реальный прогресс.
Время и энергия, которые вы можете посвятить изучению языков программирования, окупятся приобретенными навыками. Вы можете использовать эти навыки для создания собственного приложения и даже других приложений в будущем. Как и многим вещам, которым стоит научиться, чем больше вы посвящаете себя, тем быстрее будут ваши результаты.
Но это не просто гонка работы с невероятной скоростью по нескольким учебникам, которые вы подобрали в библиотеке.
Если вы собираетесь научиться программировать свое мобильное приложение всего за 30 дней, вам нужно работать умнее.
Это точные стратегии, которые вам нужно будет использовать, чтобы увеличить удержание, применить полученные знания и начать создавать приложение своей мечты.
Определите конечную цель вашего приложения
Прежде всего, вам нужно знать, что вы хотите узнать, прежде чем приступить к программированию.
Тогда вы сможете использовать подходящие инструменты разработки, которые помогут вам.
Я вижу много людей, которые говорят, что хотят научиться программировать приложение, но не знают, каковы их настоящие цели.Вы можете потратить всю свою жизнь на изучение новых элементов разработки приложений.
По правде говоря, новые функции разрабатываются так быстро, что никто не сможет уследить за ними все время.
И когда у вас есть всего 30 дней, чтобы научиться программировать, вам нужно четко понимать, какова ваша цель. Что именно будет делать ваше приложение и как заставить этот процесс работать?
Начните с изучения ваших целевых пользователей . Что они будут ожидать от приложения? Что нужно доставить?
Получите четкое представление о том, что приложение должно предлагать как минимум.Удалите все, что не соответствует этому требованию. Вы всегда можете добавить его позже.
Например, вы можете захотеть, чтобы пользователи могли входить в ваше приложение через Facebook, Twitter и Google. Но вам не нужно добавлять это в первую версию.
Вместо этого подумайте, какой из них самый важный. Только научитесь это делать, и тогда вы сможете развить свои навыки после выпуска первой версии своего приложения и увидеть, что нужно улучшить.
Кто знает? Вы можете обнаружить, что 99% ваших пользователей находятся на Facebook, а варианты входа в Twitter и Google — пустая трата вашего времени.
Как только вы поймете основные функции, вы захотите создать каркас для всего, что будет делать ваше приложение . Каркас — это процесс, при котором вы создаете базовый макет своего приложения.
Вы хотите понять, что делает каждая кнопка. Запишите все это, чтобы потом вспомнить.
Это упростит вам понимание графического дизайна вашего приложения и упростит исправление ошибок в будущем. Каркасные модели — важная часть процесса проектирования.Итак, создаете ли вы простое приложение для себя или приложение для iOS или приложения для Android для реальных пользователей, всегда начинайте сначала здесь.
Да, заниматься всем этим планированием не очень весело, но сейчас это намного проще, чем когда вы начинали кодировать свое приложение. Вы хотите точно понять, что вам нужно узнать сейчас, чтобы не было сюрпризов в будущем.
Если вы не поработаете на этом этапе и действительно не поймете, что необходимо для создания приложения, вы узнаете неправильные вещи в течение 30 дней или забудете ключевые элементы.
Когда вы сядете писать код для приложения, вы обнаружите пробелы в своих знаниях, и это приведет к значительному отставанию проекта от графика.
Каркас должен включать элементы дизайна, но убедитесь, что понимаете поток пользователя. Убедитесь, что это имеет смысл. Выложите все функции заранее, , чтобы знать, что требуется.
После того, как у вас закончится функциональность, вам нужно будет сосредоточиться на том, как это выглядит на бэкене. Какую архитектуру вы хотите использовать?
Вы должны рассмотреть несколько различных моментов.Будете ли вы хранить данные на устройстве пользователя или в облаке? Вам нужно будет отправлять push-уведомления?
Подумайте также о том, как вы хотите соединить свои базы данных.
Приложение для продажи билетов может иметь основную базу данных событий с более простой базой данных пользователей, а социальное приложение может иметь основную базу данных пользователей с дополнительными функциями для событий.
Решите, на чем вы будете фокусироваться, и определитесь с этой структурой. Вам необходимо как можно скорее определить базовую внутреннюю часть вашего приложения , желательно в виде эскиза или иллюстрации.
Если вы еще не знаете, как это будет выглядеть, ничего страшного. Возможно, вам придется поближе познакомиться с компьютерным программированием, прежде чем вы сможете выбрать самый лучший метод.
Но лучше иметь рабочую идею, которую вы измените сейчас, а не чистый лист, на котором вам придется создавать все с нуля позже.
Далее вам нужно выбрать правильный язык для изучения. Основным языком, используемым для большинства приложений Android, является Java.
Он также используется на ряде других платформ, так что это может быть хорошей отправной точкой, если вы когда-нибудь захотите выйти за рамки приложений.
Однако, если вы собираетесь разработать приложение для iOS или iPhone для магазина приложений, вам нужно будет изучить Objective-C или Swift. Именно здесь начинают работать все разработчики iOS.
Они специально разработаны для программного обеспечения Apple (платформа iOS) и, к сожалению, не применимы где-либо еще. Однако опыт, полученный вами при изучении любого языка, пригодится вам позже.
Выбор правильного языка очень важен, потому что ваши навыки будут бесполезны, если вы не сможете программировать в правильных рамках.
Если вы не уверены, выберите платформу, с которой вам удобнее всего, будь то Android или iOS. У вас будет преимущество в работе с уже хорошо известной операционной системой. Разработка приложений для Android (для Google Play Store) сильно отличается от создания приложений для iOS на платформе iOS.
Далее вам нужно изучить основы, прежде чем вы сможете начать с содержательного кода, который приблизит вас к разработке вашего приложения.
Начните с изучения важнейших основ
Прежде чем вы начнете, вам необходимо понять основы.Существует множество бесплатных ресурсов, которые помогут вам двигаться в правильном направлении.
Подобно тому, как вам нужно научиться нарезать овощи и включить духовку перед тем, как пойти в кулинарную школу, эти строительные блоки несложны, но они необходимы для эффективного обучения.
Во-первых, вам нужно узнать, как настроить запуск кода. Многие онлайн-программы, обучающие программированию, забывают об этом шаге. Они оставляют вам много знаний, но нулевой опыт в том, чтобы заставить ваше приложение работать.
Не попадитесь в эту ловушку. Вместо этого узнайте, как взять свой код и поместить его в приложение, которое вы действительно можете протестировать.
Во-вторых, узнайте, как настроить среду, которая позволит вам работать эффективно. Вам понадобится место для ввода кода и просмотра его в действии.
Если вы пишете код на Swift или Objective-C для iOS, вам нужно изучить Xcode .
РазработчикамAndroid необходимо узнать о Android Studio .
Это программы, которые предоставляют инструменты, необходимые для разработки и публикации приложений для Android и iOS, вместо того, чтобы просто возиться с кодом.
В-третьих, вам нужно изучить контроль версий. Наиболее распространенной версией является Git , бесплатный инструмент, сохраняющий изменения вашего кода.
Когда вы делаете ошибку, вы можете восстановить более раннюю версию вашего кода, чтобы удалить ошибку.
Если вы хотите перейти на следующий уровень, узнайте, как использовать GitHub . Вы можете думать о GitHub как о Dropbox для кода.
Вы можете хранить обновленный код, делиться им с товарищами по команде и просматривать исправления на платформе.
Время, которое вы потратите на изучение системы, скорее всего, окупится, когда вы начнете разработку, особенно если вы работаете в команде.
Наконец, узнайте, какой язык вы будете использовать. Я рекомендую ознакомиться с основными ошибками, которые могут возникнуть, и типичными проблемами, с которыми сталкиваются новички.
Да, вы немного выучите синтаксис и команды языка. Но полезно знать, что большинство новичков борются с операторами if, например, прежде чем вы потратите зря день.
Теперь, когда у вас есть хорошее представление о языке и о том, как его использовать, давайте создадим план вашего обучения.
Стратегически подходите к тому, что вы выбираете изучать
В идеальном мире вы сможете узнать обо всех желаемых функциях разработки приложений.
Но в реальном мире наши ресурсы ограничены. Это означает, что у вас есть только определенное количество времени, чтобы учиться, и вы должны использовать его наилучшим образом.
За 30 дней вам нужно выбрать те 20% работы, которые принесут вам 80% результатов, которых вы ищете.
В зависимости от типа разрабатываемого приложения эти числа могут отличаться. Вы можете обнаружить, что это больше или меньше этого.
Возможно, 40% обучения дадут вам 60% возможностей, или даже только 10% необходимых навыков предоставят вам 90% возможностей.
В любом случае вам нужно сосредоточиться на наиболее важных функциях вашего приложения и удобном пользовательском интерфейсе. Ищите ключевые отличия или то, что отличает ваше приложение от всего остального.
Имея это в виду, поищите, какие навыки вам понадобятся, и создайте базовую схему своего 30-дневного плана обучения.
Некоторые из вас могут уже иметь навыки веб-разработки. В зависимости от вашего уровня навыков вам нужно будет решить, нужно ли вам изучать JavaScript или Python. Вы не хотите тратить время на изучение подробной информации о коде, который вы на самом деле никогда не будете использовать. Любой, у кого есть базовые знания Java, определенно получит фору.
Если вы создаете приложение для повышения производительности, вы можете потратить первую неделю на изучение того, как создать функцию списка дел, следующие две недели на то, как включать папки проекта, и последнюю неделю на учетные записи и авторизацию.
Независимо от того, что требуется вашему приложению, убедитесь, что у вас есть время, чтобы изучить навыки, необходимые для воплощения этих мечтаний в реальность.
Составление расписания того, что вам нужно изучить, даст вам надежный способ двигаться вперед и снизит значительный стресс, связанный с изучением нового навыка.
Когда у вас есть план действий, вам нужно будет выбрать лучший метод для вашего личного стиля обучения.
Возможно, вы уже знаете это, или вам, возможно, придется поиграть на слух и посмотреть, что лучше всего подходит для вас.
Некоторые из наиболее распространенных способов изучения программирования — книги, учебные пособия, видео на YouTube и онлайн-курсы.
Если один из них идеально сочетается, планируйте использовать его в большинстве своих инструкций.Если вы не знаете, к чему обратиться, я рекомендую в качестве отправной точки онлайн-курсы.
Они предоставляют вам инструкции и мгновенную обратную связь о вашем прогрессе с помощью интерактивных упражнений, и многие стоят очень мало или даже совсем ничего, чтобы начать работу .
Стоит потратить время на то, чтобы заранее выбрать метод обучения. Когда вы переключаетесь на полпути, вы можете упустить ценные вещи и пропустить важную информацию.
Когда вы проходите такой курс быстрого обучения, рекомендуется сосредоточиться на справке, а не на запоминании.
Вы можете часами просматривать карточки или несколько секунд искать что-нибудь в созданном вами удобном справочнике. Когда ваше время ограничено, справочный метод работает намного быстрее.
Для этого делайте подробные записи обо всем, что вы изучаете. Вы можете использовать для этого такую программу, как Evernote, , так как вы сможете искать что угодно в системе позже.
Наконец, я хочу предупредить вас о самом большом искушении, с которым вы столкнетесь как начинающий разработчик: не учиться при разработке своего приложения.
Да, ваша конечная цель — создать это приложение. Это была ваша мечта, и в первую очередь это ваша мотивация научиться программировать.
Но если вы запустите приложение и научитесь его создавать, вам придется вернуться и стереть большую часть кода, который вы изначально написали.
Даже если вам не нужно стирать его, в нем могут быть ошибки или ошибки, которые вы пропустили, потому что не знали о них в то время.
Вместо этого работайте над небольшими проектами, пока вы учитесь, и оставьте настоящую разработку приложения, пока не закончите изучение всех процессов, необходимых для его программирования.
Классическая проблема, с которой сталкиваются начинающие программисты, — это написание базовой структуры для своего приложения с последующим добавлением все новых и новых функций без прочной основы.
Это оставляет ваше приложение открытым для брешей в безопасности, которые вы не заметили , когда только начинали.
Это может сделать ваших пользователей уязвимыми, потому что вы начали без необходимых знаний сверху вниз.
Не поддавайтесь искушению учиться на ходу. Потратить 30 дней на обучение правильному программированию, прежде чем вы коснетесь большого проекта разработки приложений, который вы имеете в виду, будет потраченным не зря.
Как учиться изо дня в день
Теперь, когда вы знаете общую схему разработки процесса ускоренного обучения, давайте посмотрим, как именно это выглядит, на более детальной повседневной основе.
Краеугольный камень ваших ежедневных усилий по обучению программированию за 30 дней — быть последовательным. Гораздо лучше работать над процессом по 20 минут каждый день шесть дней в неделю, чем два часа каждую субботу.
Причина в том, что ваши знания основываются на самих себе, и вы начнете замечать закономерности в разных вещах, продолжая работать.Вы будете думать о коде в течение дня, если будете делать это регулярно.
Поэтому вместо того, чтобы находить один большой блок в неделю, попробуйте поработать над ним понемногу каждый день.
Вам нужно будет часто повторять то, что вы узнали. Один из самых мощных инструментов, которые я знаю для этого, — это CodeCode.ninja , который позволяет создавать карточки для программирования фрагментов.
Опять же, упор делается не на запоминание набора формул, которые вам понадобятся всего несколько раз.Вместо этого используйте время просмотра карточки, чтобы ознакомиться с наиболее распространенными командами.
Узнайте, как настраивать переменные, закрывать строки кода и создавать операторы if и while. Вы будете использовать их снова и снова, поэтому вам нужно знать, что они холодные.
По мере того, как вы проверяете самые важные элементы, которые вы выучили, вы еще лучше сохраните полученные знания.
Еще одна стратегия, которая ускорит ваше обучение (а также подготовит вас к окончательному проекту дизайна приложения, над которым вы в конечном итоге будете работать), — это завершение небольших проектов.
Вы удивитесь, насколько сложно завершить проект. Начать что-то очень легко, но заключительная часть может быть невероятно сложной.
Вместо того, чтобы выяснять это в последнем приложении, которое действительно имеет значение, потренируйтесь доводить до конца более мелкие детали, над которыми вы работаете, в процессе обучения.
Это означает, что фиктивное приложение, которое вы создали только для изучения одного нового компонента, необходимо завершить.
Это не означает, что он должен быть достаточно отполирован для продажи, но это означает, что базовая функциональность не должна содержать ошибок и быть пригодной для использования.Если проект зашел слишком далеко, не тратьте время на его спасение.
Но если проект не был завершен просто потому, что вы не хотели его завершать, помните: вам нужно изучить умственный процесс, лежащий в основе разработки приложения, так же, как и само кодирование.
Если вы изо всех сил пытаетесь понять сложные абстрактные концепции, работающие в коде, обратите внимание на Стратегии быстрого обучения Тима Ферриса .
Есть ряд стратегий, которые он разработал для популяризации, но одна из самых простых — запоминание с помощью устройств памяти.
Если вам нужно запомнить порядок переменных для функции, например, вы можете найти слово с такими же первыми буквами в том же порядке.
Еще один метод, который ускорит процесс, — это соединение новых навыков с тем, с чем вы уже знакомы.
Кодирование связано с рядом других областей и интересов, включая науку, шифрование, логику, язык и даже направление кому-то (как в рецепте).
Все это можно использовать, чтобы помочь вам понять, что происходит, даже если в вашей голове заплыли сложные числа и символы.
Во время работы не забывайте тестировать свой код и получать мгновенные отзывы о том, что работает, а что нет. Не тратьте время на поиски решения проблемы. Вы только укрепите вредные привычки.
Вместо этого исследуйте решение, разберитесь в используемом методе, попробуйте его и посмотрите, как вы можете применить его в других ситуациях.
Это намного эффективнее, чем бездумный поиск ошибок в коде.
Другой способ — поискать на сайте, предлагающем помощь. Есть ряд сайтов с экспертами, готовыми бесплатно ответить на ваши вопросы по кодированию.
Когда вы застряли, посмотрите на такое место, как Stackoverflow , чтобы помочь вам выбраться из затруднительного положения.
Соблюдайте строгие сроки
Если вы собираетесь изучить совершенно новую систему выполнения чего-либо всего за 30 дней (или даже меньше), вам необходимо установить реалистичный крайний срок для завершения вашего проекта.
Я бы рекомендовал разбить его на два этапа. Первое, конечно же, — это обучение, которое вам понадобится, чтобы понять, как кодировать приложения.
Но второй шаг — это разработка вашего приложения, поскольку в любом случае это ваша конечная цель.
У вас должен быть четкий крайний срок окончания обучения, чтобы вы могли начать процесс разработки приложения.
Рекомендую посмотреть график разработки приложения. Когда вы хотите, чтобы он был готов к отправке?
Подготовьте реалистичную оценку времени, необходимого для разработки самого приложения . На разработку самого простого типа приложения, вероятно, уйдет около 2–3 месяцев плюс процесс утверждения.
В дополнение к оценке, которую вы подготовили на основе своего исследования, включите как минимум несколько недель в качестве дополнительного места, так как вы только начинаете.
Независимо от того, насколько хорошо вы подготовились, вы столкнетесь с новыми проблемами, которых не ожидали, и вам нужна гибкость для их решения, не подвергая опасности проект.
Отсюда рассчитайте крайний срок окончания обучения и начала работы по развитию. Четкая граница того, когда ваше обучение должно закончиться, обеспечивает завершенность процесса.
Это будет мотивировать вас продолжать идти вперед, даже если вы запутались или застряли.
Работая с сохраненным материалом, каждую неделю уделяйте время пересмотру графика.Убедитесь, что вы достигли своих целей, и, если нужно, откорректируйте курс.
Не сдвигайте крайний срок, но подумайте о том, чтобы сосредоточиться на меньшем количестве задач и навыков, если у вас нет времени посвятить себя всему, что вы запланировали.
Но что, если у вас нет времени на изучение кода? Что ж, есть несколько ярлыков, которые вы можете использовать, чтобы быстрее вывести свое приложение на рынок.
Ярлыки для создания приложения, которое вы всегда хотели
Есть несколько способов увеличить скорость разработки.
Если у вас нет месяцев на разработку приложения, помимо 30 дней, которые вам понадобятся для изучения основ программирования, вам следует рассмотреть эти варианты.
Первый — использовать библиотеку или шаблон для вашего приложения. Это часть работы, которую вы можете использовать для ускорения процесса.
Если вы, например, создаете стратегическую игру, вы можете начать с кода, который кто-то уже написал для подобной стратегической игры. Если он доступен для использования, вы можете начать с их кода.
Эта стратегия не позволит вам узнать так много о том, как работает код, но вы можете сократить время обучения и разработки вдвое.
Второй способ — просто нанять кого-нибудь, кто разработает приложение для вас. Это, наверное, самая простая стратегия, но, конечно, не самая дешевая.
Наем команды разработчиков может быть очень дорогостоящим, — до 170 000 долларов. Для многих потенциальных разработчиков приложений это слишком непозволительно.
Другой альтернативой является использование компоновщика, который позаботится о базовой структуре за вас, позволяя вам изучить базовое кодирование для ваших расширенных функций.
Это означает, что вам не придется иметь дело с основами, которые трудно усвоить, но которые не будут иметь большого значения для ваших пользователей.
Такие задачи, как создание пользователей, обеспечение безопасности и форматирование базовых элементов макета, потратят драгоценные часы без особой отдачи.
Конструктор , такой как BuildFire , может справиться с этими частями за вас, чтобы вы могли сосредоточиться на важном коде, который вам нужно изучить для наилучшего взаимодействия с пользователем.
Сможете ли вы научиться программировать мобильное приложение менее чем за 30 дней?
Если вы настроены воплотить свое приложение в реальность, вы знаете, что это потребует усилий.
Если вы новичок в программировании, выучить все, что нужно знать о устной и письменной речи на новом языке, может стать огромной проблемой. Даже если вы создаете приложение, удобное для новичков.
Как и в новом языке, с языком программирования связана другая грамматика и лексика, и если вы ошибетесь, вас не поймут.
Но, как и изучение языка, обучение программированию — это огромный навык, которым вы будете пользоваться всю оставшуюся жизнь.
Что еще более важно, вы можете использовать его сразу же, превращая наброски приложения на салфетке в реальность, и, возможно, даже зарабатывая немного побочных денег, пока вы развлекаетесь.
Создание приложения требует времени и практики. Чтобы быстро создать приложение, сосредоточьтесь на чем-то одном. Некоторые из вас, ребята, могут решить уделить приоритетное внимание разработке под iOS, прежде чем переходить к разработке под Android.
Выясните, какие именно навыки вам понадобятся для разработки приложения. Чем больше вы сосредоточены, тем быстрее вы научитесь кодировать и тем быстрее сможете разработать свое приложение.
Стратегически подходите к тому, что вы изучаете, и создавайте точный порядок для каждого навыка.Сначала выучите основы, даже если они не кажутся забавными.
Создавайте элементы на прочном фундаменте, и что бы вы ни делали, не начинайте создавать свое приложение сразу.
Подождите, пока у вас не появятся навыки, чтобы делать это правильно, иначе вы все равно сотрете весь свой старый код.
Прилагайте постоянные усилия и используйте стратегии быстрого обучения, чтобы проложить себе путь к быстрому обучению. Строгие сроки могут дать вам толчок, чтобы продолжать работу.
Наконец, вы можете рассмотреть несколько сокращений.Используйте библиотеку или шаблон, чтобы начать работу с приложением, или наймите кого-нибудь, кто сделает это за вас.
Вы также можете свободно использовать такую платформу, как BuildFire, чтобы дать вам фору, не изучая, как кодировать с нуля. Тогда вам захочется побеспокоиться о мелких деталях кодирования для разных размеров экрана.
Какой бы способ вы ни выбрали, учитесь как можно быстрее, изучая умно, что экономит ваше время и приближает вас к своей мечте, чем вы когда-либо считали возможным.
.