Как НЕ надо начинать изучать программирование / Хабр
Приветствую, Хабровцы!
Решил поделиться своим опытом «успешного» изучения языка(ов) программирования.
Не сказать, что в IT-индустрии я полный профан, однако мой план обучения «стать IT developer-ом» — с треском пошел по швам.
Немного предыстории.
Сразу скажу, что целенаправленного обучения по компьютерным наукам я не проходил. Да и специализация в образовании у меня далеко не техническая. Работал с 2005г. по 2012г. в различных компаниях, и мелких и крупных, непосредственно связанных с IT-индустрией. Научился всему понемногу: сис. администрированию Windows (даже MCP, MCSA успел получить), немного поюзал VMware (VCP тоже в копилке), дополнительно изучил разную кучу программ, которые сис. админы как правило используют в своей ежедневной работе.
Попробовал себя в корпоративных продажах, кстати, неплохо получалось. Успел поработать немного и у дистрибьютора ПО, а также в компаниях-интеграторах, неплохо разобрался в политиках лицензирования ПО.
Но в определенный момент перегорел, и все бросил. Ушел так сказать в отпуск на 8 лет.
После долгого анализа, все-таки созрел и осознал, что пора валить на запад, и желательно поближе к кремниевой долине, т.к. с английским более менее нормально, можно подтянуться до необходимого уровня.
Ежу понятно что меня там никто не ждет, а сис. админов, продажников и project менеджеров там и своих хватает. Тем более без знания ситуации на локальном рынке, сразу работу найти будет, ну как минимум проблематично.
В голове был выбран путь, что все-таки пора переквалифицироваться в разработчика. Так будет легче и лучше в плане перспектив и работы на западном рынке. Программистов на рынке труда всегда не хватало, да и не хватает до сих пор.
Тем более, как-то давно я хотел обучиться программированию и специализироваться по SAP направлению. Был выбран путь самостоятельного изучения основ, языка ABAP, но как-то забросил это дело. Не помню уже по какой причине, кажется из-за сложности в понимании.Теперь сама история, поехали…
Так вот, спустя 8 лет отдыха от IT в целом, принялся изучать заокеанский рынок труда и решил для начала специализироваться в мобильной разработке. Погуглив языки программирования для мобильных приложений и вдохновившись, что Google официально анонсировала язык Kotlin как приоритетный язык для android-приложении, твердо решил максимум за 1 год самостоятельно выучить Kotlin и строить планы по иммиграции на ПМЖ в США.
Пару недель просмотра тренингов и чтения мануалов мне хватило, чтобы убедиться, что без знаний Java в Kotlin делать нечего. Хотя на просторах интернета многие твердят что можно выучить с нуля. А после регистрации на GitHub-е, установки IntelliJ IDEA, JDK и попытки разобраться в коде я уже начал осознавать что придется учиться очень-очень долго и упорно.
Быстро переключился на Java без сожаления, т.к. и мануалов больше для самостоятельного изучения и вакансии для Java-разработчиков намного больше. Правда не определился с чего стартануть будет лучше: с Java, либо все-таки переключаться на JS, ну да ладно, думал походу разберусь. На форумах где-то читал, что с JS войти в мир разработки намного легче и быстрее.
Приступил к изучению Java стандартно, прочитав гору статей и просмотрев кучу видео «Как стать Java программистом». Скачал книгу Брюса Эккеля «Философия Java», по рекомендациям многих на форумах, как самый правильный старт изучения языка новичкам.
Так вот скажу вам честно, она нисколько не для новичков.
Пробовал не обращать на это внимания и читать дальше, усвояемость около 20-25%, понял что так дело не пойдет. Придется разбираться и в С языке, да еще и в книге регулярно черным по белому пишут, что материал рассчитан на читателей со знанием основ С языка.
Что-ж, выбора нет. Опять читаю кучу информации, сотни просмотров видео разной тематики о языке С. Качаю книгу Кернигана и Ричи «Язык С», приступаю к изучению, усвояемость уже получше чем в Java, так сказать около 50-60%, что вовсе не радует меня.
Успокаивало одно, что истинные разработчики все начинали с языка С, а также то, что после изучения С, другие языки, в частности Java, будут пониматься в разы быстрее и доступнее.
Однако такие заголовки в книге как:
«Настоящая книга не является вводным курсом в программирование; она предполагает определенное знакомство с основными понятиями программирования такими как переменные, операторы присваивания, циклы, функции»
или:
«предполагается рабочее владение основными элементами программирования; здесь не объясняется, что такое ЭВМ или компилятор, не поясняется смысл выражений типа N=N+1»
а также такие фразы как:
Символические константы.
и т.д.
постепенно подводили меня к тому, что без изучения Computer Science мне не обойтись.
Параллельно начинаю вникать в Computer Sciense, качаю опять-таки тонны книг. Регистрируюсь на Гарвардский курс CS50, приступаю к изучению основ программирования, внимательно читаю книгу Владстона Феррейра Фило «Теоретический минимум по Computer Science».
Замечаю, что обучение языку С переходит на второй план, все больше времени уделяется уже основам программирования.
И если в двоичном коде, переменных, функциях, циклах, компиляторе, интерпретаторе, простых уравнениях и т.д. я еще более менее разобрался, то выражение типа N=N+1 и более сложные уравнения меня загоняли в легкий ступор.
Я долго вникал почему 0 в степени 0 равен 1, и у меня ощущение что я до конца так и не понял всей сути.
А вот эта задача меня вообще заставила остановиться на чтении книги по CS, т.к. чем дальше читал, тем сложнее уже шли уравнения и задачи:
Пришлось гуглить про квадратные уравнения, как написано в книге и вникать в дискриминанты. Ну забыл, подумал я, алгебру, с кем не бывает. Однако я так и не смог решить самостоятельно задачу, пришлось обращаться за помощью к школьному преподавателю ребенка по математике.
Решение то получил, однако понять, как преподаватель решила не смог:
На мой вопрос: «как решаются такие уравнения?», ответ был очень прост:
«учи исследование функции, начало анализа и задачи на оптимизацию. Алгебра 10-11 класс».
Ну думаю, ок, посмотрю пару видео-примеров для школьников в youtube, пойму как решать их, и дальше буду «глокать» изучение по CS.
И вот после просмотра подобных роликов по алгебре меня осенило…
www.youtube.com/watch?v=RbX_QHxu7Lg
www.youtube.com/watch?v=FVSG7Neopuo
Я не то что не помню, как решаются такие задачи, — я элементарно, как выяснилось, попросту не знаю Алгебру за 10-11 класс!
Такие выражения как: пределы, математическое мышление, экстремум, производные, многочлены и т.д. для меня оказались как речь на языке племени Майя.
Наверное, мои познания математики остались на уровне уроков математики 5-6 классов.
Начинаю осознавать, что для полной картины понимания Computer Science, мне необходимо будет заново учить алгебру, а затем и ВысшМат. Не исключаю, что походу скорее всего, появится необходимость и повторения уроков физики и еще чего-то из школьной программы. И до реального изучения Java и JS мне понадобится лет 5 изучения алгебры и высшей математики.
До Марса и обратно быстрее долететь, всего то 1,5 года, как утверждают ученые…
Так вот, проанализировав прошедший месяц-полтора самостоятельного обучения, для меня стало очевидно, что я как «хомяк в колесе», вроде как бы и бегу (учусь), а по факту стою на месте. Знаний в программировании не прибавилось, разве что программку на С языке («Hello, world») смогу запустить.
Да еще и после свалившейся тонны новой информации в мой маленький мозг, он кажется вообще ушел в «shut down», и категорически отказывается воспринимать новую информацию.
Стало понятно что надо пересмотреть свой план обучения и подход к нему.
Однако пока не до конца ясно представляю себе картину, и с какой стороны вообще теперь подходить к обретению профессии «Java-developer», ибо стандартный пусть обучения, с основ алгебры и высшмата, будет очень долгим и не подходит в моем случае.
И вот тут-то мне стало уже совсем как-то грустно.
Неужели чтобы стать программистом без технической базы, требуется так много времени?
Меня конечно вдохновляют статьи в интернете, где люди пишут, что за 1,5 года стали Java developer-ом и уехали в Германию, Канаду, США, однако оценивая свои печальный опыт я не уверен что такое возможно.
Или все-таки это не моё? И профессия «разработчик» — это для элиты, «касты особенных людей»?
Я знаю, что есть люди, освоившие программирование без получения высшего образования в компьютерных науках. Таких немало.
И я горю желанием присоединиться к таким замечательным и целеустремленным персонам.
Отпишитесь в комментах, плиз, у кого получилось освоить программирование, а также Ваше видение почему мой план и подход к обучению дали сбой. Ваши рекомендации будут весьма полезны для меня, пересмотра своего плана обучения программированию, а также амбиции и ожидании конечного результата.
Сомневаюсь что я один столкнулся с подобной проблемой. Даже можно сказать уверен, что таких как я, очень много…
Заранее благодарю!
«С чего начать изучение программирования?» — Яндекс Кью
ПопулярноеСообщества
ПрограммированиеОбучение программированию
виктор в.
194,4 K
На Кью задали 15 похожих вопросовОтветитьУточнитьНПЦ Инфа-Образование
124
Учебный центр информационных технологий. Компьютерные и бухгалтерские курсы от нуля до… · 24 дек 2019 · infa-education.ru
Отвечает
Ананий Бареян
Начните с простейшего языка программирования — Microsoft Small Basic. Он самый простой и удобный для новичка. Начинайте изучение всегда с простого и двигайтесь к сложному. После освоения Small Basic можно приступать к более популярным и продвинутым языкам программирования. Если начинать со сложного языка, а не с простого, есть большая вероятность забросить обучение и разочароваться, так ничего и не освоив. Вот сайт с описанием и бесплатными учебными материалами на русском языке: http://small-basic.ru/
Microsoft Small Basic- Простейший язык программирования для начинающих.
Перейти на small-basic.ru21,6 K
Алексей Л
31 июля 2020
Комментировать ответ…Комментировать…
Миша Бритов
Программирование
8
Разработка на Flutter c конца 2018 года, выпустил в продакшн более 3х приложений разного. .. · 15 июн 2021
Учась в универе «на программиста» и работая в разных компаниях. я заметил, что это зависит от типа человека. У каждого своя история. Некоторые просто не могут начать изучать языки и сразу учиться писать программы путем слепого повторения за ведущим курса по программированию, без понимания, что происходит после нажатия кнопки «Запуск программы», им обязательно хочется… Читать далее
Комментировать ответ…Комментировать…
Хекслет
363
Образовательная платформа Хекслет · 26 апр · ru.hexlet.io
Отвечает
Николай Гагаринов
Изучение программирования начинается с цели, которую вы хотите решить. Умение программировать (писать код) это такой же навык, как рисование или вождение автомобиля. Только более комплексный что ли. Цель нужна, чтобы понимать, куда двигаться, на каком этапе «остановиться». Когда вы определились с целью, вам будет легче понять, что далее изучать. В общей сложности нужно… Читать далее
Помогаем новичкам освоить профессию веб-разработчика
Перейти на ru.hexlet.io/webinarsКомментировать ответ…Комментировать…
Родион Власов
Религия
1,5 K
☦︎православный христианин, программист, преподаватель. · 26 нояб 2021 · bibleox.com
Думаю, что ответ на вопрос зависит от уровня ваших знаний и цели изучения программирования. От ответа на вопрос «Зачем вам программирование?» зависит примерный список подходящих языков и позволит понять в какой технологической области вам предстоит развиваться: сервера, вэб, игры, наука, робототехника и прочее. Но, раз уж вопрос поставлен по-простому, то, полагаю… Читать далее
Библия на разных языках
Перейти на bibleox.comВладимир Горбунов
10 декабря 2021
Я думаю что программ ирование это основа конструирования надо нутром чуствовать
Комментировать ответ…Комментировать…
Семёнов Сергей
Программирование
121
IT специалист. Увлекаюсь историей, филисофией, экономикой. · 11 авг 2021
Сразу оговорюсь, я не программист, а системный администратор, однако в программировании разбираюсь и это мне очень помогает в работе. Если вы ещё новичок, то не надо сразу заниматься программированием на серьёзных языках, изучите основы. Это не так просто, это серьёзный навык, который требует терпения и настойчивости. Проблемв в нашем русском языке, это не самый… Читать далее
1 эксперт согласен
puppy
подтверждает
16 августа 2021
Ответ содержательный, аргументированный. Так же основан на фактах. От себя лишь хочу добавить: По своему опыту… Читать дальше
Комментировать ответ…Комментировать…
Olesya Abramovich
Маркетинг
13
Программист, продуктовый дизайнер UI/UX, интернет-маркетолог. Опыт в крупной… · 10 февр 2021 · hartcode. ru
Необязательно учиться в университете, но необходимо закончить приличные курсы, чтобы научиться мыслить алгоритмически, понимать такие концепции, как абстракция, алгоритмы, структуры данных, инкапсуляция, управление ресурсами, безопасность, а после познакомиться с языками C, Python, JavaScript, CSS и HTML
Комментировать ответ…Комментировать…
Владимир Афанасьев
50
Увлекаюсь физикой и математикой, держу рыбок, программист · 11 окт 2021
Сначала надо определиться с языком программирования. На роль первого языка лучше всего подходят достаточно простые языки вроде Python, JavaScript, Visual Basic. А дальше — всё зависит от выбранного языка! Хотя могу выделить универсальный, и довольно неплохой способ — это структурированные (обязательно структурированные!) курсы. SkillFactory, Яндекс.Практикум… Читать далее
Комментировать ответ…Комментировать…
Olesya Abramovich
Маркетинг
13
Программист, продуктовый дизайнер UI/UX, интернет-маркетолог. Опыт в крупной… · 28 июн 2021 · hartcode.ru
Необязательно учиться в университете, но необходимо закончить приличные курсы, чтобы научиться мыслить алгоритмически, понимать такие концепции, как абстракция, алгоритмы, структуры данных, инкапсуляция, управление ресурсами, безопасность, а после познакомиться с языками C, Python, JavaScript, CSS и HTML
Комментировать ответ…Комментировать…
Достоверно
Checkroi.ru — сервис сравнения онлайн-курсов и интересный блог
967
Сравниваем 2000+ онлайн-курсов и рассказываем об этом в своём блоге 🙂 · 29 янв 2021 · checkroi.ru
Отвечает
Ivan Buyavets
Если ты собираешься учиться самостоятельно — ты герой! Начни с языков программирования: самые распространенные — JavaScript, Python, Go, но они не универсальны и решают разный спектр задач. Поэтому правильнее было бы сперва выбрать направление, в котором будешь строить карьеру: фронтенд, бэкенд, игры, программы для ПК, мобильные приложения и т.п. Если на данный момент… Читать далее
Посмотрите актуальные онлайн-курсы в digital 2021 года!
Перейти на checkroi.ru5 экспертов согласны
22,8 K
Дмитрий Виноградов
подтверждает
1 февраля 2021
Стандартный, проверенный временем ответ на вопросы подобного типа
Комментировать ответ…Комментировать…
Достоверно
Дмитрий Данилов
Маркетинг
11
Маркетолог, IT-инженер по web разработке. · 8 сент 2021
Сперва важно определиться с направлением, их несколько: разработка сайтов, разработка игр, разработка программ и тестирование. После чего тебе нужно определится более точно. Если хочешь делать например 3д игры, то тебе нужно учить C++ и движки UE4, и так далее, нужно гуглить назначения, а конкретно начать стоит с изучения Английского языка и изучения основ программирования
2 эксперта согласны
Арина Левадная
подтверждает
9 сентября 2021
Согласна. Начните с английского языка и основ Computer Science.
Комментировать ответ…Комментировать…
Ответы на похожие вопросы
С чего начать изучать программирование? — 12 ответов, заданДостоверно
Агентство цифровых технологий
170
Мы, Российская компания интегратор и разработчик программного обеспечения, и решений для… · 8 дек 2021 · dta. agency
Отвечает
Дмитрий Кузовкин
Здравствуйте! Программирование нужно изучать с теории. Нужно сначала разобраться с мышлением. Программисты думают по другому. Вам нужно сначала перестроить своё мышление. После этого нужно выбрать направление развития.
— Бекенд
— Фронтенд
— Геймдев.
И уже после этого выбирать инструмент программиста (язык программирования).
Удачи вам!
Разработка программного обеспечения. Автоматизация бизнес процессов. Дизайн.
Перейти на dta.agency2 эксперта согласны
Комментировать ответ…Комментировать…
С чего начать изучать программирование? — 12 ответов, заданАлександр Копилов
Программирование
39
Программист (по должности — аналитик-разработчик, по факту — бэкендер, инженер данных). .. · 17 нояб 2021
Начните с теории алгоритмов. Например, книга Занимательная информатика или Волшебный Дракон в гостях у Мурзика
А практиковаться можно хоть на Python, хоть на Java, хоть на C
Комментировать ответ…Комментировать…
Я хочу начать изучать программирование.С чего начать? — 4 ответа, заданЯндекс Практикум
841
Сервис онлайн-образования · 9 июн 2020 · practicum.yandex.ru
Отвечает
Таня Цвирова
Михаил, добрый день!
Всё зависит от того, какую цель вы ставите перед собой и для чего хотите изучать программирование. Здесь может быть несколько вариантов:
1. Чтобы разобраться, как работает компьютер. В таком случае можно начать с книги Чарльза Петцольда «Код: тайный язык информатики».
2. Чтобы сменить профессию. Для этого нужно определиться со сферой, в которой вы хотите работать. Это может быть веб-разработка, разработка мобильных приложений, разработка игр, робототехника, аналитика данных или машинное обучение. Для каждой специальности нужны свои языки программирования и инструменты. Если вы ещё не определились, какую специальность выбрать, попробуйте пройти несколько бесплатных вводных курсов. За 10 часов в Яндекс.Практикуме можно разобраться в основах тестирования, а за 20 ― сделать свой первый проект на языке программирования Python.
3. Чтобы понять, чем занимаются коллеги. Если вы работаете в смежной области, например дизайнером или менеджером проектов, то знание программирования поможет вам разобраться, за что отвечает программист, сколько времени уходит на создание простого проекта и почему невозможно поставить кнопку там, где вы хотите. В таком случае попробуйте освоить языки разметки HTML и CSS и разместить свой первый сайт в интернете. В Яндекс.Практикуме есть бесплатный вводный курс «Основы HTML, CSS, JS», на котором вы напишете свой первый веб-проект на JavaScript.
Комментировать ответ…Комментировать…
С чего начать изучать программирование? — 12 ответов, заданВячеслав Витальевич Шляхетский
Программирование
1,8 K
Диванный философ, по совместительству инженер · 23 дек 2021
Подход академический. Сначала информатика. Затем алгоритмы и структуры данных и параллельно с этим какой-нибудь старый классический язык. Поскольку нужно ведь на чем-то практиковаться в алгоритмах и работе с теми самыми структурами данных. Теоретики рекомендуют Паскаль. Я считаю что язык должен быть старый но не устаревший. Т.е. активно применяемый в реальных разработках поныне. Иначе возможно теорию Вы и изучите на самом деле ее вообще все равно на каком языке учить. Кроме возможно ассемблеров и других языков с операторной парадигмой. А также редкой экзотики по которой вы не найдете качественной литературы академического уровня. Вот только интерес к программированию вполне можете себе отбить. Не будет такой отдачи как если попробуете свои силы на реальном проекте на широко применяемом языке еще на этапе обучения. Хорошие варианты широко применяемых классических языков C++ или Java.
Подход практический. Вообще профессиональные программисты специализируются не по языкам а по отраслям программирования. Но это не значит что перавя выбранная отрасль будет с вами всю карьеру. Так вот. Выбрать для начала отрасль со сравнительно невысоким порогом вхождения и крайне массовую. По которой множество небольших простых проектов и несложно реализовать собственные идеи. Например подойдут Веб-разработка (не путать с версткой) или Андроид-разработка. Либо пойти от своих знаний в других областях. Например электроники или бухгалтерии и прочего учета. Изучить по выбранной отрасли простой минимальный стек технологий. Самые базовые понятия об информатики и алгоритмах в качественные учебники и курсы для начинающих по языкам программирования входят. Попробовать что-то реальное сделать. Вы поймете, нужно ли вам дальше этим заниматься. А также поймете в каком направлении развиваться уже сами а не по советам. А потом расширять известные вам технологии вашего первого стека и параллельно вот на этом этапе то что я написал выше в академическом подходе. Включая и один из классических языков. Разумеется если он и так уже не входит в ваш стек.
Я сам начинал учиться по первому подходу. Ну просто-напросто второй в позднесоветские времена был реален далеко не для всех из-за ограниченной доступности компьютеров. Но сейчас приходят все больше молодежи которая училась именно так как я написал во втором варианте. И что бы там не говорили преподы-теоретики в тех задачах которых в современном программировании 90% работают они не хуже. Но быстрее выходят на профессиональный уровень. А на опять же реальных работах главное требование — опыт. Быстрее научился писать первый полезный код (не путать с задачками даже сложными, уровня олимпиад) — больше опыта к тому же возрасту.
Комментировать ответ…Комментировать…
Хочу научиться программировать. С чего начать? — 1 ответ, заданАндрей Бахматов
Биология
1,3 K
Увлекаюсь естественными науками и математикой. Разбираюсь в производстве корпусной… · 5 июл 2021
В зависимости от возраста и склонностей начинают либо с C++ (на нём вполне можно остаться, но надо быть очень внимательным и просто умным — внимательнее и умнее чем где-либо), либо с Pascal (самостоятельного значения не имеет, это обучающий язык, трамплин для лёгкого перехода на другие языки), а если вам уже за 35 и нет времени учиться нормальному программированию и надо зарабатывать уже сейчас — Python.
Комментировать ответ…Комментировать…
С чего начать учиться программировать? — 6 ответов, задан 901Z»>22 мая 2018Иван Соловьев
Образование
-156
Копирайтер больше 5 лет, стараюсь постоянно обучаться в интернете. Не люблю накрутчиков… · 27 мар 2021 · rating-course.ru
Рекомендую несколько книг для новичков:
- Роберт Мартин «Чистый код»
- Хант Эндрю, Томас Дэвид. «Программист-прагматик. Путь от подмастерья к мастеру»
- «Совершенный код. Мастер-класс» Стив Макконнелл.
После того, как освоите информацию вам нужна будет систематизация этих знаний, а также практика. Поэтому вам неплохо было бы пройти какой нибудь обуающий курс по программированию, только для начала определитесь с языком который хотели бы выучить и с профессией.
Ну или просто обучайтесь веб-программированию — это перспективно и хорошо оплачивается.
Рейтинг лучших онлайн курсов с подробным описанием и отзывами пользователей!
Перейти на rating-course. ruКомментировать ответ…Комментировать…
С чего начать учиться программировать? — 6 ответов, заданДостоверно
Юрьев Олег
Data science
50
Data engineer, пишу на python, люблю sqlalchemy, иногда копаюсь в data science · 13 дек 2019
Опишу свой путь к прогаммированию
Если появился такой вопрос — значит есть задачи которые, вы хотели бы решить с помощью программирования, если таковых задач нет, то их срочно и необходимо придумать.
Придумали задачу, отлично, двигаемся дальше. В моем случае задача — сбор данных с метеостанции.
Задача есть нужны инструменты для ее решения, соответственно инструменты будут лежать в разной плоскости в зависимости от области задачи (например, нравятся сайты, значит будут HTML/JavaScript/CSS, хотите приложений с графическим интерфейсом будет C#).
В общем в соответствии с поставленной задачей ищите инструмент решающий ее! У меня инструментом оказался язык прогаммирования Python (кстати говоря, он позволяет создавать многое, от сайтов и графических приложений до машинного обучения)
Далее идете изучать инструмент, тут простор огромен: онлайн и оффлайн площадки, бесплатные или платные или идите на youtube и смотрите видеоролики.
У меня все начиналось с курсов на stepik.org, после них сильно втянулся в программирование, увлекало все больше и больше, потом coursera.org, но ничего так не прокачивает навыки как решение своих собственных или рабочих задач. Ты погружаешься в код, накрываешься сверху документацией к языку и к прикладным библиотекам и роешь в потемках и какое это удовольствие увидеть свет в этой тьме и прибавить газу навстречу к нему=)
Далее встает вопрос изучения более узкого круга задач, тут уже одими собственными проектами не отделаешься, нужны некоторые компетенции из этого круга.
Поэтому на волне своего интереса к анализу данных, обучаюсь в Яндекс. Практикуме, тут вам прокачают и hardskills и softskills, вдоволь наобщаетесь с живым наставником на вебинарах, впитывайте как губка, изучайте допссылки, порой голова кружится от кол-ва информации. А под конец вас ожидает выпускной проект в формате работы джуном в виртуальной компании, где наставники, как по волшебству, превратились в тимлидов, преподаватели стали старшими коллегами и вы с круглыми глазами смотрите на прилетающие задачи в трекер…
В изучении чего-либо главное иметь страсть и огромное желание, успехов!
2 эксперта согласны
Комментировать ответ…Комментировать…
Я хочу начать изучать программирование.С чего начать? — 4 ответа, заданИнгвар Ди
Общество
7,7 K
Бродячий наставник общества · 17 июл 2020
- Разобраться в целях. Программирование — это не единый навык, программирование станка с ЧПУ, программирование Промобота, веб-программирование, написание антивирусов или создание АРМ для бухгалтера — это очень разные задачи, и методики программирования, языки программирования там очень разные.
В этом плане имеет смысл почитать и посмотреть материалы о применении программирования. У Яндекса и мэйла есть площадки, на которых проходит обучение программированию, там часть есть краткое описание курсов и направлений их применения. Всегда можно найти то, что ближе всего.
Крайне не советую выбирать направление по востребованности. В IT «востребованность» может меняться быстро. Оценивается скорее знание и понимание предмета.
Разобраться в базовых принципах программирования и изучить основные понятие и методики. Понятия циклов и условий, переменных и функций, алгоритмов, типов и классов — штуки достаточно универсальные. Сегодня есть огромное количество бесплатных вебинаров, которые помогают в этом разобраться.
Выбрать набор нужных навыков. Это обычно 1-2 языка программирования, часто используемых для выбранных задач, знание предметной области (хочешь писать сайты — надо знать веб-графику, хочешь написать программу для бухгалтеров — надо понимать основы бухучета) и начать в них разбираться. Обычно по мере изучения предметной области список расширяется.
Тут есть 3 варианта, как определить список: можно почитать в интернетах, особенно на профильных форумах, про основные приемы решения проблем, преимущества языков в той или иной ситуации; можно использовать метод тыка, изучить язык, попробовать применить, при необходимости начать учить новый язык; найти специалистов по нужному профилю и посоветоваться с ними. Я бы, конечно, советовал 3-й вариант.
Ну, а дальше учить и, самое главное, применять на практике.
Комментировать ответ…Комментировать…
Программирование: с чего начать? — 6 ответов, заданСергей Перовский
Топ-автор
5,0 K
Научные заметки о жизни. https://zen.yandex.ru/id/5c43498395753900ac66852d · 3 мая 2021
Программирование — слишком широкое понятие.
Джоэль Спольски выделяет 5 миров программирования, в которых отличается практически все. Нужно определиться с тем, кем хочется стать лет через 10. Тогда можно планировать этапы движения.
Кроме изучения инструментов, может оказаться крайне полезным изучение предметной области, с которой предполагается работать.
1 эксперт согласен
Комментировать ответ…Комментировать…
С чего начать изучать программирование? — 59 ответов, заданShaul Reznik
7,3 K
Копирайтер, переводчик · 14 мая 2015
Решите для себя, что вам интересно было бы создать: динамический сайт, приложение для смартфона, компьютерный вирус и т. п. Выбрали тему — изучайте примеры кода, видоизменяйте их, задавайте вопросы на профильных форумах.
Комментировать ответ…Комментировать…
С ЧЕГО НАЧАТЬ ИЗУЧЕНИЕ ПРОГРАММИРОВАНИЯ?
Продолжаем публиковать обзоры онлайн-курсов в IT. Начало тут и тут. Если ищете онлайн-курс по программированию – обязательно посмотрите подборку в каталоге образовательных платформ и обучающих программ от нашей редакции.
Теперь о том, с чего начать изучение программирования. Если ваш биологический возраст больше 20 лет, вы в буквальном смысле на себе успели ощутить, как технологии меняют мир. Сегодня своя увлекательная история в духе «как мы жили до айфонов и убера» есть у каждого студента. Однако глобальное проникновение IT в нашу жизнь имеет и обратную сторону. Чем больше в нас становится софта – тем сильнее необходимость понимать, как он (софт) устроен и функционирует. Тем важнее изучение программирования.
Оставим за скобками проблему обучения и трудоустройства собственно программистов – у нас есть отдельные статьи про онлайн-курсы по разработке и data science. Обсудим, нужно ли программирование тем, кто связан с ним опосредованно: дизайнерам, управленцам, маркетологам. И если да, то насколько глубоко должно быть погружение в специфику? Какие языки учить и для чего? И c чего начать изучение программирования?
Тема оказалась настолько интересной, что мы вынесли ее в отдельную статью. Ниже наши размышления о том, зачем программирование «непрограммистам» и как (и где) его лучше изучать.
Почему важно изучение программирования?
- Программирование развивает абстрактное мышление. Мозг программиста воспринимает задачи иначе. Он умеет мыслить абстрактно, разделять большую задачу на маленькие. Более того, занятие разработкой плодит наши нейронные связи — по данным ученых, когда человек пишет код, у него работают те же участки мозга, что и при изучении нового языка. Больше о том, как работает мозг, есть в нашей статье.
- Знание программирования востребовано у работодателей. Копирайтер, умеющий писать не только качественные статьи, но и код для HTML-страниц с этими самыми статьями, экономит работодателю деньги и нервы. При прочих равных преимущество скорее всего будет отдано универсалу — тому, кто раньше решил взяться за изучение программирования. Он сможет проконтролировать подрядчиков, составить ТЗ или подменить кого-то из коллег на время больничного. Интересно, что никто не будет писать в требованиях вакансии копирайтера или маркетолога обязательные навыки программирования. Но наличие таковых в резюме — безусловный плюс. Еще важны soft skills, тут мы писали об их важности;
- Программирование растит вашу продуктивность и экономит время. Выполнение рутинных задач все чаще это скидывают на ботов и сервисы автоматизации (здесь есть статья про последние). Простой скрипт из нескольких строк может сберечь вам часы и дни. Например, если нужно скопировать идентичные данные с десятков сайтов, можно провести день, поочередно нажимая на Ctrl, C и V. Но ведь машина справиться быстрее, а время — самое дорогое, что у вас есть (мы уже не раз говорили об этом в наших материалах о тайм-менеджменте). Но для этого необходимо изучение программирования;
- Программирование защитит вас от манипуляций и обмана. Программисты-подрядчики — тоже люди, им свойственна лень, халатность и тяга к манипуляции. С той лишь разницей, что у разработчиков есть возможность замаскировать свои недоработки, если заказчик не совсем компетентен. Знание принципов работы программного обеспечения даст возможность выявлять жонглирование терминами, самостоятельно тестировать результаты работы разработчиков и выявлять критические ошибки. Проще говоря, вас не проведешь;
- Программирование развяжет вам руки. Представьте, что у вас родилась гениальная идея — сервис доставки всего всем всегда! Чтобы проверить жизнеспособность этой идеи и сразу после успешно выйти на IPO, нужна помощь программистов. А это время и деньги. Выход — изучение программирования. И писать код простейших приближений и прототипов самостоятельно. Наверняка получится криво, но для проверки валидности спроса это и не особо важно.
Кому важно изучение программирования? Менеджеры
Менеджеры мультифункциональны и администрируют кучу процессов, начиная от оповещения сотрудников и клиентов и заканчивая заполнением отчетов. Рассмотрим конкретный пример: нужно регулярно считать средний чек по данным в базе данных и рассылать это коллегам из других отделов. Рядовой представитель среднего звена тратит на это несколько часов продуктивного общения с калькулятором (особенно это свойственно представителям поколения Z — мы писали об этом). Тот же, кто обладает хотя бы базовыми навыками программирования, может написать короткий код для обращения к базе данных и автоматического подсчета средней суммы чека. Рассылку, кстати, можно поручить боту (если любите боты, прочтите нашу статью о каналах и ботах о продуктивности в Телеграмм).
Где начинать изучение программирования менеджерам
Линейным управленцам для решения простых прикладных задач можно использовать языки Python и JavaScript. Они оба имеют невероятно простой синтаксис и дают разработчику приятное ощущение комфорта и контроля. Начать изучение программирования для автоматизации работы и решения смежных задач знания можно тут:
- Автоматизация рутинных задач с помощью Python. Практическое руководство для начинающих — настоящее сокровище с Литрес для тех, кто никогда раньше не программировал, но хочет максимально упростить себе жизнь. Все примеры из книги подкрепляются рабочим кодом и пошаговым объяснением того, как это работает, что очень полезно начинающим;
- Бот для интернет-магазина — наглядное руководство от GeekBrains, в котором шаг за шагом описывается создание бота для Телеграмм на Python. Для того, чтобы начать изучение программирования с этого курса, нужно иметь базовые навыки и быть знакомым с синтаксисом Python;
- Современный JavaScript + Vue с нуля на реальных проектах — недорогой курс по программированию на JavaScript с нуля. Начало посвящено изучению базовых концептов программирования через призму языка JavaScript. Завершается онлайн курс созданием своего маленького, но полезного проекта;
- Специализация Fullstack-разработчик на JavaScript – курс от Skillfactory для комфортного старта в JavaScript.
Кому важно изучение программирования? Маркетологи и аналитики
Аналитики и маркетологи регулярно визуализируют данные. Эту процедуру можно, как и в прошлом примере, поручить компьютеру. Он быстро и без ошибок произведет нужные вычисления, а если добавить математический подход, то сможет и найти закономерности. Визуализировать результат своей работы аналитик может, использовав специальные библиотеки и фреймворки. Наглядный пример: необходимо отобразить изменение доходов и сопоставить его с затратами на рекламу, отследить динамику ROI. Простой скрипт соберет все данные, а затем выявит корреляцию. Это не rockit science, этому вполне реально научиться за несколько вечеров и попробовать самостоятельно написать свой плагин для Trello (тут мы рассматривали самые популярные).
Где начать изучение программирования маркетологам и аналитикам
Уместен Python — один из самых распространенных языков для анализа данных. R лучше не брать новичкам, так как главная сфера его применения — научные исследования. Ну и musthave — язык запросов к базам данных SQL. Этому всему можно научиться здесь:
- Python для анализа данных — курс от Skillfactory, который практикует изучение программирования по базовым навыкам работы с Python и заостряет внимание на применении этого в аналитике. По окончании курса парсинг веб-страницы с последующим составлением интерактивного отчета не будет проблемой;
- Python для работы с данными — онлайн-курс от Нетологии, который научит любого, даже далекого от IT человека, автоматизации работы с данными. Большое количество практических заданий и несколько лабораторных работ дадут опыт, который можно перенести на решение задач со своего места работы;
- SQL и получение данных — курс, который позволит аналитику стать независимым от разработчиков. Кроме практической работы с SQL предусмотрено изучение различных видов баз данных и системы контроля версий Git;
- Основы баз данных – доступный курс по написанию запросов на SQL от Geekbrains.
Кому важно изучение программирования? Контент-менеджеры, seo-специалисты и копирайтеры
Все они работают в команде с веб-разработчиками над тем, чтобы сделать сайт привлекательным для поисковых роботов. К сожалению единодушие — редкость для таких команд. Гораздо чаще это вариация на тему глухого телефона: все кроме вас делают работу не так, как надо, а так как «понимают». В итоге на это уходит уйма нервов и времени и переписок в системах управления проектами (мы рассматривали последние в этой статье). Поэтому голубая мечта любого контент-менеджера или seo-шника — решать задачи без привлечения разработчиков. Зачастую это возможно.
Где начать изучение программирования контент-менеджерам, seo-специалистам и копирайтерам
В этих сферах вполне достаточно знания связки CSS (язык для описания внешнего вида сайтов) + HTML (язык разметки веб-страниц). Если еще знать WordPress, Wix и изучить язык программирования JavaScript, то можно стать настоящим «универсальным солдатом». Учиться этому можно тут:
- WordPress: Личный блог — бесплатный курс по работе с WordPress от GeekBrains. Очень прост в освоении и не требует никакой базы. Его ключевая особенность в том, что знакомство с элементами WordPress идет с непосредственным их применением для решения реальной задачи;
- Основы HTML и CSS — изучение программирования по верстке сайтов от Нетологии можно смело назвать самым быстрым стартом в мире верстки. Все домашние работы ориентированы на практическое закрепление теоретических навыков, полученных на лекциях, а сами лекции построены таким образом, чтобы даже далекий от программирования человек все понял и всему научился;
- HTML/CSS. Интерактивный курс – образовательный проект от Geekbrains, где обучение проходит в тесной связке с наставником;
- HTML book — самоучитель по HTML. В нем есть ответы на все вопросы, которые могут возникнуть при знакомстве с языком, плюс мануал по CSS. К этой книге стоит больше обращаться как к справочнику при изучении языка;
- Frotend-разработчик от Skillbox — комплексный курс по верстке. Каждый урок полноценен сам по себе, поэтому те, кто не хочет погружаться в верстку полностью, могут выбрать что-то по душе. Вместе же все они дают знания, необходимые новичку для того, чтобы попасть в сферу веб-разработки.
Какой язык программирования выбрать новичку?
Может показаться, что в новичку в изучении программированияд о погружения в код нужно заняться математикой, потратить несколько месяцев на освоение курса информатики и только потом уже переходить к написанию кода. Это не так. О глубоком погружении в линейную алгебру и матанализ написано здесь. А писать код можно и без серьезной подготовки, важно только выбрать инструмент — язык программирования — который будет удовлетворять вашим потребностям и задачам рынка.
Языки программирования для начинающих
Самыми простыми в обучении считаются Python и JavaScript. Они фокусируются на удобстве для программиста и простоте кода, что крайне удобно для новичка. Как на том, так и на другом можно очень быстро написать код, решающий необходимую прикладную задачу. Важно и то, что спектр этих самых задач невероятно широк, поэтому научившись программировать на любом из этих двух языков, можно серьезно развязать себе руки, при этом оставаясь профи в маркетинге или дизайне. Вот с чего следует начать изучение:
- Основы Python 3 — бесплатный курс по программированию на Python от Udemy. Этот курс на 2 часа погружает слушателя в мир программирования, давая все необходимое для дальнейшего самообучения;
- Python для всех — набор курсов от Coursera, в котором каждый может найти необходимые ему знания. Первый курс по введению в Python можно считать обязательным, а дальше каждый может выбрать, какое применения Python ему подойдет;
- Основы программирования — интенсив от GeekBrains, который обучает фундаментальным основам программирования на JavaScript. После прохождения можно применить полученные знания к другим языкам программирования и продолжить обучение самостоятельно;
- Python-разработчик с нуля — курс от Нетологии, который дает всю необходимую базу для работы с Python и предлагает углубить знания в стезе разработки. Для тех, кто только начинает изучать программирование это — отличный шанс подумать о новой специальности и попробовать себя в ней;
- Курс Python для веб-разработки – эффективный обучающий проект от Skillfactory. Идеален для быстрого старта;
- Полный курс по JS — замечательный материал от Udemy, который учит основам программирования на JavaScript, объясняя всю концепцию языка и подготавливая к применению этого языка для написания серьезных проектов.
Язык С++ для начинающих
C++ не такой модный, но уже давно является настоящей классикой разработки во всех ВУЗах. На нем написана большая часть программного обеспечения, которым мы пользуемся в повседневной жизни — те же таск-менеджеры (мы рассматривали самые удачные здесь). И главное, он всегда был и будет востребован. Чтобы начать изучение С++ с нуля, подойдут следующие курсы:
- Искусство разработки на С++ — курс от МФТИ на Coursera. Учит написанию эффективного и качественного кода на С++. В ходе курса обсуждается множество алгоритмических задач, которые решают исследователи и программисты.
- Beginning C++ programming — From Beginner to Beyond — курс на Udemy, который объясняет ключевые аспекты программирования через призму С++ и затем переходит на применение С++ в современных реалиях. Более 30 упражнений по программированию позволяют сразу же применить новые знания на практике. Английский.
- Программист C++ — онлайн-курс от Geekbrains с преподавателями-практиками в С++.
Статьи и книги о изучении программирования для начинающих
- Начинаем программировать на Python — гайд от Skillbox о том, как начать работать в Python. Покрывает базовые темы, которых обычно достаточно для старта. Информация дается в очень сжатой форме, но все объясняется на примерах, поэтому даже тот, кто раньше не программировал, должен понять что к чему;
- Программируем на Python — книга, по которой можно начать изучение программирования с нуля. Обучение идет через написание простых игр, что делает его интересным. Полученные из книги знания о базовых принципах программирования можно перенести на любой другой язык, если возникнет такая необходимость;
- Eloquent JavaScript — книга, которая благодаря своему понятному языку и увлекательным заданиям привела в программирование на JavaScript тысячи людей.
Заключение об изучении программирования
Программирование — фундаментальный навык и ключ к новым перспективам и возможностям. На первый взгляд это сложно, но на практике способно оказаться настолько захватывающим, что заставит вас задуматься о смене профессионального профиля. В конце концов, в наше время программистом не обязательно рождаться – можно просто изучить хороший курс и несколько книг.
Читайте дальше:
Онлайн-курсы со скидками и описаниями
Наши подборки лайфхаков для продуктивности
Обзоры приложений для карьеры и бизнеса
Рецензии на книги о саморазвитии и продуктивности
Статьи о научном подходе к спорту и здоровому образу жизни
Как начать программировать: руководство
Не думаете, что сможете научиться программировать? Возможно, вы думаете, что для этого требуется степень в области компьютерных наук или что ваше отсутствие навыков в математике может сдерживать вас. К счастью, ничто не мешает вам научиться программировать.
Хотите ли вы найти новую работу или просто ищете новое хобби, любой может научиться программировать,
Программирование — это решение проблем. Да, может потребоваться некоторое время, чтобы освоить определенные языки, но существует множество ресурсов для любого стиля обучения, независимо от вашего возраста или навыков работы с компьютером. На самом деле многие компании нанимают инженеров без образования.
Вот основные сведения о том, как начать самостоятельное изучение программирования.
1. Придумайте простой проект
Вы не сможете научиться столярному делу, не сделав несколько шкафов. Точно так же, когда вы учитесь программировать, лучше всего создавать программы. Без этого четкого проекта легко потерять фокус и мотивацию. Так что придумайте идею и работайте над достижением этой цели.
Старайтесь, чтобы проект был простым. Например, упростите себе жизнь с помощью калькулятора бюджета или попробуйте построить старую классику вроде 9.0017 Палач .
Мы не можем не подчеркнуть, насколько это важно. Поэтому, прежде чем погрузиться в выбор языка или чтение книги, придумайте идею. Есть один? Большой. Давай продолжим.
[maxbutton id=”11″ text=”Begin Your Journey” window=”new” ]
2. Получите необходимое программное обеспечение
Вам не нужно много, чтобы начать писать код. Просто убедиться, что ваш компьютер знает, как запускать программу кодирования, является наиболее важной частью. Итак, если вы новичок в программировании, вот несколько вещей, которые вам нужно знать.
Это может быть так же просто, как текстовый редактор
При написании кода все, что вам нужно сделать, это сохранить файл в правильном типе. Например, если вы используете Python, вы должны сохранить текстовый файл как .py вместо .txt. Вы можете облегчить себе жизнь, загрузив Notepad++, который поможет вам определить, где вы допустили ошибку в своем коде.
Ваш компьютер должен знать, как читать код
Когда вы запускаете файл, ваш компьютер должен знать, что делать со всем этим кодом. Поэтому убедитесь, что вы ищете то, что вам нужно установить, прежде чем пытаться запустить файл.
Вы можете получить программное обеспечение, которое объединит все, что вам нужно.
Как только вы узнаете, какой язык хотите изучать, и начнете создавать более сложные программы, вам нужно загрузить интегрированную среду разработки (IDE).
Среда IDE позволяет редактировать код, наблюдать за его выполнением в режиме реального времени и создавать окончательный файл, который вам нужен. Они не обязательны, но значительно облегчают жизнь.
Знакомство с консолью
Вероятно, вы привыкли пользоваться своим компьютером с хорошо продуманным интерфейсом. Это называется графическим пользовательским интерфейсом (GUI). Теперь, когда вы собираетесь стать программистом, полезно знать, как использовать черное окно власти: консоль (интерфейс командной строки).
Это не сложно, но, вероятно, вам незнакомо. Ознакомьтесь с этим руководством The New Boston о том, как использовать командную строку Windows.
3. Присоединяйтесь к сообществам, посвященным тому, как начать кодирование
Теперь вы знаете основы, пора перейти к деталям. В Интернете есть множество мест, где можно задать вопросы, получить помощь в решении сложных проблем и ознакомиться с передовым опытом. Присоединение к сообществу действительно может побудить вас продолжать писать код и дать вам направление, когда вы чувствуете себя потерянным. Естественно, компьютерные программисты создали в Интернете множество мест, где можно найти помощь программистам с любым уровнем опыта.
Вот четыре хороших способа принять участие:
- Reddit /r/learnprogramming: важный ресурс, который объединяет все, что вам может понадобиться для изучения языка.
- Переполнение стека: Всякий раз, когда у вас возникает проблема, весьма вероятно, что кто-то уже решил ее. Stack Overflow — один из лучших форумов для поиска таких решений. Встреча
- : Не стоит недооценивать, насколько полезным может быть знакомство с людьми из реальной жизни, которые программируют. Хакатоны
- : эти мероприятия объединяют людей для быстрого создания программ, обычно в течение выходных. Вы можете найти много в Интернете, но попробуйте начать с Major League Hacking.
Присоединение к сообществу не научит вас языку, но поможет вам понять, где вы ошиблись.
4. Прочтите несколько книг
Существует множество книг о том, как начать программировать. Чтение книги действительно может помочь вам разобраться в теории программирования. Главный недостаток в том, что если вы застряли, трудно попросить книгу о помощи. Они отлично подходят для общих идей и концепций или обучения, когда вы находитесь вдали от компьютера. Но без постоянной практики вы можете впасть в уныние.
Ознакомьтесь с нашим руководством по лучшим книгам по программированию для начинающих или вы можете найти список бесплатных книг на GitHub.
Остерегайтесь книг, которые утверждают, что научат вас за 24 часа
Программирование требует времени. Язык за день не выучишь. Вместо этого ищите книги с более реалистичными временными рамками. Одна особенно хорошая серия — это книги Sams Teach Yourself Брэдли Л. Джонса.
5. Как начать программировать с YouTube
Когда дело доходит до того, как начать программировать самостоятельно, на YouTube есть довольно много руководств. Часто это может быть интереснее, чем чтение книги, но обычно это более высокий уровень. Вот несколько хороших мест для начала.
- Ускоренный курс информатики. Эта серия не о том, как программировать, но вы узнаете, как работает ваша операционная система и оборудование. Каждый эпизод длится около 10 минут, так что вы можете довольно быстро понять, как компьютеры и код сочетаются друг с другом.
- Поезд кодирования: это развлекательное шоу посвящено Python, но покажет вам настоящего программиста в действии. Особенно стоит проверить его задачи, где он пытается создать простую программу за 10 минут. Возможно, вам захочется посетить это место, как только вы получите базовое понимание жаргона.
6. Слушайте подкасты
способ Подкасты — отличный способ учиться, пока вы путешествуете или не работаете за компьютером. Хотя вы не будете изучать конкретный синтаксис, они помогут вам освоить теорию.
Вот несколько для начала:
- CodeNewbie: Если вы ищете вдохновения, этот подкаст расскажет истории людей, которые попали в программирование, что они сделали и как они это сделали.
- Научитесь программировать:. Лоуренс Брэдфорд берет интервью и отправляется в собственное путешествие, чтобы научиться программировать. Вы можете следовать вместе с ней и учиться вместе с ней.
- Coding Blocks: более продвинутый подкаст, в котором группа программистов рассказывает о тонкостях кодирования.
7. Пройдите обучение
Существует довольно много приложений и веб-сайтов, которые помогут вам научиться программировать. Это действительно полезно, если вы все еще задаетесь вопросом, какой язык выбрать. Вы узнаете разницу между переменной и функцией и начнете составлять действительно простые программы.
Будьте осторожны, они могут немного потерпеть неудачу, как только вы захотите создать свою собственную программу или что-то особенно уникальное. Вам не с кем будет поговорить, и они могут чувствовать себя довольно ограниченными в своих возможностях.
Мы рекомендуем начать с Codecademy. Это бесплатно, и вы можете изучить основы различных языков, чтобы понять, какой из них подходит вам больше всего.
8. Как начать программировать с помощью игр
Как только вы начнете ломать голову над тем, как программировать, и у вас есть несколько программ за поясом, дело доходит до практики. Здесь вы можете начать искать игры кодирования. Они действуют как головоломки, которые бросают вызов тому, как вы подходите к проблемам программирования. Они не для полного новичка, но отлично подходят для среднего уровня.
Попробуйте одну из следующих:
- Code Combat: Эти игры медленно знакомят вас с понятиями, начиная с компьютерных наук и постепенно усложняясь.
- CodinGame: когда у вас появится немного больше понимания, эта игра посвящена решению задач на определенных языках.
- Code Wars: сразу приступайте к проблемам программирования и практикуйтесь в отладке своего программного обеспечения.
9. Пройдите курс обучения программированию
Когда дело доходит до того, как начать программировать, ничто не может сравниться с настоящим учителем. В учебном лагере по программированию вы попадете в иммерсивную среду обучения, которая за 14 недель (или больше, в зависимости от вашего графика) превратит вас из ученика в программиста в самостоятельного программиста.
Учебные курсы по кодированию не предназначены для тех, кто хочет попробовать себя в программировании, они созданы для людей, которые решили сделать карьеру в области технологий и хотят получить необходимые навыки, чтобы их можно было нанять на такие должности, как разработчик полного стека и программное обеспечение. инженер СРОЧНО.
Стоит ли заниматься программированием Dojo?
Coding Dojo предлагает самый серьезный учебный курс в отрасли. Это единственный буткемп, учебная программа которого предназначена для обучения трем полным стекам, используемым ведущими мировыми компаниями (большинство буткемпов преподают только один). Доступны полные и неполные онлайн-курсы кодирования. В дополнение к тому, что вы можете подавать заявки на большее количество вакансий с лучшим диапазоном заработной платы, учебная программа, состоящая из трех частей, позволяет вам расти вместе с вашей отраслью вместо того, чтобы возвращаться в школу, чтобы изучать больше языков программирования.
Если вы серьезно настроены сделать технологии основной частью своей профессиональной жизни на всю оставшуюся жизнь, Coding Dojo — единственный серьезный выбор.
«Я хочу научиться программировать, но не знаю, с чего начать» | by Robin
Цель этой статьи — сделать обучение программированию доступным для всех.
Меня как наставника постоянно спрашивают:
«Какой язык программирования мне изучать, если я новичок?»
«Какой язык программирования наиболее востребован для работы?»
«Какой самый популярный язык программирования?»
Если вы ищете официальный рейтинг лучших языков программирования, вы можете найти его здесь: Лучшие языки программирования IEEE Spectrum
Этот список отлично подходит для проверки того, используется ли конкретный язык программирования сегодня. Однако, если вы новичок в программировании, я не рекомендую выбирать язык исключительно на основе списка.
Информатика — это полностью кумулятивная область изучения. Это означает, что каждая последующая тема основывается на предыдущих темах.
Если вы ранее пытались изучать программирование (или любую область STEM) в школе, старались изо всех сил, но потерпели неудачу — проблема была не в вас. Хороший преподаватель любого совокупного предмета тщательно курирует учебную программу. При условии, что каждый учащийся в достаточной степени подготовился и выполнил предварительные требования, ожидания от предшествующих знаний учащихся должны быть четкими. Хороший профессор понимает ожидания и не предполагает никаких знаний, выходящих за рамки этого. Всему, что выходит за рамки ожиданий, нужно учить. Каждая тема в учебной программе упорядочена последовательно, в соответствии с другими темами.
Когда предмет является кумулятивным, необходимо уделить особое внимание при разработке учебного плана курса или схемы обучения. При этом не выбирайте язык для его ранжирования; выберите язык, для которого у вас есть полный путь обучения, который не делает предположений о предшествующих знаниях.
Прежде чем вы начнете учиться программировать, важно поразмыслить над тем, о чем я говорил выше: все в компьютерных науках является кумулятивным.
Мне нравится повторять это, потому что самая большая ошибка, которую вы можете совершить как начинающий программист, — это сдаться, потому что вы не думаете, что достаточно умны, чтобы изучать программирование. Обучение программированию не имеет ничего общего с вашим интеллектом. Да, научиться программированию сложно не из-за того, кто ты, а потому, что есть много тем для изучения.
Первое правило: смиритесь со следующим сценарием: вас знакомят с новой темой, которая не имеет для вас абсолютно никакого смысла.
Этот сценарий будет повторяться снова и снова. То, как вы справляетесь с этой ситуацией каждый раз, когда она возникает, является единственным фактором, определяющим ваш успех.
Если текущая тема, которую вы изучаете, не имеет для вас смысла, оставайтесь на месте. Не переходите к следующей теме. Повторюсь, темы суммируются. Забегать вперед — все равно, что пытаться пристроить крышу к дому, у которого нет каркаса, стен и фундамента.
Я нахожусь в такой ситуации все время . Мне часто приходится пересматривать одну и ту же лекцию видеоурока несколько раз, чтобы понять, чему я учусь. Не расстраивайтесь, если окажетесь на моем месте.
Если учебник (или книга), который вы используете, недостаточно разъясняет тему, вам придется найти другие ресурсы, которые вам подойдут. Нет никакого оправдания тому, чтобы сдаться только потому, что освещение темы в вашем руководстве не сработало для вас. На YouTube можно бесплатно найти практически все, чему вы хотите научиться. Выясните, что искать (например, [тема] на [вашем языке программирования] + любые другие полезные ключевые слова).
Если вы ищете обучающие видео на YouTube, сначала проверьте статистику. Взгляните на рейтинг и/или количество просмотров. Если вы все еще не уверены, стоит ли видео вашего времени, прочитайте некоторые комментарии, чтобы узнать мнение других.
Многие темы не будут иметь смысла с первого раза. Итак, воздержитесь от негативных мыслей о себе.
Цель состоит в том, чтобы осознавать свое понимание во время обучения. По мере продвижения по пути обучения вам необходимо проводить самоанализ. По каждой теме, которую вы освещаете, задайте себе такие вопросы, как:
- «Понятна ли мне эта тема?»
- «Была ли новая терминология? Если да, то было ли дано формальное определение для каждого нового термина?»
- «Появились новые навыки? Понимаю ли я, как каждый новый навык используется в приложении? Могу ли я продемонстрировать свое понимание этого навыка, решая практические задачи?»
- «Вспомню ли я завтра то, что только что узнал? А на следующий день? Если нет, то как мне запомнить это?»
Последний совет: никогда не недооценивайте силу запоминания. Запоминание — совершенно недостаточно используемый подход в обучении. Да, понимание темы является конечной целью. Однако для понимания может потребоваться время. Если вы действительно изо всех сил пытаетесь понять тему, разбейте тему и запомните важные термины. Если вы не можете понять, как что-то работает, вашей непосредственной целью должно быть запоминание. Если вам нужны советы о том, как справиться с запоминанием, рассмотрите возможность использования метода учебных карточек. Подробнее о том, как я использую эту технику, можно прочитать в моем документе «Подготовка к собеседованию».
Первым шагом является изучение основ компьютерных наук, о чем я расскажу в своей статье «Введение в терминологию компьютерных наук». Эта статья написана специально для моей аудитории — всех. Я специально создал это так, чтобы его было легко понять любому, кто не имеет опыта работы с компьютерами.
Понятия, рассматриваемые в статье, носят преимущественно дефиниционный характер. Вы можете невнимательно прочитать статью, и хорошо, что вам этого достаточно. Я рекомендую запомнить эти термины. Подходите к каждому термину так, как если бы вы были в школе, и вам нужно вспомнить определение каждого термина для экзамена. Вам не нужно так тщательно брать на себя обязательства, если вы этого не хотите. Однако чем больше этих понятий вы сможете запомнить, тем легче будет понять последующие темы.
Нет, чтобы быть программистом, не обязательно быть сильным в математике. Математические навыки могут быть полезны, но они не обязательны.
Если вы не уверены в своих математических способностях, я рекомендую изучить логику высказываний. Принципы, описанные в логике высказываний, являются строительными блоками программирования.
Вы можете изучить логику высказываний из этого руководства на YouTube: Основные понятия логики высказываний.
Изучив основы информатики, вы будете готовы к изучению языка программирования.
Я приложил много усилий и усилий, чтобы разработать путь, подходящий для всех, независимо от их происхождения. Я выбрал Java для этого пути обучения, потому что Java — это язык, в котором у меня больше всего опыта.
Java — один из самых востребованных языков программирования. Он классифицируется как объектно-ориентированный язык программирования (позже вы узнаете, что это значит) и используется для создания настольных, веб-приложений и мобильных приложений.
Если вы предпочитаете учиться по книге, я рекомендую следующее: Head First Java.
Если вы ищете видеоруководство, я рекомендую посмотреть видеоролики № 1–19, 31–33, 88 и 93 в учебном пособии по Java на YouTube от Дерека Банаса: видеоучебник по Java.
Первое видео в учебнике YouTube предложит вам загрузить компьютерную программу под названием Eclipse . Eclipse — это интегрированная среда разработки ( IDE ). Вы можете думать о IDE как о причудливом термине для текстового редактора, созданного для программистов. Это просто компьютерное приложение, которое предоставляет текстовый редактор для программирования, а также другие инструменты для запуска ваших программ. Вот ссылка на видео Дерека Банаса на YouTube о том, как загрузить Eclipse: Установите Eclipse для Java.
Алгоритм — это набор инструкций (или шагов) для выполнения конкретной задачи, где каждый шаг должен быть четко определен, выполним и конечен (то есть не может выполняться бесконечно).
Структура данных — это способ организации данных в памяти.
Алгоритмы и структуры данных — две самые сложные темы программирования. Вам не нужно , чтобы изучить алгоритмы для базовых навыков программирования. Однако, если вы стремитесь работать инженером-программистом в авторитетной технологической компании, от вас ожидают, что вы продемонстрируете понимание алгоритмов и структур данных во время собеседований.
От себя лично, приведенный ниже учебник — это то, что сделало мои навыки работы с алгоритмами от новичка до эксперта: Учебник Udemy по алгоритмам и структурам данных. Я купил много руководств по алгоритмам. Это был, безусловно, самый полный, с которым я сталкивался. Хотите ли вы изучить алгоритмы и структуры данных или подготовиться к техническим собеседованиям, это руководство — лучший способ добиться успеха.
Примечание: курс дорогой, но необходимый. Мне удалось связаться с инструктором, и она щедро предложила код купона, который снижает стоимость с 50 до 10 долларов. Код купона будет применен автоматически при переходе по ссылке.
Я рекомендую использовать следующий учебник вместе с учебником Udemy: VisuAlgo. VisuAlgo — это бесплатный ресурс, который показывает, как значения, вводимые в алгоритм, меняются в процессе его выполнения.
Разработка под Android, на мой взгляд, одно из самых увлекательных приложений Java-программирования. Приложения для Android в основном написаны на Java, поэтому, как только вы изучите Java, вы будете готовы к изучению Android.
Вот лучший бесплатный видеоурок для начала изучения Android: Udacity-Android Development for Beginners.
После того, как вы закончите курс Udacity, указанный выше, у вас есть несколько вариантов дальнейшего развития событий. Должно быть дополнение к вышеупомянутому курсу, который преподается той же группой сотрудников Google. Дополнительные лекции должны стать видны после прохождения курса (если вы не можете их найти, найдите их в Udacity). Это хороший вариант, тем более, что он бесплатный.
Однако, если вы готовы потратить деньги на выдающуюся книгу, я настоятельно рекомендую следующее: Head First Android Development: A Brain-Friendly Guide. Эта книга дает подробные объяснения и полезные изображения, которые действительно помогут вам изучить основные концепции Android. Каждая глава знакомит вас с примером приложения. Все подробно объяснено, с использованием слов и диаграмм, понятных каждому.
Stack Overflow — это веб-сайт, на котором программисты могут получить бесплатную помощь по своему коду. Если вы застряли и хотите задать вопрос, сначала найдите его. Если вы не можете найти свой вопрос, создайте учетную запись и опубликуйте вопрос самостоятельно!
Существует множество образовательных сайтов, на которых можно найти учебные пособия по программированию. Некоторые из моих любимых — Codecademy, Udemy, Udacity, Team Treehouse и Khan Academy.
Используйте эти 7 советов, которые помогут вам быстрее освоить компьютерное программирование
Кажется, что в мире компьютерного программирования всегда есть чему поучиться. Независимо от того, где вы находитесь в своем обучении программированию и кодированию, если вы сделаете все возможное, вы получите все знания, необходимые для успеха. Ознакомьтесь с этими семью советами, которые помогут вам научиться быстрее и эффективнее стать программистом.
1. Сосредоточьтесь на основах
Думаете, вам не нужно повторять основы? Подумайте еще раз. Как и в любой области, хорошее понимание основ критически важно для достижения долгосрочного успеха. Информация, которую вы изучите в начале своего обучения программированию или в учебном лагере по кодированию, позволит вам понять логику более сложных тем в дальнейшем. Если вы не изучите основы компьютерного программирования, вы можете отстать в будущем. Таким образом, даже если поначалу основы кажутся скучными или неважными, вам нужно понять, насколько важно их изучить.
2. Научитесь обращаться за помощью
Знать, когда обращаться за помощью, — это навык, который вам понадобится на протяжении всей жизни, а не только в карьере программиста. Дело в том, что вы не будете знать всего, особенно когда вы только начинаете. Самый быстрый и простой способ получить навыки, необходимые для успешной карьеры программиста, — это спросить тех, у кого есть ответы. После того, как вы попытаетесь выяснить ответ на свой вопрос самостоятельно, обязательно спросите кого-нибудь еще. Делаете ли вы это лично или онлайн, разговаривая со своим наставником или учителем и слушая, что они говорят, очень важно, когда вы учитесь стать программистом.
3. Примените свои знания на практике
Если вы действительно хотите научиться программировать, вам нужно сделать больше, чем просто прочитать книгу и сделать несколько заметок — вам нужно применить полученную информацию на практике. Вы можете быть удивлены тем, как то, что вы читаете, может казаться таким простым, пока вы не попытаетесь сделать это сами. Таким образом, вы должны начать программировать, когда учитесь. Таким образом, вы немедленно используете информацию. Когда вы учитесь на практике, информация с большей вероятностью останется с вами.
4. Научитесь программировать вручную
Это может показаться старомодным, но если вы действительно хотите преуспеть в компьютерном программировании, особенно если вы ищете карьеру программиста, научиться программировать вручную — это один из самых важных навыков, которые вы можете приобрести. Во-первых, это сделает вас лучшим кодером, потому что вам придется быть более преднамеренным — вы не сможете запустить свой код на полпути, чтобы увидеть, работает ли он. Это приводит к повышению уровня точности. Но обучение программированию вручную не только улучшает ваши навыки; это также может помочь вам получить работу и начать карьеру программиста. Работодатели, желающие нанять программистов, часто требуют, чтобы соискатели прошли тест на кодирование, который включает в себя кодирование вручную. Поэтому очень важно, чтобы вы приобрели этот навык.
5. Ознакомьтесь с полезными онлайн-ресурсами по программированию
В наши дни в Интернете можно найти бесчисленное множество источников информации практически по любой теме. Эта информация может быть особенно полезна, когда вы учитесь программировать. Независимо от того, решите ли вы зарегистрироваться в учебном лагере по кодированию или просто хотите просмотреть бесплатные учебные пособия на YouTube или других потоковых сервисах, вы можете многое узнать о программировании, просто зайдя в Интернет. Одним из основных преимуществ такого обучения является то, что вы можете найти ответы, которые вам нужны, в самых разных форматах. Поэтому, если одно объяснение не имеет для вас смысла, вы всегда можете найти другое объяснение в другом месте. Поиск дополнительных ресурсов для того, чтобы стать программистом, поможет вам поднять свою карьеру программиста на новый уровень.
6. Знайте, когда отвлечься от отладки кода и сделать перерыв
Отладка может быть одним из самых разочаровывающих процессов, когда вы учитесь программировать. В конце концов, поиск ошибки может занять несколько часов, и вы можете легко потерять чувство времени, когда пытаетесь решить проблему. Это может привести к тому, что вы почувствуете себя подавленным или напряженным, поэтому вам нужно научиться вовремя отходить от ошибки и делать перерыв. Попробуйте делать то, что вам нравится, например, читать, готовить или заниматься спортом. Выполнение этого шага позволит вам достаточно очистить свой разум, чтобы вернуться к ошибке с обновленным чувством сосредоточенности.
7. Делайте больше, чем просто читайте пример кода
Когда вы получаете пример кода, его легко прочитать и подумать, что вы понимаете, что происходит. Но если вы действительно хотите стать программистом, вам придется сделать еще один шаг вперед. На самом деле вы должны запустить код и повозиться с ним, чтобы понять, как он работает на самом деле. Это гораздо более эффективный способ обучения, чем просто чтение кода. Помните, что умение читать код не равно его пониманию. Чтобы начать успешную карьеру кодировщика, вам необходимо развить глубокий уровень понимания, и игра с образцами кода — отличный способ сделать это.
Заключение
Научиться программировать — это увлекательно и даже немного пугающе поначалу. Но когда вы выберете правильный учебный лагерь или образовательную программу по кодированию и примените эти советы, вы получите всю информацию и навыки, необходимые для начала успешной карьеры программиста. Помните, что каждый кодер испытывает некоторые трудности, когда только начинает, и вам не следует ожидать от себя чего-то другого. Это просто часть учебного процесса. Но если вы будете придерживаться этого, вы освоите эти навыки быстрее, чем вы когда-либо думали.
Просмотрите ранее предоставленную информацию.