Путешествие подростка-программиста-самоучки в Нсукка, штат Энугу, Нигерия

Сегодня мы живем в обществе, где благодаря Интернету можно узнать все в Интернете. Все, что вам нужно, это компьютер, блок питания и, конечно же, подключение к Интернету. Однако ключом к успешному самомотивированному онлайн-обучению является сочетание любопытства, целеустремленности, интереса и упорного труда. Я Абугу Афамефуна, 17-летний студент SS3. В этой статье я надеюсь описать свой путь к тому, чтобы стать программистом-самоучкой, не имеющим технического образования.

Все началось с поиска в Google «Как мне создать игру?». Я только что закончил играть в одну из моих любимых игр. Игра мне понравилась, но я не считал ее идеальной. Я неоднократно сетовал на некоторые недостающие функции, которые, как мне казалось, следовало добавить. После минут разочарования и досады мне пришла в голову мысль. Мне пришло в голову, что я могу научиться создавать игры и таким образом включать в них любые функции, которые захочу. Итак, я зашел в Интернет и погуглил: «Как мне сделать игру?» и ждал с нетерпением. Первый результат поиска описал, как сделать игру с нуля. Все было интересно, пока я не дошел до раздела о программировании. Там я заблудился. Раньше я не слышал о программировании, это звучало волшебно и сложно одновременно. Мое беспокойство усилилось, когда я поискал фрагмент кода java - он был еще более устрашающим. Я пошел спать и на следующий день был действительно мотивирован. Я продолжил поиски, но в конце концов так и не понял, что такое программирование. Итак, я решил, что программирование не для меня. Я решил придерживаться хороших старых игр в магазине приложений и не беспокоиться о сложных вещах. «Кроме того, кто здесь занимается программированием?» Я думал.

Перенесемся в несколько месяцев спустя, мой брат, который изучал медицину и хирургию в Украине, приехал домой на рождественское мероприятие. Хотя он не был программистом, он много говорил о программировании и о том, как оно формирует будущее. Я сразу вспомнил свою встречу, и мое любопытство вернулось. Мне пришлось вернуться и погуглить все, начиная с «что такое программирование?», «Как начать программировать», «как заработать на программировании» до «лучшего языка программирования для создания игр». Поиск оставил меня в еще большем замешательстве. Мне нужно было руководство, физический наставник, советник, программист, который направил бы меня, потому что Интернет был слишком велик. Было так много разных идей и мнений. В то время как некоторые веб-сайты предлагали мне начать с Python, другие придерживались HTML и CSS, а некоторые говорили, что язык объектно-ориентированного программирования является лучшим (что это вообще такое?). В конце концов, я не смог найти наставника. Пройдя через множество веб-сайтов, я сделал худшую ошибку новичка. Я начал с C ++, потому что читал, что это круто для создания игр! В то время я понятия не имел, что C ++ не подходит для новичков.
Моим новогодним решением было изучить программирование. Я загрузил файлы PDF, приложение SoloLearn в магазине игр и Dev-C ++ (интегрированная среда разработки C ++, сокращенно IDE). Все готово, не терпелось начать. К 12 часам утра 1 января 2017 года, когда другие праздновали и радовались новому году, я тоже праздновал, потому что я успешно написал и выполнил свою первую строку кода.

Написание моего первого кода было волнующим. Я чувствовал себя более живым и решительным. Однако по прошествии нескольких дней это чувство и решимость начали ослабевать, потому что я не понимал, что делаю. Я задавался вопросом, как сложение, вычитание, выражения и циклы помогут мне создать потрясающую игру, которую я задумал. Во-вторых, C ++ обычно не подходит для начинающих. Чтобы написать простую программу «Hello world», нужно выучить множество синтаксисов. У меня было искушение дать перерыв в программировании, но эта маленькая печь решимости и любопытства продолжала гореть. Итак, я вернулся к своему другу, Google, но с другим вопросом: «Какой самый простой язык программирования для абсолютных новичков?»

После моих поисков я остановился на Python. Я скачал PDF-версию «Python для детей» Джейсона Р. Бриггса. Это был лучший материал, который у меня был как у абсолютного новичка, потому что он упрощал программирование и делал его понятным. Изучив книгу, мне удалось создать несколько базовых игр, таких как игра в падл-мяч и приключенческая игра с текстовым интерфейсом.

Немного изучив Python и поиграв с ним, я почувствовал себя более мотивированным и начал представлять себе мир программирования в большем масштабе. Я понял, что мне нужно еще многому научиться и что мне нужно больше опыта, чтобы стать лучшим программистом. Изучая Python, я обнаружил, что с помощью программирования можно достичь многих замечательных вещей, таких как веб-дизайн и разработка, машинное обучение, разработка для Android или iOS. Мне стало любопытно, поэтому я решил углубиться в разработку веб-сайтов.

В отличие от любого другого программирования, веб-разработка является самой простой и удобной для новичков. Изучение веб-разработки начинается с HTML (язык разметки гипертекста), который является структурой и языком строительных блоков Интернета, и CSS (каскадная таблица стилей), которая добавляет цвет и стиль в HTML. Следующая остановка после HTML и CSS - это JavaScript, язык программирования на стороне клиента, который делает веб-сайты интерактивными. Освоив JavaScript, вы можете запустить PHP (препроцессор гипертекста), который представляет собой программирование на стороне сервера. Вооружившись знаниями этих языков проектирования и программирования, вы сможете создать достойный веб-сайт. Я изучил HTML и CSS с помощью PDF-файла HTML и CSS: проектирование и создание веб-сайтов Джона Дакетта. Я настоятельно рекомендую книгу всем, кто плохо знаком с веб-разработкой. Для JavaScript и PHP я использовал YouTube. Но, живя в этой части мира, где электричество и подключение к Интернету не всегда постоянно, я учился неторопливо. Чтобы проверить свои знания, я начал создавать блог с нуля (все еще в разработке). Вот скриншот главной страницы:

Хотя процесс разработки веб-сайта был быстрым и простым, я не испытывал к нему особого энтузиазма. Я решил чаще изучать и использовать WordPress, Wix и другие системы управления контентом (CMS) вместо того, чтобы создавать сайты с нуля. Эти фреймворки делают разработку веб-сайтов очень простой, и я подумал, что если я овладею ими, я смогу разрабатывать веб-сайты быстрее и у меня будет больше времени для изучения других языков программирования. Я также рассматривал приложения для Android, потому что было бы круто сделать и веб-сайт, и мобильные приложения. И, как всегда, я обратился к своему старому доброму другу, Google. Многие ресурсы, которые я нашел, предлагали изучить Java, прежде чем углубляться в разработку Android, но я не хотел. Я чувствовал, что Java «неприкосновенна», что она будет сложнее, чем C ++, и поэтому предназначена только для опытных программистов. Более того, мне нужны были немедленные результаты, я хотел одновременно изучать Java и создавать приложения для Android. Я не знал, с чего начать, поэтому никогда не начинал.

Ситуация изменилась, когда я встретил разработчика Android Окечукву Нвагба на собрании клуба в моей школе, средней школе Нсукка Университета Нигерии, расположенной на территории известного Университета Нигерии Нсукка (UNN). Я являюсь членом школьного ИКТ-клуба. Г-н Окечукву был нынешним руководителем Студенческого клуба разработчиков (DSC) UNN. Он посетил мою школу во время клуба и познакомил нас с разработкой для Android. В то время мы еще не занимались кодированием или программированием в клубе. Деятельность нашего клуба была направлена ​​на изучение компьютерных компонентов и использование определенных программных приложений, таких как Microsoft Word и Excel. Я был очень взволнован в тот день, когда меня посетил Окечукву, и я встретил его после собрания клуба. Он помог мне начать разработку Android. Он сделал мое путешествие сверхбыстрым и содержательным. Я вернулся на Java, но с большей решимостью. Я изучил Java с помощью Java How to Programming Пола Дейтеля, и я настоятельно рекомендую эту книгу всем, кто хочет изучить программирование на Java. Мне пришлось выучить Java, прежде чем полностью погрузиться в разработку для Android, потому что Android в значительной степени построен на Java. Во время обучения я создал несколько побочных проектов, включая программу Basic Calculator, калькулятор BMI, программу поиска наибольших и нечетных чисел, реплику текстовой игры с синхронизацией, в которую я играл в школе, программу расшифровки и шифрования, вопрос о глобальном потеплении. и программа ответов, бесконечная программа математических викторин и многое другое. Освоившись в области объектно-ориентированного программирования Java, я перешел на разработку для Android. Мне помог бесплатный курс Udacity, Android для начинающих. Этот курс был разработан для начинающих. Вам просто не нужно иметь опыт программирования. С помощью этого курса я изучил Java с нуля, но с точки зрения разработки под Android, и я настоятельно рекомендую его всем, кто начинает разработку под Android.

По мере того, как я изучал разработку Android, я выполнял несколько проектов, таких как Udacity build, параллельно с проектами, практическими проектами и самопроектами. Некоторые из проектов включают:

1. Приложение ScoreKeeper и счетчик суда

Это были мои первые заявки. Счетчик (первый) предназначен для записи голов, фолов и карточек (красных и желтых карточек) в футбольном матче. Счетчик Court (второй), созданный на основе приложения от Udacity, предназначен для отслеживания результатов в баскетбольном матче.

2. Перетащите приложение

Выше показан проект перетаскивания, который я разработал для практики.

3. Выполнение Word

Это тот проект, над которым я сейчас работаю, и я хотел бы опубликовать его как свое первое приложение в игровом магазине. Он был вдохновлен игрой, в которую я играл со своими друзьями в школе.

Чтобы помочь запутавшимся подросткам, вроде меня, начать программировать, я представил курс веб-разработки в школьном клубе ИКТ. Я также начал частный праздничный урок для всех, кто хотел бы продолжить свое обучение или узнать о другой области программирования, которая может быть разработкой для Android или Python. Моя цель - повысить осведомленность о коде в моем районе и сделать так, чтобы 20 процентов людей, особенно подростков, в моем районе могли программировать. Я все еще считаю себя новичком, потому что я все еще учусь, и мне нужно многому научиться. Недавно я занялся разработкой игр и, надеюсь, в ближайшем будущем смогу создавать достойные приложения и игры для Android.

Я не знал, что поиск в Google из пяти слов приведет меня так далеко в мир программирования. Хотя это правда, что мое местное сообщество мало осведомлено о программировании, есть надежда на всех, кто хочет учиться. Будьте готовы столкнуться с множеством проблем, особенно с началом работы и пониманием уроков. Отсутствие стабильного источника питания и надежного подключения к Интернету также является серьезной проблемой. Кроме того, молодые люди могут столкнуться с проблемой завоевания своих родителей из-за того, что общество предпочитает престижные курсы (медицинские, инженерные и другие). Однако, проявив решимость и упорный труд, вы обязательно достигнете своих целей, и небо станет отправной точкой. Я оставляю вас с поговоркой: «вы можете сделать больше, чем вы думаете».

Я Абугу Афамуэфуна Саймон Дж., и я люблю учиться.