자녀가 프로그램을 배우는 데 동기를 유지하도록 어떻게 도울 수 있습니까?


39

똑똑한 초반 아동 (초반)이 프로그래밍을 배우도록 어떻게 도울 수 있습니까? 그는 학교에서 잘 지내며 2 학년을 건너 뛰었고 내성적 인 틀에 박힌 괴상한 사람입니다. 그는 웹 개발에 관심이 많으며 HTML , CSSJS 의 기본 사항을 마스터했습니다 . 그는 자신의 지식으로 개인 웹 사이트를 만들었습니다. 그는 인터넷을 통해 다양한 튜토리얼 사이트와 스택 오버플로에서 배웠습니다.

이러한 기술을 개발하도록 어떻게 격려 할 수 있습니까? 내가 스스로 프로그래밍을 모른다는 것을 감안할 때 그의 학습을 도울 수있는 방법이 있습니까? 나는 그가 그것에 많은 시간을 소비하고 헌신적이기 때문에 그가 배운 모든 것을 배울 수 있다고 생각하지 않습니다.

가장 큰 위험은 그의 동기를 잃고 종료하는 것입니다. 디버깅은 때때로 실망 스러울 수 있으며, 그 때문에 디버깅을 중단하고 싶지 않습니다. 다른 과목에서는 그를 통해 일하는 것을 도울 수는 있지만 프로그래밍을 통해 도메인 지식이 없기 때문에 나는 할 수 없습니다.

내가 어려움을 겪을 때 스스로 어려움을 극복 할 수없는 상황에서 실망하지 않도록 코드에 대한 동기를 유지하려면 어떻게해야합니까?

(부모님이 아닙니다)


41
흠, 그냥 금지하고 그들은 주제에 엄청나게 관심이있을 것입니다.
Per Alexandersson

내 친구가 자녀에게 유용한 프로그램을 가르치는 방법에 대한 블로그 게시물 ( davidketcheson.info/2014/12/09/teaching_kids_to_program.html )을 작성했습니다 .
Jeff

3
나는 아주 어린 나이에 스스로 프로그래밍을 배웠습니다. 아빠는 나에게 도구 (오늘날, 당신은 Visual Studio의 무료 버전을 구할 수있다)와 책을 샀다. 그는 프로처럼 프로그래밍 할 필요가 없으며 그냥 재미있게 할 수 있습니다. 나는 텍스트 기반의 모험으로 시작한 다음 2D 슈팅 게임으로 게임을 만들어 재미있었습니다. 또한 Visual Studio를 사용하면이 웹 사이트를 동적으로 만들어 웹 사이트의 복잡성을 높일 수 있습니다.
the_lotus

그와 함께 코딩하는 법을 배우십시오. 함께 할 수있는 재미있는 활동. 그렇게하면 처음에 그를 위해 좌절 부품을 할 수 있습니다.
Evorlor

9
the fundamentals of HTML, CSS, and JS, which I don't know anything about (I'm not a programmer) 4k SO 명성을 가진 사람이 HTML, CSS 및 JS 인 최상위 태그
Santa Claus

답변:


25

우선, 아이가 배우도록 돕는 관점에서 :

  1. 많은 / 대부분의 학교에는 컴퓨터 클럽이 있습니다. 아이가 다른 학생들에게 문의하거나 학교 전문가에게 직접 문의하도록 격려하십시오. 이렇게하면 자녀를 동료들과 함께 발달 적으로 배치 할 수 있습니다.

  2. 학교의 컴퓨터 교사에게 문의하십시오. 그들은 아이를 돕거나 조언을하기로 동의 할 수 있습니다.

  3. # 1 / # 2와 유사하게, 튜터를위한 여유가 있다면 광고하십시오. 열악하지만 화려한 CS 대학 전공은 똑똑한 초반, 평범한 교사보다 훨씬 덜 똑똑한 연령대를 가르치는 것을 좋아할 것입니다. 나도 알아 도전 과제는 (당신이 지불해야한다는 사실을 제외하고) 가르치는 데 능숙한 사람을 찾는 것입니다. 사전 교육이나 과외 경험을 요구해야하며 어린 아이들과 일할 수있는 능력을 요구해야합니다.

  4. 온라인 강좌 (Coursera 등)는 특히 엉뚱한 머저리를 위해 훌륭 할 수 있습니다 ( 나는 거울을 본다 )

  5. 이에 도전하기 위해 Rosetta CodeCode Review Stackexchange 사이트를 지정하십시오.

둘째, 다음 단계에서 동기 부여를 사용할 수 있다고 생각되면 :

  1. 자녀가 성숙 할 경우 (아마도) 다양한 직업에 대한 평균 임금을 보여주고 소프트웨어 엔지니어가 대부분의 직업에 비해 길다는 것을 보여주십시오. 이를 통해 그가 경험할 수있는 괴짜 괴롭힘을 피할 수 있고 코딩을 고집 할 이유가 있습니다.

  2. (여기서 거의 모든 답변에 대한 개인 평가에서 볼 수 있듯이) 이와 같은 많은 아이들이 있음을 지적하십시오. 그는 자연에 의해 내성적 인 경우에도 괴물처럼 느끼지 않으면 더 격려받을 것입니다.


3
Many/most schools have computer clubs동의하지 않습니다.
산타 클로스

나는 이것에 대해 @SantaClaus에 동의해야합니다. 특히 텍사스에는 프로그래밍 그룹이 많지 않습니다. 지역 고등학교에 클럽이 없다는 것을 알았을 때 나는 매우 불쾌했습니다. 우리는 그들과 대화를 시도했지만 자금 때문에 거부했습니다. 그러나 20 개 이상의 스포츠 클럽이 있습니다. 도심에있는 학교를 제외하고는 텍사스에있는 대부분의 학교에서 그렇습니다.
Damien Bochkarev

12

user3143의 훌륭한 답변에 추가해야 할 몇 가지 사항 :

도구. 도구는 경험이나 지식을 대신 할 수는 없지만 모든 장인 / 여성은 좋은 도구를 높이 평가하며 프로그래밍이 아닌 부모가 도울 수있는 도구입니다. 최고 중 일부는 무료입니다,하지만 아이가 돈을 합리적인 금액을 비용 IDE를, 도서관, 프로그램 등 원한다면 강하게 을 받고 고려하십시오. 예를 들어 Photoshop은 웹 개발 (내 직업)에 매우 중요합니다. 아이에게 모바일 기술을 개발하도록하세요. 비용이 많이들 필요는 없으며 데이터 요금제에 연결할 필요가 없으며 중고 2 년 된 전화 및 태블릿이 필요합니다.

아이가 오픈 소스에 기여하도록 장려하고 github의 작동 방식을 배우십시오 (아직없는 경우). 아이가 개인 프로젝트에 대한 학점을 얻도록 장려하십시오. 자녀가 프로그램을 선물로 쓰도록 격려하십시오 (현재 5 살짜리 딸을위한 웹 사이트를 만들고 있습니다). 다른 사람들의 희망과 요구 사항을 예측하고 전달하는 방법을 배우는 데 도움이되며, 자녀가 프로그래밍 분야에서 경력을 쌓기를 원하는 경우 중요합니다. 말하자면...

나는 이것이 아마도 자녀의 직업이 될 수 있기를 희망하면서 격려하고 있다고 가정하고 있습니다. 이 경우에는 전문 프로그래머가 취미가 모르는 사실을 알아야 할 여러 가지가 있습니다. 그 시점에 아직 (아동이 젊었을 때) 다음과 같은 사전 요구 사항 목록에 대해 걱정하지 않아도됩니다. 소스 코드 버전 제어, 팀워크, 고객 (보스 또는 고객 여부), 문서 (프로그램은 다른 사람들은 컴퓨터를 읽기 위해 우연히 읽고, 일과 삶의 균형을 유지해야합니다 (업계는 최악이 아니라 문제입니다).

마지막은 RSI입니다. 자녀가 타이핑을합니다. 많이. 나는 대학원 학교에서 콜 마르크 키보드 레이아웃으로 터치 타입을 배우는 여름을 보냈고, 매우 기뻤습니다. 체크 아웃 가치가 있습니다.



1
물어 볼게요 취미 생활을 원한다면 SCM (Git is the best, IMO)이 필요합니다.
실행 취소

2
그래서 내가 '논쟁 적으로'말한 것입니다. 나는 '이 작은 끔찍한 프로그램에서 소스 제어에 신경 쓰지 않을 것'이라고 생각함으로써 개인 프로젝트에서 몇 번이나 구석에 나섰습니다. :)
Jared Smith

11

여기에 다른 대답은 괜찮지 만 모두가 간과하는 중요한 사실이 하나 있습니다.

내성적 인 틀에 박힌 괴상한

나는 나 자신이 이런 사람이고, 당신이 수줍어하고 말 그대로 다른 사람들과 이야기하는 것을 두려워 할 때 (어려운 사회적 불안이라고 생각되는) 인생이 얼마나 힘든지 상상할 수 없으므로 가능하면 전에 이것을 처리해야합니다 내가 두려워하지 않는다면 그는 (실제로 몇 년 동안했던 것처럼) 실제 생활에서 "피난처"로 프로그래밍을 사용하고 앞으로 그에게 문제를 일으킬 것입니다.


1
이 점을 명심해야합니다. 프로그래밍 클럽 또는 프로그래밍 (예 : FIRST LEGO 리그)을 통합 한 과외 활동을 찾으면 분명한 관심사와 사회화 기술을 모두 개발 하는 데 도움이 될 수 있습니다 .
Acire

2
동의했다. 컴퓨터 관련 과목 이외의 다른 수업보다 고등학교에서 1 년 동안 극장에서 더 많은 것을 얻었을 것입니다. 그것은 무대 공포증을 다루는 방법, 스트레스가 많은 사회적 상황에서 즉흥적으로 대처하는 방법, 그리고 항상 편리한 모든 종류의 "부드러운 기술"을 가르쳐주었습니다. 그리고 "드라마 괴짜"는 괴짜의 또 다른 아종이기 때문에 급우들과 상호 작용하고 그들과 관련된 것은 복도를 돌아 다니는 다른 외계 생명체와 마찬가지로 아이에게 힘들지 않습니다. 전형적인 고등학교의. 당신은 확실히 권장합니다 (그러나 안 밀어 드라마를 데리고 그를).
메이슨 휠러

6

프로그래머로서 어느 정도까지는 '그 아이'인 나는 Raspberry Pi 또는 Arduino와 같은 (저렴한) 내장 하드웨어 키트와 같은 것들이 갈 길이라고 말합니다. 이 키트는 일반적으로 매우 저렴합니다 (Pi는 약 $ 30이며 전화 충전기로 구동됩니다).

젊은 프로그래머는 보안 / 고품질 코드 작성과 같은 프로그래밍 개념을 올바르게 파악하는 데 관심이 없습니다. 그것이 습관이 될 때까지 일을 작동시키는 방식을 방해합니다. 나는 Mentos와 Diet Coke가 왜 큰 분수를 만드는지에 대한 복잡한 세부 사항을 아는 것은 소다와 과자로 마당에서 지저분한 실험을하는 것보다 훨씬 덜 흥미 롭다는 점에서 화학에 비유합니다.

젊은 프로그래머는 온라인 과정과 코드 샘플에서 많은 나쁜 습관을 습득합니다. 그들은 일반적으로 최적의 조건에서만 작동하도록 제대로 설계되지 않고 제작되었습니다. 훌륭한 프로그래머는 예상치 못한 일이 발생하는 이상한 작은 '가장자리 사례'를 위해 구축됩니다. 어떤 시점에서 그들은 모든 나쁜 행동을 배우고 준비가 될 때까지 '전문적인'환경을 피하는 것이 나쁜 습관이 형성되는 것을 막는 좋은 방법입니다.

그들은 동기를 부여 받았으며, 아직 어릴 때나하고 싶을 때 놀 수도 있습니다.

하드웨어 / 회로 기판을 가지고 실제로 무언가를 만드는 것은 그러한 종류의 관심을 가진 아이들에게 종종 (입체적으로) 부족한 창조적 기술을 장려합니다. 젊은 프로그래머는 '내가 만들었습니다'와 실제로 무언가를 깨뜨릴 수있는 코드의 버그에 대한 만족도가 훨씬 높습니다. 또한 제작을 마치면 잠시 동안 게임을 즐길 수 있습니다.

가장 중요한 것은 프로그래머가 아닌 사람에게는 목적이 쉽게 이해되는 물리적 인 것을 칭찬하는 것이 훨씬 쉽다는 것입니다. 그것은 결국 화면상의 코드 / 프로그램보다 더 높은 칭찬과 건설적인 대화로 이어진다.


5

나는 비슷한 위치에 한 번 있었다. 나는 프로그래밍에 대해 배우고 자하는 열일곱 살이었고, 컴퓨터가 명령을 내리는 것을 보면서 흥분했습니다. 나는 웹 개발에 관심이 없었고, 처음에는 해킹 / 탐색과는 정반대로 관심이 있었다. 그럼에도 불구하고, 나는 프로그램 학습에 대한 나의 경험이 관련이 있다고 생각합니다.

청소년들에게 프로그램하는 방법을 가르치는 열쇠는 격려라고 생각합니다. 이것은 내가 더 원했던 것입니다. 부모님은 기술에 정통하지도 않고 가족도 누구도 아니므로 그로 인해 프로그래밍 기술을 배우고 연마하는 데 많은 격려 나 지원을받지 못했습니다. 당신은 다른 사람들에게 그들의 생각을 요구함으로써 올바른 발걸음을 내딛었으며, 그것은 당신이 그의 관심사를지지한다는 것을 보여줍니다. 프로그래밍에 관심이있는 아동의 부모 / 보호자 / 멘토에게 줄 수있는 최선의 조언은 간단합니다. 낙담하거나 압도 당하지 않도록하십시오. 큰 문제를 겪을 때 아이는 쉽게 낙담하거나 압도 감을 느낄 수 있습니다. 그런 일이 일어나지 않도록하는 것이 당신의 일입니다.

그를 격려 할 수있는 방법은 좀 더 복잡합니다. 모든 어린이는 다릅니다. 부모님은 고등학교 마지막 학년에있을 때지지와 격려를 받기 시작했습니다. 나는 그들이 내 방에 들어 와서 나와 함께 앉고, 내가하고있는 일에 대해 묻고, 자세히 설명하고, 내가 그들을 위해 달려 가고, 관심이있는 것처럼 보일 때 가장 큰 격려를 받았습니다. 오늘날 나는 더 이상 부모님이 나의 설명이나 세부 사항에 많은 관심을 가졌다 고 생각하지 않지만, 그 당시에 나는 그들이 그렇게했다고 확신했고 그것은 내 일에 만족하고 성취감을 느끼는 데 도움이되었다. 시간을내어 그와 함께 앉아서 그가 지은 것을보고, 그와 토론하고, 질문하고, 열정적으로 보인다. 그를 특별하게 느끼게하고 긍정적 인 강화를 제공 할 것입니다. 당신은 그에게 도움을 제공하거나 무언가를하는 방법을 보여주지 못할 수도 있습니다.

프로그래밍을 배우는 가장 좋은 방법 중 하나는 어려운 목표를 찾고 개발의 초점을 맞추는 것입니다. 제 경우에는 16 세 때 한 가지 특별한 목표에 중점을 두었습니다. 당시에는 매우 인기있는 Android / iphone 게임을 활용하는 프로그램을 개발하는 데 중점을 두었습니다. 나는 그 목표에 고정되어 몇 달 동안 그것을 향해 일했습니다. 마침내 나는 그것을 위해 응용 프로그램을 만들 수 있었고 내 목표는 더 넓어졌습니다. 그 목표에 도달 한 후 프로그램을 확장하고 더 많은 기능을 추가하기 위해 노력했습니다. 내년 반 동안, 나는 그 목표를 달성하고 내가 결코 달성 할 수 없다고 생각했던 기능들을 수용하는 여러 프로그램을 만들었습니다. 나는 더 확장하려는 동기가 돈이었다고 말할 것이다. 내가 작성한 게임 악용 소프트웨어를 판매하는 온라인 비즈니스를 만들었습니다. 그러나 그의 동기는 무엇이든 될 수 있습니다. 그가 만든 것을 돈이나 팔 필요는 없습니다. 그는 단순히 최종 목표를 달성한다는 만족감에서 동기를 찾을 수 있습니다. 그가 동기를 부여하는 것은 중요하지 않습니다. 중요한 것은 그가 동기를 부여한다는 것입니다.


프로그래밍 학습을 위해 찾은 최고의 리소스는 다음과 같습니다.

  1. YouTube : 이것은 좋지 않은 제안처럼 보이지만 설명하겠습니다. "[그가 배우고 싶은 언어] 튜토리얼"을 검색하고 재생 목록을 선택하십시오. YouTube에서 초보자부터 고급까지 다양한 언어에 대한 훌륭한 자습서가 많이 있습니다.
  2. 칸 아카데미 : 1 년 전까지는 찾지 못했지만 칸 아카데미에는 무료 프로그래밍 과정이 있습니다. 나는 코스를 훑어 보았고 초보자 프로그래머에게는 매우 좋은 코스 인 것 같습니다. 기본 개념을 다루며 매우 이해할 수 있습니다. 그에게 좋은 자원이 될 수 있습니다.
  3. "TeachMeComputer": TeachMeComputer는 Visual Basic .NET 및 PHP에 대한 훌륭한 자습서를 만든 사람의 YouTube 이름입니다. 그는 이들을 모두 조직하고 www.HowToStartProgramming.com에 추가 컨텐츠를 제공했습니다 . 웹 개발에 관심이있는 어린이는 PHP 학습에 유용한 자산이 될 수 있습니다. VB.NET은 훌륭한 초보자 프로그래밍 언어이므로 튜토리얼 세트도 그에게 매우 유용 할 것입니다.

편집 : 당신이 부모라고 가정하여 사과드립니다. 나는 당신이 아니라는 당신의 게시물의 마지막 줄을 보지 못했습니다. 그럼에도 불구하고, 나는 내 대답이 여전히 도움이 될 것이라고 생각합니다.


4

90 년대 초반 온라인에서 구할 수있는 유용한 자료가 훨씬 적었 기 때문에 책을 찾거나 구입 한 주요 정보원 이었지만 소프트웨어 개발에 대해 거의 같은 방식으로 자신을 배웠습니다. 아이는 자신이 이미 갖고있는 것 필요 : 학습 동기 부여.

여기에있는 다른 답변은 같은 생각을 가진 동료와의 참여와 같은 요소를 포함한 좋은 제안을 제공합니다. 도구에 익숙하고 간단하게 들리는 것처럼 효율적으로 입력하는 법을 배우는 것이 중요합니다 (그렇지 않으면 컴퓨터에 모든 종류의 정보를 입력하는 경향이 있습니다) 너무 힘들어서 코드의 주요 문제를 해결한다는 생각에 거의 직면 할 수 없습니다.)

나는 또한 다음과 같이 덧붙인다.이 젊은이가 자신이 선택한 목표 / 프로젝트를 선택하고 완성에 충실하도록 격려한다. 이 작업은 여러 번 시도 될 수 있으며 첫 번째 작업은 불완전한 상태로 남아 있고 너무 야심적이며 결국 지루해질 수 있습니다. 그러나이를 극복하고 실제로 누군가가 사용하는 품질의 무언가를 생산하는 법을 배우는 것 (오픈 소스 프로젝트 일 수 있음) , 또는 학교 나 친구가 사용하는 것 등)-중요한 포인트이며 중요한 단계입니다.

나는 같은 나이 (10-12 세)에 프로그래밍에 관해 많은 것을 배웠지 만, 열세 살 때 누군가가 실제로 그들에게 무언가를 프로그래밍 할 돈을 주었고, 마감일이있었습니다. 그것은 다른 경험이었습니다. 그것과 관련된 스트레스가 있었지만 나에게도 책임이있었습니다. 나는 불완전한 프로젝트와 머리가 좋은 아이디어를 많이 가지고 있었지만 누군가 내가 내가 작성하는 소프트웨어를 제공하는 징계를 도와 줄 때까지는 아니었다. 나는 실제로 "진정한 개발자"라고 생각합니다.

그건 내 2 센트입니다.


3

스크래치로 시작하십시오 : http://scratch.mit.edu/

"스크래치는 무료 데스크톱 및 온라인 멀티미디어 저작 도구로, 학생, 학자, 교사 및 부모가 쉽게 게임을 만들고 고급 컴퓨터 프로그래밍 세계에 디딤돌을 제공하거나 다양한 교육에 사용할 수 있습니다. 실험 시뮬레이션 및 시각화, 애니메이션 프레젠테이션을 통한 강의 녹화, 사회 과학 애니메이션 스토리, 인터랙티브 아트 및 음악에 이르기까지 수학 및 과학 프로젝트의 엔터테인먼트 구성주의 목적 " WP


5
으. 저는 6 학년의 "컴퓨터 활용 능력"과정에서 스크래치를 사용해야했고 끔찍했습니다. 마우스를 사용하는 저를 강요 왜 그렇게 많은 날이 tyyyyype하자
손잡이

1
스크래치로 작업하면서 배운 유일한 점은 마우스를 좋아하지 않는다는 것입니다. 기본 프로그래밍 개념을 학습하기위한 훌륭한 도구입니다. 그리고 실험하는 것은 많은 재미입니다. 내 아이들은 모두 그것을 좋아했고 실제 프로그래밍을 배우기 시작했습니다. 열쇠는 마우스 사용 여부가 아닙니다. 핵심은 시작하기에 재미있는 방법이므로 더 많은 학습을 할 수 있다는 것입니다.
james.garriss

5
스크래치는 프로그래밍 로직의 기초를 소개하기에 아주 좋은 출발점이지만, 이미 시작한 초반의 어린 시절에는 조금있을 수 있습니다. 또한 경력 (예 : LabVIEW)에서 사용할 수있는 비주얼 프로그래밍 언어에 익숙해 지도록하는 좋은 방법입니다.
Acire

3

사람들은 이미 몇 가지 훌륭한 제안을 추가했습니다. 내가 추가 할 수있는 유일한 것은 그가 이미 좋아하는 것을 찾고, 프로그래밍하면 그에게 경쟁 우위를 제공하는 것입니다. 예를 들어, 비디오 게임을 좋아하고 코딩 방법을 아는 경우 시스템이나 소프트웨어를 개조 할 수 있다는 것을 의미합니다 (예 이것이 부정 행위로 이어질 수 있다는 것을 알고 있습니다. 아마도 코드에서 해킹하고 응용 프로그램의 동작을 구부려서 요구 사항을 충족시키는 방법을 배우는 방법 일 수 있습니다. 그가 해킹을 시작하는 것은 어리석은 일일 수 있습니다. 그러나 시간이지나면서 그의 기술은 집안일없이 자연스럽게 커질 것입니다. 사람들이 자신이하는 일을 즐기면 더 빨리 배우고 계속 발전합니다.


3

때때로 충돌 할 수있는 두 가지 목표가 있다는 것을 잊지 마십시오.

  • 즐거운 프로그래밍 되세요
  • 훌륭한 소프트웨어 개발자가 되십시오

우선 순위를 정하는 두 가지 중 어느 것에 대해 의식하지 않고 결정을 내리면 올바른 균형을 얻지 못할 수 있으므로이 두 가지를 명심하십시오. 항상 다른 것보다 우선 순위를 매기는 것이 좋지 않습니다.

더 숙련 된 프로그래머의지도없이 스스로 프로그래밍하는 방법을 스스로 가르치는 사람은 나중에 배우지 못하는 나쁜 습관을 스스로 가르 칠 수 있습니다.

아이를위한 교사를 얻는 것이 당신을위한 옵션이라면, 그것은 매우 도움이 될 수 있습니다.

아이가 오픈 소스 프로젝트에 참여하도록 장려하십시오.

  • 당신은 프로젝트를 위해 다른 사람들과 함께 일하는 법을 배웁니다. 언젠가 생계를 위해 프로그래밍하기를 원한다면 매우 중요합니다.
  • 프로젝트에 참여하는 숙련 된 사람들이 길에 대한 지침을 제공 할 수 있습니다.
  • 프로젝트에 좋은 것을 기여한다면, 언젠가 개발자로서 경력을 쌓을 경우 이력서를 착용해야 할 것입니다.

오픈 소스 프로젝트가 많이 있으므로 아이에게 관심이있는 프로젝트가있을 가능성이 큽니다.

기술적 인 기술이 없어도 그 과정에서 아이를 안내 할 수 있습니다. 그러한 프로젝트에 참여하기 위해 필요한 것 중 일부는 좋은 사람들의 기술에 관한 것이며, 여기서 당신은 아마도 어떤 지침을 제공 할 수 있습니다.

일부 온라인 커뮤니티는 새로운 이민자에게 적대적 일 수 있습니다. 대부분의 경우에 관련된 몇 가지 조언은 다음과 같습니다.

  • 처음에는 조금 겸손해야합니다. 새로 온 사람들은 때때로 정당한 것보다 더 높은 자존감을 가진 거만한 사람들로 여겨지는 경우가 있습니다 (때때로 좋은 이유가 있습니다).
  • 기꺼이 배우 겠다는 것을 보여 준다.
  • 소중한 기여를 할 수 있음을 보여 준다.

많은 오픈 소스 프로젝트가 공개 메일 링리스트 개발에 대해 논의하고 있으므로, 자녀가 지역 사회에서 어떻게 지내는지 알아보기 위해 관심을 기울여야하는지 결정해야합니다.


2

저는 현재 어릴 적이며 몇 년 동안 프로그래밍을 해왔습니다.

나는 8 살쯤되었을 때 C에 처음 소개되었지만 언어를 많이 사용하지는 않았습니다. Bukkit API에 대한 Java에 대한 기본 지식이 있지만 곧 Objective C 또는 Swift로 확장 될 예정 이지만 웹 개발 및 디자인에 더 중점을 둡니다 .

나의 현재 경험에서, 당신 자신을 통해 배우는 것이 가장 좋습니다. 어린 나이에 다른 사람들로부터 배우는 것이 더 어렵다는 것이 아니라 시행 착오입니다. 나는 많은 학교들이 컴퓨터 클럽을 제공한다는 사실을 알고있다. 비록 내가 이것으로 충분하다고 느끼지는 않지만, 참석하라는 요청을 받았지만 거부 당했다. 나이가 어릴수록 사람들은 우리 아이들이 기대하는 것을 할 수 없다고 일반화합니다. 나는 그 주제에 대한 나의 지식 수준을 가정하는 많은 성인들과 함께 다양한 프로그래밍 및 스크립팅 언어에 대해 더 잘 알고 있음을 알고 있습니다.

프로그래밍을 처음 시작했을 때 많은 온라인 자습서를 보았지만 시각적 자습서만으로도 도움이되었습니다. 비디오가 저를 제한했지만 읽기와 대화 형 리소스는 전혀 도움이되지 않습니다.

비디오에서 코드를 복사하여 어떻게 작동하는지 살펴볼 것입니다. 나는 중급 지식이 생길 때까지 특정 기능을 연구하고 언어를 실험하려고했다.

나는 아이 인 것처럼 느끼고, 내가 성취 할 수있는 것에 한계가 있습니다. 이론적으로는 컴퓨팅과 프로그래밍에 대한 광범위한 지식을 가지고 있기 때문에 'Nerd'로 분류 될 수는 있지만 그다지 도움이되지는 않습니다. 학교, 가족 및 친구와 같은 장벽을위한 컴퓨팅 및 프로그래밍에 풀 타임으로 집중할 수 없습니다. 내가 성인이라면 개인마다 다르지만 지식을 더 빨리 확장하고 더 많이 배울 수 있다고 생각합니다.

어쨌든, 어수선한 글을 읽고 싶지 않다면, 아이가 스스로 배우도록하는 것이 좋습니다. 그는 당신이 그를 떠나면 그를 도울 수없는 자원을 제공하기보다는 그를 도울 수있는 자원을 찾을 것이라고 확신하지만, 아마도 내가 느끼는 것과 같은 입장에있을 것입니다.

본인은 여전히 ​​저의 자녀이며 더 많은 경험과 지식을 가진 성인이 할 수있는 세부적인 방법이나 체계적인 방식으로 글을 쓸 수 없기 때문에 문법 오류에 대해 사과드립니다.

그러나 정보가 상당히 광범위하더라도 내 정보가 도움이되기를 바랍니다.

편집 : 스크래치 또는 자동 완성 또는 자동 생성 코드 도구와 같은 도구는 프로그래밍의 목적을 상실하므로 사용하지 않는 것이 좋습니다. 스크래치는 프로그래밍이 아니라 상식으로 구성됩니다. 이것은 프로그래밍을 보는 방식이 아닙니다.


2
수정 사항에 +1 이것은 학습 할 때 일부 IDE를 사용하는 것에 대한 나의 가장 큰 불만입니다. IDE가 대부분의 코드를 작성한다면 무엇을 배우고 있습니까? 이 문제로 인해 Visual Basic .NET을 추천 할 때는주의해야합니다. VB.NET 용 Visual Studio는 종종 많은 키 코드를 자동으로 작성하고 나머지 코드를 작성할 내용을 제안합니다. 사용자가 자동 ​​생성 / 완료된 코드가 실제로하는 것을 배우면 괜찮지 만, 사용자가이 지식을 스스로 찾지 않으면 제대로 배우지 못할 것입니다. 따라서 이러한 유형의 것들에 대한 조언에 +1하십시오.
스펜서 D

1
동의 해 주셔서 감사합니다. 다양한 언어로 지식이 있으므로 자동 완성 IDE를 사용합니다. 이것은 시간 관리만을위한 것이며,보다 숙련 된 개발자에게 권장하지만 사람들은 여전히 ​​프로그래밍 방법을 배워야합니다. 언어를 작성하는 방법을 모른 채 언어를 말하는 방법을 아는 것과 같습니다.
프로필

그것에 대한 좋은 비유. 가능하다면 외국어로 된 단어 몇 개를 알고 나서 Google Translate를 사용하여 나머지 말을 번역하는 것과 같습니다. 예, 그것은 요점을 얻었고 효과가 있지만, 당신은 그것을 직접 쓰지 않았으므로 각 개별 단어의 의미를 배우지 못했습니다. 그러나 말했듯이 언어와 코드를 이해하면 자동 완성 및 자동 생성 코드를 사용하는 것이 일반적으로 시간을 크게 절약 할 수 있습니다.
스펜서 D

네 그것에 완전히 동의하십시오.
프로필

2

여기에 주어진 답변에 한 가지 점을 추가하고 싶습니다. 여전히 관심을 유지하면서 그렇게 할 수 있다면 언어 구문과 문서뿐만 아니라 교과서를 읽음으로써 언어가 어떻게 작동하는지 (컴퓨터 이론, 언어 패러다임 등) 연구를 장려하십시오. 시행 착오는 작동 하는 것을 배우는 데 좋지만 그 이유를 이해하는 데 도움이됩니다.프로그래밍에서 작동하지 않거나 작동하지 않는 것은 코드 작성 방법에 관계없이 작업을 수행하는 데 관심이있는 사람 대신 소프트웨어 개발자가되는 데 필수적입니다. “작동하는 방식의 차이를 본 소프트웨어 엔지니어로서의 저의 2 센트는 완벽해야합니다. 따라서 정신과 완벽하게 작동하고, 잘 작동하고, 확장 가능하며, 적응할 수있는 깨끗한 코드를 작성한다는 아이디어가 있어야합니다. 이론을 연구하면 실제로 도움이 될 수 있습니다. 이.


1

그 아이는 이미 배우는 법을 알고 있으며 그가 원하는 것을 시연했습니다. 다른 많은 답변은 어린이 자료를 보여주는 데 중점을 두는데, 이는 어린이가 웹 어디에서나 자료 자체에 대해 질문 할 수 있기 때문에 도움이되지 않습니다. 아이에 대한 자료와 기대를 쏟는 것은 심지어 그 주제에 대한 관심을 낙담시키고 죽일 수도 있습니다.

도전해야 할 점이 있거나 도전에 압도 당하여 흥미를 잃는 것에는 두 가지가 있습니다.

압도적으로 싸우기 위해서는 자신이 한 일에 관심을 가져서 자신의 발전에 자랑스러워 할 수 있습니다. 도전 과제가 없다면 그가 할 수있는 일을 더 언급해야합니다 (예 : 좋아하는 게임을 위해 모드 작업, 라즈베리 파이 구매 등). 그가 원하는지 결정합니다.


1

그는 관심을 가질만한 개인 프로젝트가 필요합니다. 오픈 소스는 훌륭합니다. 게임을 만드는 것은 훌륭하지만 확실히 가장 높은 순서입니다.

자신이나 다른 사람이 분명하게 사용하는 것을 마무리하는 것이 가장 유연하고 신뢰할 수있는 솔루션입니다. 게임을 좋아하기 때문에 게임을 추천합니다. 그러나 다시 한 번 저는 게임을 좋아하며 게임을 완료하려면 가장 광범위한 기술이 필요합니다.

그러나 그가 괴상하다면 게임도 좋아할 것입니다. 게임도 수익성이 있습니다. 아하하


1

나는 여기에있는 대부분의 제안이 잘못된 방향으로 인도한다고 생각합니다.

그가 프로젝트 자체에 대한 관련 지식이나 기술을 습득 할 수 있다는 사실을 감안할 때 다음 두 가지를 추천합니다.

방과후 강의 수업이나 동료 학생들에게 프로그래밍에 관한 몇 가지 이야기를하도록 제안하십시오. 배우는 가장 좋은 방법은 어쨌든 가르치는 것입니다. 이것은 또한 그의 사회적 기술을 향상시킬 수 있습니다.

그에게 "실제"프로젝트를 제공하십시오. 학교 수업 용 웹 사이트 나 수학 또는 물리 프로젝트 용 웹 애플릿을 프로그래밍하도록 요청하십시오. 또는 작은 데이터베이스 또는 위키입니다. 이런 식으로 그는 자신의 기술과 실제 관련성을 볼 수 있습니다. 그는 그가 전문가이고 다른 사람들이 그를 필요로한다는 것을 이해할 것입니다. 그리고 그는 자신을 시장에 내놓기 위해 일찍 배울 것입니다.


1

14 세 초반에 이미 놀라운 기술을 보유한이 어린 마음에 축하를드립니다! 이 아이는 얼마나 시원합니까? (그가 괴짜 외출하는 동안 프로그래머이므로 나를 용서하십시오).

  1. 처음에는 이것이 훌륭한 기술을 장려합니다!

    엔트리 레벨 프로그래머는 지역에 따라 매년 $ 30,000-50,000에서 시작할 수 있습니다. 고급 프로그래머 (일반적으로 엔지니어)는 6 명의 인물을 쉽게 만들 수 있습니다.

  2. 그가 배우고, 재미 있고 계속 개선해야하는 모든 자료는 온라인에서 무료로 제공됩니다. 아래 링크를 게시하겠습니다.
  3. 프로그래밍은 재미 있지만 키보드와 책상은 몸에 큰 타격을줍니다. 어린 padawan은 아주 어린 나이에 시작되었으므로 16 세에 카펠 터널을 얻지 못하도록 신체 활동을 고려해야합니다.

    요가를 강력하게 제안하며 가장 간단한 형태로 YouTube 검색을하고 매일 학교 나 다른 활동을하지 않는 15 분 동안 스트레칭을합니다.

    그는 내가 농담을하고 있다고 생각할 수도 있지만 (특히 14 살), 산업은 매우 무겁다. 주로 프로그래머는 한 위치와 유형에 있기 때문이다. 좋은 습관을들이십시오.

링크 사랑 :

거기에는 많은 더 많은 리소스가 있지만 일단 이것들을 보면 링크 등에서 더 많은 것을 찾을 수 있습니다.



0

프롬프트없이 HTML CSS 및 JS에 능숙하다면 이미 이에 대한 지식이 있습니다. 그가 자신의 기술을 연마하고 싶다면 CodeEval가리 키지 않겠 습니까? 이러한 과제를 완수하면 그는 자신이 선택한 언어에 대해 느낌을 얻게되며, 여러 언어를 더 잘 선택하면 (코딩 언어는 결국 사람의 언어와 비슷해집니다. ).

그가 광범위한 읽기 유형 인 경우 가장 가까운 대학의 CS101 수업에서 필요한 읽기를 할 수 있습니다. 그가 이미 프로그램 할 수 있다면 이것들은 그의 머리 위에 있지 않으며 심지어 관심을 가질 수도 있습니다.


죄송합니다, -1 전문 개발자로서 골프를 생각하는 사람이 긍정적이라고 생각하는 것은 나쁘지 않습니다. 프로그래밍을 가르친 사람으로서 골프는 초보자에게 노출되는 것 이상의 방법입니다.
user3143

@ user3143 포인트, 골프 링크가 제거되었습니다. CodeEval (최소한 초급 과제)은 트릭을 선택하고 기본 알고리즘을 통해 작업하는 좋은 방법입니다.
시드니

0

위의 모든 제안이 유용하지만 아래에 나열된 영역 중 하나에 있으면 그곳의 Coderdojo로 이동할 수 있습니다. 그렇지 않은 경우 마음이 맞는 어린이 및 부모를 찾을 수 있다면 자신의 지역에서 시작하는 것을 고려할 수 있습니다. 자세한 내용은 https://zen.coderdojo.com/dojo를 참조하십시오.

저는 Naas (아일랜드의 Co Kildare)에있는 내 Sallins 지역에서 1 년을 운영하고 있으며 2 년 전 4 명의 어린이를두고 있습니다. 이제 매주 6 세에서 17 세까지 50 명 이상의 어린이가 스크래치에서 다른 언어와 도구로 일하고 있습니다. MineCraft, Python 및 PyGame, Java, Blender, Unity, Eclipse 등

경험을 더하고 그룹의 지속적인 학습 경험의 흥분을 공유하고 각각의 새로운 프로젝트를 과시 할 수 있도록 그룹과 연결되기를 바랍니다. :-) JK


0

나는 Game Programming for for Teens 책으로 고등학교에서 프로그래밍을 시작했습니다 . 프로그래밍 언어 BlitzMax를 가르칩니다 . 나는 영어와 같은 구문과 화면에 그리기위한 간단한 명령 세트를 가지고 있기 때문에 초보자의 프로그래밍 언어라고 생각합니다. Java와 같은 다른 많은 언어에는 전문 프로그래머에게는 자산 인 거대한 API가 있지만 초보자에게는 압도적 일 수 있습니다. 한 프로그래밍 언어를 배우면 다른 언어를 배우는 것이 훨씬 쉬워 져 준비가되면 Java 또는 C #과 같은 다른 언어로 넘어갈 수 있습니다.


0

나는 모든 답변을 읽었다 고 말할 수는 없지만 처음 몇 사람은 나를 크게 슬퍼했습니다. 사실상 현대의 컴퓨팅 대기업들 (게이트, 잡스 등) 중 어느 것도 그런 높은 수준의 추상화 (예 : 웹 기반 기술) 에서 이빨을 자르지 않았습니다 . 그들은 모두 하드웨어로 인해 더러워졌습니다. 모든 팀의 전문가는 거의 항상 가장 낮은 수준의 지식을 보유한 전문가입니다.

그에게 REAL 컴퓨팅을 배우고 흥미를 느끼고 싶다면 필요한 장난감 (좋은 품질의 멀티 미터와 CRO (좋은 2nd 50 MHz Tektronix 장치가 훌륭하게 할 것입니다)), 멋진 개발 보드 (Raspberry PI, 인텔 에디슨 등), 그가 할 수있는 멋진 프로젝트를 브레인 스토밍합니다. 모션이 감지되면 모션 센서를 연결하고 침실 사진을 이메일로 보내는 것과 같은 것. 당신의 동료.

그가 버그를 받고 도구를 갖게되면 그의 기술은 자연스럽게 발전 할 것입니다. 가장 중요한 것은 자신의 기술 수준에 맞는 도전을 설정하는 것입니다. 처음에는 약간의 손 잡기가 필요하지만 하드웨어 I / O, 프로그램 아키텍처 및 다음 문제를 해결하는 데 필요한 정보를 얻는 방법에 대한 기본 기술을 개발하면 그를 막을 수는 없습니다.


Sparkfun은 이런 종류의 것들을 시작하기에 좋은 곳입니다. 사전 롤링 된 많은 로봇 프로젝트. 로봇 공학 / 임베디드 제품을 스스로 추천 할 생각이었습니다.
Tyler

0

내 자신의 expierience에서 나는 당신이 그냥 내가했던 것처럼 스스로 배워야한다고 말할 수있다. 나는 다른 사람들이 한 일을보고, 위키를 읽고, 자습서를보고, 그들의 역학을 이해하려고 시도한 다음 나 자신과 여기에서 그것을 시도하기 시작했다. 나는. 나는 또한 codeacademy.com에서 몇 가지 물건을 배웠습니다 .html, css, javascript, php 및 ruby의 창립자였습니다. 무엇보다도 가장 중요한 것은 컴퓨터, 인터넷, 많은 시간, 이해력, 물론 영감을 필요로합니다 (자신의 프로젝트 나 그에게 중요한 것 등). KNOWS는이를 수행하는 방법을 알고 있습니다. 모든 것을 스스로 알아 내야합니다. 또한 무료 하위 도메인을 확보하고 http://api.hostinger.co.uk/redir/3586817 에서 호스팅 할 수 있습니다.(<-im 하나를 사용하고 있습니다) 그리고 그는 일반 파일 편집기에서 배울 때 배우기 쉽도록 코딩을위한 특별한 도구가 필요하지 않지만 실제로 알고 있지 않은 것은 요청하지 않는 것

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.