Найкращі способи навчити початківця програмувати? [зачинено]


324

Оригінальне запитання

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

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

Мова, з якою ми працюємо, - Python , але поради з будь-якої мови вітаються.


Як допомогти

Якщо у вас є хороші, додайте у відповідь:

  • Вправи для початківців та ідеї проекту
  • Ресурси для навчання початківців
  • Екранні записи / повідомлення в блогах / безкоштовні електронні книги
  • Друкуйте книги, які корисні для початківців

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


Інтернет-ресурси для навчання початківців:


Рекомендовані друковані книги для початківців навчань


Я не розумію, чому це слід закрити. Щонайменше, 295 користувачів вважають це питання (і 92 відповіді) досить корисним для його голосування, причому 290 зайшли так далеко, щоб вважати його одним із улюблених. Питання призвело до дуже корисної сукупності навчальних ресурсів. Це насправді не призвело до «аргументів» чи «дебатів», але насправді багато чудових порад щодо вирішення одного із складних «людських факторів» у програмуванні. Я думаю, що закриття такого питання є драконічним і згубним для спільноти StackOverflow.
Джастін Стандарт

@JustinStandard Чи обдумали ви перетворити свої зміни на кілька відповідей на коментарі? Наприклад , тут , тут і тут
Джейсон Plank

Відповіді:


118

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

1) FizzBuzz. Почніть з програм командного рядка. Ви можете написати дуже цікаві ігри чи інструменти дуже швидко, і ви швидко засвоїте всі мовні функції, не спочатку вивчаючи інструменти графічного інтерфейсу. Ці ранні програми повинні бути досить простими, що вам не потрібно використовувати реальних інструментів налагодження, щоб змусити їх працювати.

Якщо нічого іншого, як FizzBuzz, це хороші проекти. Ваші перші кілька програм не повинні мати справу з БД, файловою системою, конфігурацією, ect. Це поняття, які просто бентежать більшість людей, і коли ви просто вивчаєте синтаксис та основні функції фреймворку, вам справді не потрібно більше складності.

Деякі проекти:

  • Привіт Світ!
  • Візьміть рік мого народження та обчисліть мій вік (якраз (зараз - тоді) жодних місячних корекцій). (проста математика, введення, вихід)
  • Запитайте напрямок (вгору, вниз, вліво, вправо), потім повідомте користувачеві свою долю (впадіть в нору, знайдіть торт, ест). (Булева логіка)
  • FizzBuzz, але рахуйте раз на секунду. (Цикли, таймери та інша логіка)
  • Залежно від їхнього віку деяким дійсно подобається додаток, який за певний проміжок часу викликає користувачів випадковою образою. (Цикли, масиви, таймери та випадковий вигляд, якщо інтервал буде випадковим)

2) Простий проект Після того, як вони добре зрозуміють мовні особливості, ви можете розпочати проект (прості, веселі ігри працюють добре). Ви повинні спробувати, щоб перший проект міг бути завершений протягом 6-12 годин. Не витрачайте часу на те, щоб архітектувати це рано. Нехай вони спроектують це, навіть якщо він смокче. Якщо вона розвалиться, поговоріть про те, що сталося і чому це не вдалося, тоді виберіть іншу тему і почніть знову.

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

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

Деякі проекти:

  • Гра в вішалку
  • Експериментувати з робототехнікою ( Vex і Mindstorms - це варіанти)

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

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

Деякі проекти:

  • Тетріс
  • Текстовий файл на основі двигуна блогу
  • Робота з більш розвиненою робототехнікою

Це чудовий путівник. Особисто я не можу кодувати вихід з паперового пакета (я хотів би бачити, щоб хтось робив це в реальному житті), тому це виглядає як хороший посібник для навчання і мене.
keyofnight

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

@phkahler Я бачу вашу думку, але я вважаю, що Тетріс цікавий тим, що існує так багато ОСО / демо-версії, яку ви можете аналізувати до і після написання вашого коду.
Ерік Хаскінс

30

Ви можете спробувати використати Алісу . Це 3D-програма, призначена для використання у вступних класах програмування.

Дві найбільші перешкоди для нових програмістів часто:

  • синтаксичні помилки
  • мотивація (написання чогось змістовного та веселого, а не надуманого)

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

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

Відмова: Я працював над Алісою.


Я дізнався про це через останню лекцію Ренді Пауша. Міркування цього проекту підірвали мою думку.
Jesvin Jose Jose

28

Я рекомендую Логотипу (він же черепаха), щоб опустити основні поняття. Він забезпечує хорошу пісочницю з негайним графічним зворотним зв'язком, і ви можете демонструвати петлі, змінні, функції, умови тощо. Ця сторінка дає чудовий посібник.

Після логотипу перейдіть до Python або Ruby. Я рекомендую Python, оскільки він заснований на ABC, який був винайдений з метою навчання програмуванню.

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

Теоретично ви можете дотримуватися Python, оскільки Python може робити майже все. Це хороший засіб для викладання об'єктно-орієнтованого програмування та (більшості) алгоритмів. Ви можете запустити Python в інтерактивному режимі, як командний рядок, щоб відчути, як він працює, або запустити цілі сценарії одразу. Ви можете запускати свої сценарії, інтерпретовані на льоту, або компілювати їх у бінарні файли. Є тисячі модулів для розширення функціональності. Ви можете зробити графічний калькулятор, як той, що в комплекті з Windows, або ви можете зробити клієнт IRC чи будь-що інше.

XKCD трохи краще описує потужність Python: "Ти летиш! Як?"  "Пітон!"

Ви можете перейти до C # або Java після цього, хоча вони не дуже пропонують, що в Python ще немає. Перевага їх полягає в тому, що вони використовують синтаксис у стилі С, який використовують багато (смію сказати більшість?) Мов. Про управління пам’яттю ще не потрібно хвилюватися, але ви можете звикнути, щоб мати трохи більше свободи та менше триматися від перекладача мови. Python застосовує пробіли та відступи, що приємно більшість часу, але не завжди. C # і Java дозволяють керувати власним пробілом, залишаючись сильно набраними.

Звідти стандарт є C або C ++. Свобода в цих мовах майже екзистенційна. Тепер ви відповідаєте за власне управління пам’яттю. Збирання сміття не допоможе вам. Тут ви навчаєте дійсно вдосконалених алгоритмів (таких як злиття та квакісорт). Тут ви дізнаєтеся, чому «помилка сегментації» - це прокляте слово. Тут ви завантажуєте вихідний код ядра Linux і дивитесь у Безодню. Почніть з написання кругового буфера та стека для маніпуляції з рядком. Тоді працюйте вгору.


Насправді, ви не повністю керуєте пам'яттю в C. Ви маєте мати malloc тощо, і безкоштовно керуєте ними. Вам просто потрібно сказати системі, коли вам потрібно більше пам’яті та коли ви закінчите з пам’яттю, яку ви використовуєте.
комман

15

Хороший курс пітона - це щадне вступ MIT до програмування за допомогою Python . Це все безкоштовно в Інтернеті, і вам не потрібно бути розумним MIT, щоб це зрозуміти.

Редагувати [ Джастін Стандарт ]

Цей курс використовує цю безкоштовну онлайн-книгу: Як мислити, як комп'ютер,
я, безумовно, вважаю це досить корисним.


12

Пакет Python VPython - 3D програмування для звичайних смертних ( відеоурок ).

Приклад коду:

from visual import *

floor = box (pos=(0,0,0), length=4, height=0.5, width=4, color=color.blue)
ball = sphere (pos=(0,4,0), radius=1, color=color.red)
ball.velocity = vector(0,-1,0)
dt = 0.01

while 1:
    rate (100)
    ball.pos = ball.pos + ball.velocity*dt
    if ball.y < ball.radius:
        ball.velocity.y = -ball.velocity.y
    else:
        ball.velocity.y = ball.velocity.y - 9.8*dt

VPython підстрибуючий куля http://vpython.org/bounce.gif


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

12

Почніть з графіки Черепахи на Python.

Я б використав графіку черепахи, яка є стандартною для Python. Це візуально, просто, і ви можете використовувати це середовище для введення багатьох концепцій програмування, таких як ітерація та виклики процедур, перш ніж надто сильно потрапляти в синтаксис. Розглянемо наступний інтерактивний сеанс у python:

>>> from turtle import *
>>> setup()
>>> title("turtle test")
>>> clear()
>>>
>>> #DRAW A SQUARE
>>> down()        #pen down
>>> forward(50)   #move forward 50 units
>>> right(90)     #turn right 90 degrees
>>> forward(50)
>>> right(90)
>>> forward(50)
>>> right(90)
>>> forward(50)
>>>
>>> #INTRODUCE ITERATION TO SIMPLIFY SQUARE CODE
>>> clear()
>>> for i in range(4):
        forward(50)
        right(90)
>>>
>>> #INTRODUCE PROCEDURES   
>>> def square(length):
        down()
        for i in range(4):
            forward(length)
            right(90)
>>>
>>> #HAVE STUDENTS PREDICT WHAT THIS WILL DRAW
>>> for i in range(50):
        up()
        left(90)
        forward(25)
        square(i)
>>>
>>> #NOW HAVE THE STUDENTS WRITE CODE TO DRAW
>>> #A SQUARE 'TUNNEL' (I.E. CONCENTRIC SQUARES
>>> #GETTING SMALLER AND SMALLER).
>>>
>>> #AFTER THAT, MAKE THE TUNNEL ROTATE BY HAVING
>>> #EACH SUCCESSIVE SQUARE TILTED

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



11

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

Якщо такий поштовх існує, то все інше - лише незначні деталі.


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




5

Це фантастична книга, яку мої маленькі брати навчалися:

http://pine.fm/LearnToProgram/

Звичайно, найголовніше - розпочати справжню корисну програму якогось НЕМОВНО після закінчення книги.


4

Якщо він зацікавлений, чи не дрібні деталі є гарними деталями? Використовуючи python, ви вже відрізали графічний інтерфейс від нього, так що плутанина пішла. Чому б не вибрати проект, гру чи щось таке, і реалізувати його. Класична гра для відгадки чисел у стилі ха-ло може бути просто реалізована з командного рядка у 20-30 рядках коду (залежно від мови курсу) та дає змінні, умови, цикли та введення користувачем.



4

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

Вірите чи ні, після кількох місяців написання тонни шаленого коду він почне розуміти ідею і почне писати кращі програми. У цей момент ви можете зануритися в деталі (пам'ять тощо), а також поговорити про загальні принципи дизайну.

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

Редагувати: [Джастін Стандарт]

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


Так, я знаю, про яку посаду ви говорите про Джастіна. Читання його нагадало мені, як більшість речей, які я навчилася, випливають із спроб та навчання на власних помилках. Я дійсно не можу наголосити на важливості того, щоб вчитися вчитися!
Естебан Арая

2

Перш за все, почніть так, як це роблять усі: з програмою Hello World . Це просто, і це дає їм основне відчуття щодо компонування програми. Спробуйте запам’ятати, коли ви вперше програмували, і наскільки складними були деякі концепції - почніть просто.

Після Hello World перейдіть до створення основних базових змінних, арифметики, а потім на булеву логіку та оператори if / else. Якщо у вас є один із ваших старих підручників з програмування, ознайомтеся з деякими ранніми прикладами і дозвольте йому пройти їх. Просто не намагайтеся вводити занадто багато всіх відразу, інакше це буде непосильним і заплутаним.


2

Щось, про що ви повинні дуже пам’ятати, навчаючи свого брата програмуванню, це те, що він не надто покладається на вас. Часто, коли я опиняюся, що допомагаю іншим, вони почнуть сприймати мене як книгу відповідей на всі їхні запитання, і замість того, щоб експериментувати, щоб знайти відповідь, вони мене просто задають. Найчастіше найкращий вчитель експериментує, і кожен раз, коли у вашого брата виникає запитання на кшталт "Що буде, якщо я додаю 2 до рядка?" ти мусиш сказати йому спробувати його і переконатися в цьому сам. Також я помітив, що коли я не можу передати поняття комусь, це допомагає побачити якийсь зразок коду, де ми можемо переглянути кожен сегмент окремо і пояснити його по черзі. Як бічна примітка, люди, які не знають про програмування, часто мають проблеми з ідеєю об'єктно-орієнтованого програмування,


2

Раніше я навчав програмуванню, і ваш брат має одну головну перевагу перед більшістю моїх учнів, яких він хоче вчитися :)

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

Особисто я думаю, що Пітон і Рубі зробили б чудові перші мови.

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


2

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

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

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

Золотим правилом тут є витіснення схильного стилю вашого учня.


2

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

COMP1917 Вища обчислювальна техніка - 2008 сесія 1 http://deimos3.apple.com/WebObjects/Core.woa/Browse/unsw.edu.au.1504975442.01504975444

Якщо посилання не працює, ось такий шлях:

Головна -> iTunes U -> Техніка -> COMP1917 Вища обчислювальна техніка - Сесія 2008 року 1


2

є вікікнига, яка дуже добре допомагає вивчати пітон .

Я не знаю, як існують вікікниги для інших мов, але я особисто дізнався python з wikibook, як це було у лютому 2007 року

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



2

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

Деякі можливі проекти (не в конкретному порядку):

  • Монета симулятор відкидання. Нехай користувач вводить потрібну кількість випробувань для гортання монети. Виконайте його та відобразіть результати разом із відсотком за головами чи хвостами.

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

    Ось приклад розширеного перетворювача з тією ж ідеєю: http://pastebin.org/6541

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

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

  • Візьміть внесок деякої (імовірно великої) кількості копійок і перетворіть її на більші номінали. Наприклад, 149 копійок = 1 долар, 1 чверть, 2 копійки та 4 копійки.

  • Створіть простий менеджер списків. Уміти додавати / видаляти списки та додавати / видаляти записи в цих списках. Ось приклад менеджера різдвяних списків: http://pastebin.org/6543

  • Створіть програму, яка будуватиме, а потім перевіряйте, чи введені числа утворюють магічний квадрат (з 2D масивом). Ось приклад коду, але він повинен насправді роздруковувати квадрат на кожному кроці, щоб показати, де знаходиться користувач з точки зору забудови квадрата: http://pastebin.org/6544

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



2

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



2

Переглянувши декілька безкоштовних електронних книг, я знайшов найкращою книгою для навчання програмуванню - «Head First Programming», опублікований O'Reily Press. Він використовує Python як мову і надає програмам, над якими можна працювати з самого початку. Їм усім цікавіше, що "Hello World". Це варте тих грошей, які я витратив на це, і оскільки його вже не вистачає, ви зможете знайти більш дешеву копію на Ebay або Amazon.


1

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


1

Я думаю, що після того, як у нього з’являться основи (змінних, циклів тощо), вам слід спробувати допомогти йому знайти щось конкретне, що його цікавить, і допомогти йому дізнатись необхідності, щоб це відбулося. Я знаю, що я набагато більше схильний і мотивований щось робити, якщо це мене цікавить. Крім того, переконайтеся, що він дозволений йому боротися, хоча деякі складніші проблеми - ніщо не задовольняє моменту, коли ви самі це з'ясуєте.


1

Мене навчали, вивчаючи, як вирішувати проблеми в мовному агностичному способі за допомогою блок-схем та PDL (Мова проектування програми). Після кількох тижнів цього я навчився перетворювати записаний PDL на мову. Я радий, що дізнався саме так, бо більшу частину своїх років я витрачав на програмування, вирішуючи проблеми, не прив'язуючись до мови. Якою мовою я завжди користувався деталями реалізації, а не частиною дизайну.

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

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


1

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


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