Якби вам довелося повертатися назад і вивчати свій набір навичок, як би ви це зробили? [зачинено]


16

Мій молодший брат шукає почати програмувати. Йому 14 і технічно схильний, але реального досвіду програмування немає. Він шукає мене для керівництва, і я не відчуваю себе так, ніби мій досвід достатній, тому я зрозумів, що попрошу тут.

Він більше цікавиться веб-програмуванням, але також цікавиться настільними / мобільними / серверними програмами.

Який би шлях для нього пройшов? Я збираюся придбати йому купу книг на Різдво, щоб розпочати його; питання полягає в тому, що він повинен вчитися і в якому порядку?

Як я це бачу, йому потрібно вивчити теорію та код. Я хотів би почати його з Python або Ruby або PHP. Якщо він хоче зайти в Інтернет, йому також потрібно буде вивчити HTML, CSS, Javascript тощо.

З цих трьох областей (мови, теорія, розмітка / тощо), який найкращий порядок ви думаєте вивчати? Також мені щось не вистачає?

Спасибі!


18
Замість книг купуйте річну підписку на хостинг-сайт. В Інтернеті є достатньо для початківців. Розміщення сайтів на комп’ютері в домашніх умовах має лише такий цікавий фактор для підлітка.
JeffO

Ха-ха, я запускаю ряд VPS ', які я його створив, тож йому слід добре піти в цей відділ!
vorbb

Відповіді:


10

Зареєструйте його для StackOverflow.com та Programmers.StackExchange.com

і змусити його переглядати різні питання, коли йому нудно . Почніть з гарячих / найпопулярніших питань.

Також

Допоможіть йому створити мету, яку він хоче створити, що знаходиться трохи поза його досяжністю, просту гру, додаток, який може надіслати твіт? Це повинно бути чимось захоплюючим . Це допоможе орієнтуватися на теми, які він викриває, і забезпечить йому мотивацію завдяки відчутному результату, який він створює.

І

Де можливо , не купуйте книги у фізичній формі, якщо він добре працює з цифровим друком , я впевнений, що хтось із вас має дотик до андроїда чи iphone або blackberry чи ipod? Отримайте додаток ibooks або розпалити та придбайте цифрові версії .

Справа з фізичною книгою уповільнює процес отримання знань; інструменти, вбудовані в цифрові зчитувачі, надають багато переваг технічному читанню.

Примітка: як згадується в коментарях, є недоліки цифрових та друкованих книг, тому сприйміть цю точку із зерном солі


15
Я не згоден з цифровим читанням. Власне, я даю студентам папери і змушую їх читати. На комп’ютері вони занадто рано відволікаються на всі інші цукерки. Вивчення концепцій проводиться найкраще на будь-якому цифровому пристрої, на мій досвід. Плюс до цього, читання на мобільному вбиває ваші очі. Що із схемами та цифрами? Єдина перевага - це посилання, але це не дуже допомогло нашим студентам.
Йоріс Майс

1
@ Джоріс Мейс, я визнаю, що мобільне читання важче для очей, і "відволікатися на інші цукерки" було б проблемою, але в той же час я можу набагато швидше засвоювати інформацію, коли можу легко шукати зниклу штук ... Я навіть не можу почати оцінювати кількість вкладок, які я породив у своєму браузері, коли досліджував щось нове.
instanceofTom

6

Мені дуже подобається те, як я прийшов у програмування; єдине, що я можу собі уявити, що я міняю, - це мій доступ до книг. У моєї родини не було грошей на всі книги, які я могла пожирати, а наша маленька сільська бібліотека не містила саме технічних посібників. У грандіозній схемі речей - це маленький ніттик.

Я від усієї думки не згоден з тими, хто каже, що не можеш вивчити теорію в 14. Чим раніше ти засвоїш теорію, тим краще. Я прочитав «Мистецтво комп’ютерного програмування» в 14, хоча я вже кодував час.

Найкраще, що ви можете зробити для свого брата - це надати йому інструменти для здійснення його інтересів та включити його до спільноти хакерів / кодерів, коли це можливо, щоб він міг навчитися розуму чудового кодера.

  • По можливості відштовхуйте його від власних інструментів. У світі з відкритим кодом йому доступно набагато більше. Я отримав так добре, як я багато в чому завдяки вказівкам, які я отримав від більш досвідчених людей у ​​спільноті з відкритим кодом.

  • Якщо ви можете дозволити собі, придбайте йому рахунок Safari або допоможіть йому придбати книги, коли це потрібно. Навіть позичити те, що ви вже маєте, може допомогти.

  • Переконайтесь, що він має доступ до гідного робочого столу чи ноутбука та сервера або VPS, на якому можна експериментувати. Якщо мобільні додатки - це його річ, переконайтеся, що у нього є телефон або демонстраційний пристрій для роботи.

  • Покажіть йому, як знайти канали IRC, списки розсилки тощо для речей, які він зацікавлений у роботі з / над.

  • Переконайтеся, що він знає, як задавати розумні запитання та, навпаки, деталі п’явки підтримки, щоб він знав, що не робити.

  • Його перша мова програмування не є найважливішим фактором. Сукупність мов програмування, які він вивчає, є надзвичайно важливим. Одномовні кодери ніколи не проходять певного (відносно низького) рівня кодування-foo.


Однозначно там згоден. Мені вдалося збирати 14 років, безумовно, не надто молодий для яскравого малюка. У мене були подарунки RISC OS для мого подарунка на 14-й день народження. ( computinghistory.org.uk/userdata/PRODPIC-12025.jpg - бог, я любив ці книги). Але тоді я почав о 7.
Включення

3

Я б хотів вивчити речі на арені мобільних телефонів, це головна нерухомість. Запропонуйте йому налаштувати IDE, який має емулятор телефону, і отримайте йому телефон, на який він може натискати програми .

Налаштуйте його на деяке використання та злому в реальному світі, доповнене певною теорією з ваших книг, щоб його направляти. Переконайтеся, що у них хороші зразки.


+1 для надання необхідного обладнання. Це буде більше питанням, ніж інформацією.
Йоріс Майс

2

Я б пішов до школи, якби віку коледжу. Я б вважав це старшим шкільним, якщо середнього шкільного віку.

Я мав би місію і відповідно до 14 навчального плану адаптувати навчальну програму.

багато людей зроблять мене за це, але Visual Basic .NET для деяких, здається, легше, просто говорять люди. Мабуть, такий шлях для багатьох не є посвяченим.


3
Якщо старший брат може допомогти або місцева середня школа використовує це, це може принести більше користі. Тепер я думаю, що .NET IDE - це те, що полегшує створення веб-сайту, а не обов’язково обрану мову. Початківець міг підібрати C # так само легко? Мандарин - це непроста мова, але малюків у Китаї все гаразд.
JeffO

2

Починати з веб-розробника - хороша ідея. Ви можете отримати результати, навіть якщо ви справжній новачок, і якщо ви зіпсуєте, це не має великого значення.

Я б сказав, Html / CSS + Php. Як заявив Джефф у своєму коментарі, розміщення його сайту буде мати значення, а Php хостери недешеві, часто навіть безкоштовні.

Щодо теорії, я б просто її на даний момент просто забув. Як я це розумію, він здебільшого хоче розважитися, і, давайте, поглянемо, теорія не дуже весела. Крім того, якщо він любить програмування, у школі його буде багато.

Очевидно, що нам всім цікавий приємний код, але якщо він просто збирається пограти, що це має значення, якщо його код безладний?


+1 Згадайте про необхідність швидких результатів для новачків і безладу, що не викликає занепокоєння.
Увімкнення

2

веб / настільний / мобільний / серверне програмування? Мені здається, він цікавиться всім. Однак проблема полягає в тому, що він повинен почати з чогось.

Багато хто не погодиться, тому що, звичайно, немає «правильної» відповіді на це, але я б купив йому книгу про Python ( Навчання Python досить товсте і ретельне, щоб тривалий час його не зайняти), і це, безумовно, мова, яка дасть йому гарне співвідношення речей, які я навчився, порівняно з очейними цукерками (тобто що можна досягти за допомогою нього). Це також є гарною відправною точкою для багатьох вищезазначених.

Після цього подивіться, що він найбільше віддає перевагу вищезгаданому, і направляйте його далі, порадившись у цьому напрямку.


2

Чи пропонує його середня школа заняття з інформатики? Наприклад, у Сполучених Штатах програма Advanced Placement має клас інформатики, який проходить досить багато основних концепцій інформатики (потік управління, основні об'єктно-орієнтовані практики розробки, петлі тощо).

Я зміг відвідувати середню школу, яка пропонувала курси інформатики в основному всі 4 роки (від вступного курсу до базових LIPS, MIPS та Open GL). Я закінчила тестування з основ в коледжі, а потім перевчила багато інших мов та тем на курсах вищого рівня. Я можу вам сказати, що мозок 14-17 років мав набагато більше труднощів, пов'язаних із теорією, ніж мозок 18-22 років. Такі теми, як рекурсія, арифметика вказівника, програмування низького рівня, мережева топографія та функціональне програмування зайняли багато часу в середній школі, але вдруге в коледжі я виявив їх вітерцем, можливо тому, що я '

Незважаючи на те, що це було складно, продумання CS, починаючи з 14, надзвичайно корисно. Зробити це без вчителів, здається, було б складно. Я б витратив час на розробку веб-сторінок для розваги, тому що це те, що я любив робити тоді (і зараз), але я б ніколи не навчав себе вказівках, рекурсії та LISP для розваги.


1

Я особисто не почав би з теорії хардкор. Я б почав із практичного програмування, змішаного з деякими елементами теорії. Це може утримати одного набагато більш вмотивованого і не лякати його.

Наприклад, це стосується музичних шкіл. Величезна частина студентів відмовляється від того, що їм набридає теорія і з часом втрачає інтерес.

Крім того, теорія не є такою хорошою, коли її вивчають, перш ніж забруднити руки практикою. Ви не знатимете, коли і як його застосувати.

Але якби ви мали деякі теоретичні знання, то багато практикували, після цього серйозний курс ІТ підштовхнув би вас до іншого рівня. Інакше роки, проведені в університеті, просто витрачаються на глухий рік.

У такому порядку:

  1. Деякі основні теорії щодо апаратного забезпечення, архітектури комп'ютера та програмування цього обладнання. Просто базовий.

  2. Потім розробляйте практичні речі. Основні додатки для підтримки інтересу. Спочатку локальне, потім щось із графікою. Веб-сторінки ще немає, оскільки ви хочете продемонструвати програмування на сервері, і це часто марно без баз даних.

  3. Залиште йому кілька культур знань бази даних

  4. Інтерфейс локального додатку з базою даних. Потім спробуйте веб-розробку.

  5. Відрегулюйте курс по ходу.


0

Мої логічні переваги на основі того, що я знаю зараз:

  1. З'ясування того, як зараз працюють - Хоча ти заявляєш, що він технічно схильний, наскільки добре він розуміє, як працює комп'ютер у цей момент? Наприклад, чи розуміє він відмінності між розміткою та сценаріями? Що з написанням маленьких сценаріїв для того чи іншого? Це було б моєю пропозицією щодо відправної точки, оскільки демістифікація того, що ми маємо навколо, є гарною відправною точкою, враховуючи всі речі, які можна було б вивчити досить вільно.

  2. Виберіть мову, IDE та керування джерелами. Зараз, хоча це може здатися зовсім трохи кинутись на когось, це досить основні інструменти, які з невеликою практикою він цілком може потім перейти до більш великих речей. З'ясування, як зробити "Hello World!" веб-сторінка з повідомленням, вбудованим у JavaScript, не є поганою відправною точкою, якщо тут хочеться чогось більш конкретного.

  3. Тепер почніть додавати деякі складніші речі. Як робити петлі або умови? Це насправді не так химерно, але ми все ще розуміємо стадію будівельного блоку. Нарешті, введіть ідею занять та які ідеї стоять за цією концепцією.

З цього я б почав, якби хтось захотів отримати деякі основи мого набору навичок.


0

Я ніколи не думав, що скажу це, але знайдіть йому Алісу 3.0 .

Я ненавиджу Алісу з палаючою люттю тисячі сонців, але вона, безумовно, добре справляється з навчанням основ програмування (циклів, висловлювань, функцій тощо) у поєднанні з гідним навчальним посібником.

Після того, як він зациклюється на основах, перейдіть до більш практичної мови на основі тексту.


0

Я хотів би почати його з Python або Ruby або PHP. Якщо він хоче зайти в Інтернет, йому також потрібно буде вивчити HTML, CSS, Javascript тощо.

Це здається розумним. Надайте основні навички та допоможіть йому скласти ідею для складного проекту, яким він залишатиметься цікавим.

Його перший досвід не повинен бути ідеальним, адже він допоможе, якщо він рано помилиться. Ви просто хочете, щоб він залишався зацікавлений у розширенні своїх знань. Коли він вдарить про свої обмеження, він буде просити про допомогу, і ви можете направити його в правильному напрямку, якщо він ще не розгалужився на посилання на матеріал.


0

Запропонуйте йому книгу про тестування розвитку. Це зробить для нього тверді одиничні випробування другого характеру. Мені б хотілося, щоб я випробував як тестування як серцевину мого програмування з прямого.


0

Я б почав його з мови, що базується на С. Я виявив, що для них є більш корисні ресурси. Ви також можете вивчити книгу про те, як створити та відформатувати свій код, щоб він почав використовувати хороші принципи кодування. У мене був клас, присвячений цьому, і ми використали книгу під назвою "Чистий код" та ще одну назву "Розробка програмного забезпечення: принципи проектування", якщо я правильно пам'ятаю. Я також хочу, щоб я був представлений на цьому веб-сайті раніше.

Що мені найбільше допомогло, хоча стажування на початку моєї коледжної кар'єри. Я вийшов на ярмарки кар’єри як першокурсник і отримав стажування свого другокурсника. Я також намагаюся створити проект, над яким я працюю весь час, і мені подобається робити щось, чого я ніколи раніше не робив, щоб я міг продовжувати вчитися. Зараз я працюю над малиновим пирогом та впроваджую Apple Siri для системи домашньої автоматизації.

В основному, робіть все, що потрібно, щоб не було весело. Не засмучуйся. Робіть перерви. Не надто зациклюйтеся на книгах. Іноді найкращий спосіб навчитися - це просто зайнятися цим і використати пробну помилку.

Ох ... і дізнайся, як Google :)


0

  • c
  • c ++
  • python upto базове програмування
  • потім HTML
  • css
  • javascript
  • робити важко з css його дуже важливим і javascript до мінімального рівня перевірки
  • потім srart python для html та отримання URL-адреси
  • тоді фреймворк, якщо всі етапи в порядку


    рівні слідують

  • базовий рівень з командним рядком для розуміння базової анатомії
  • рівень застосування
  • графічний рівень миші
  • веб-рівень
  • рівень проектування
  • рівень бази даних


    не забувайте модулювати речі, коли ви навчаєте, але не зрозуміє, що він не зрозуміє JavaScript, поки він не знатиме c / c ++ або python тощо

  • як тільки він знає базове програмування, він може робити HTML легко
  • як тільки він знає html він люблю css
  • але зупиніться і спробуйте більше з css, щоб нові ідеї генерували, і він відчує, що йому потрібна допомога, щоб розпочати проект, тоді він спробує вивчити javascript і python з базою даних для завершення проекту.



    Додано 07.04.2013

    у віці 14 років, коли ви хочете спершу спробувати ур з програмуванням, вам потрібно зрозуміти, який ресурс мені потрібен, щоб виконати завдання чи проект чи основні вказівки, а також, як я в своєму посту вивчив перше базове програмування, це допоможе вам щоб зрозуміти, як програми чи програмне забезпечення працює з циклічним циклом та умовами, коли наступного ти вважаєш, що я все розумію, але я не знаю, як отримати доступ до миші чи зробити щось, коли я натискаю кудись, ти спробуєш деякі бібліотеки, як графіка та миша, так що ти розумієш як це працює, наступне запитання прийде до уваги, як розмістити мої кнопки та додати події, щоб вони могли взаємодіяти з моїм кодом, тож вам сподобається вивчити програмування подій, тоді, коли ви завершите цей етап, виникне наступне запитання, я зроблю дуже великий код, і я не знаю, як викликати функцію її трохи складно,то ви спробуєте модуляризацію, об'єкт та класи для додатків,

    після цього ви подумаєте, що я знаю, як створити базовий додаток, але я хочу зробити додаток для бази даних, тоді База даних приходить на думку, ви хочете вчитися, але проблема полягає в тому, що вам важко зв’язатися з кодом, тому ви будете працювати над базою даних командний рядок,

    його програмний підхід вважаю, я роблю і вчуся так само, і мої основи дуже зрозумілі, тому я можу зрозуміти, як працюють підпрограми або програма,
    як тільки ви зрозумієте і впевнені в тому, що ви можете зробити заявку на робочий стіл спробувати ті ж навички для HTML


    коли ви спробуєте html, ви відчуєте його набагато простіше, ніж те, що ви дізнаєтесь попередньо, просто тому, що ви витратили багато часу на основи.
    в html, зрозуміти структуру та те, як працює код. Після того, як ви знаєте про це, ви хочете дати перевірку та підключення до бази даних для додатків, спробувати, і ви отримаєте успіх за день, ви зможете легко зібрати кнопки місця для форми та перевірити з натисканням кнопки javascript, тоді ви задасте собі питання, я зробив все, але що робити, як це виглядає, щоб він не відповідав тому, що я бачу в Інтернеті, тому постарайтеся важко з css, я дуже впевнений, якщо ви докладно спробуєте для css з найкращим IDE або dreamweaver бути закоханим у hTML / css.

    цього достатньо для вас, щоб зробити просту програму чи веб з HTML,
    у певний момент ви задасте собі ще одне питання, як зробити це динамічним, коли ви знаєте, що гіперпосилання добре працює, то що динамічне, давайте думати про базу даних, що ви дізнаєтесь попередньо ,


    так, це мій погляд, показувати записи, вставляти записи, видаляти записи та грати з базою даних локально з програмуванням на JavaScript та сервер, тоді інша концепція прийде вам на думку автоматично, щоб створити користувача, перевірку, сеанс, історію користувачів, інтернаціоналізацію тощо,
    і ви продовжуватиметься без настанов, оскільки ваша база зрозуміла, і ви знаєте, що робити та який ресурс потрібен для виконання завдання


    ось всі етапи. основи є дуже важливими і правильними кроками також. Після того, як ви знайдете основи, ви зможете легко вивчити іншу мову або перейти з однієї мови на іншу мову,
    дякуючи за прочитане

    Додано 07.04.2013

    progarme - це не що інше, як набір інструкцій і процедур, наприклад, наш розпорядок дня, ми прокидаємося, приймаємо ванну, обід, працюємо, вечеряємо, лягаємо спати.
    але якщо ми промацуємо будь-яке завдання, нам здається, це незручно, якщо день неділя, коли у вас немає роботи або у відпустці, умова змінюється і щоденні процедури також, тож ви співпадаєте з іншими речами, ось що, як підхід до програмування. з практичного не з того, що розповідають книги, книги корисні для довідки, але розуміють природний спосіб, як ми реагуємо, працюємо за допомогою заяви if-else, наприклад: припустимо, у нас дві роботи, і обидві дуже важливі, але ми можемо робити лише один за одним, ви вибираєте перший і завершений, потім можете піти додому, якщо ви виберете другий, то вам потрібно працювати наступні 5 годин, інакше якщо ви закінчите обидві роботи, ви отримаєте відпустку на 1 день, ось про підхід до програмування


  • 2
    Ваша відповідь важка для деталей, але легка для виправдання. Ваша відповідь була б сильнішою, якби ви пояснили, чому ви вважаєте, що цей шлях найкращий.
    Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
    Licensed under cc by-sa 3.0 with attribution required.