15 세인 사람에게 프로그래밍을 설명하는 30 분 [폐쇄]


100

나는 다음 주에 15 세의 직장 경험 학생과 함께 앉아 개발자의 삶과 일에 대해 이야기하도록 자원 봉사를 받았습니다.

잡는 것은

  • 30 분 밖에 안 남았어요
  • 나는 그녀와 이야기하는 사람들 중 한 사람 일 것입니다. 비즈니스에서 다른 역할을하는 다른 사람들도 하루 종일 그녀와 함께 일의 요소를 겪을 것입니다.

무엇을 다뤄야하며, 30 분 만에 그녀에게 무엇을 가르쳐 줄 수 있습니까?

그녀는 아마도 개발이나 프로그래밍 경험이 없다고 가정합니다.


158
이러한 많은 답변을 애용하는 것이 아이들을 향한 방식을 우울하게 생각합니다. 짧은 관심 범위가 있고 시각적이지 않으면 사물을 이해하지 못하고 복잡한 것을 처리 할 수 ​​없습니다. 우리는 15 살짜리에 대해 이야기하고 있습니다. 열 다섯 살짜리 아이들은 복잡한 일을 이해하고 수행 할 수 있으며, 무언가에 깊이 관여하고 시간을 보내고 추상적 인 생각을 가질 수 있습니다. 나는 당신의 어떤 schmucks보다 똑똑한 15 살짜리를 가져갈 것입니다!
Tom Anderson

8
@tom 반면에, 나는 대부분의 성인들이 컴퓨터의 영상 이외의 것을 지루하게 찾는 방법을 개인적으로 경험했습니다. 그것은 아이와 그들이 컴퓨터에 얼마나 관심이 있는지에 달려 있습니다.
jhocking 2016 년

6
@ :: h! 문제는이 사람이 15 세인지 아닌 것이 아니라 지적이고 호기심이 많은지 여부입니다. 우리는 (Maxpm을 제외하고) 모두 나이가 들었을 지 모릅니다. 그러나 우리는 모두 15 세였으며, 지적이고 호기심 많은 성인 인 우리는 둔하고 무관심한 십대 인 것을 의심합니다.
Tom Anderson

33
"먼저 오전 10시 이후에 일을하고 커피를 많이 마시고 Mountain Dew와 에너지 음료로 추격합니다. 다음 2 시간 동안 내 메일을 확인하면서 한 명의 여성 개발자와 레시피를 교환했습니다. 건물 전체와 점심 식사 후 잠을 잔다. 일어나서 이메일을 다시 확인하고 고양이 비디오를 위해 유튜브를 서핑하고 최신 딜버트와 smbc 만화를 따라 잡는다. 할 수는 없지만 100 명의 프로그래머가 매일 3 년마다 같은 일을한다. 비디오 게임이 탄생하는 방식이다. "
Juliet

5
@Tom : 정확히. 많은 프로그래머들이 15 세 이전에 시작했기 때문에 나는 결심을 이해하지 못한다.
Neil G

답변:


130

나는 고등학생들과 많이 교류하기 때문에이 질문에 자주 대답합니다. 15 살짜리가 50 살짜리보다 프로그래밍을 설명하기가 훨씬 쉽다는 것을 명심하십시오. 따라서 물건을 멍청하게 만들거나 멀리 가져온 비유를 사용할 필요가 없습니다.

나는 보통 어떤 프로그램의 예부터 시작합니다.

  • iTunes, Photoshop, Chrome 및 콘솔 게임을 포함한 게임과 같은 앱.
  • Windows, Mac OS, iPhone의 iOS, Android와 같은 OS (신뢰, 그들은 당신이 무슨 말을하는지 알게 될 것입니다.)
  • 날씨 시뮬레이션, 생물학적 시뮬레이션, 파이 계산, AI, 언어 처리 등 숫자를 찌르거나 복잡한 수학 문제를 해결하는 프로그램
  • 가장 정교한 웹 사이트에는 프로그래밍도 포함됩니다.
  • 대중 교통 자동 판매기 및 ATM, 전자 레인지 및 냉장고 타이머, 자동차 내비게이션.

그 후, 나는 보통 컴퓨터가 인식 할 수있는 공식 언어로 프로그램을 코딩하고 종종 메모장처럼 간단한 프로그램으로 입력한다고 설명합니다. 언어는 수학과 영어 사이의 십자가처럼 보이며, 개념을 설명하고 컴퓨터가 따라야 할 공식과 지침을 제공합니다.

그런 다음 그들은 항상 컴퓨터에 항상 있는지 묻습니다. 이것이 제가 Facebook에 항상있는 이유이고, 아직 눈이 나 빠지지 않은 이유입니다. 사람들은 내가 "사람을 해킹"하는 방법을 알고 있는지 물어보고 여자들은 돈이 좋은지 또는 컴퓨터 과학 수업에 몇 명의 여자가 있는지 묻습니다.

그 후에도 여전히 관심이 있다면, 게임을하는 방법, Windows Messenger의 작동 방식 등과 같은 질문에 대답하기 쉬운 (또는 적어도 Wiki에 대한) 구체적인 질문을하기 시작합니다.

컴퓨터가 주위에 있다면 Firefox의 설정 대화 상자에서 버튼 클릭 처리기, 게임 엔진의 기본 루프 또는 물리 코드와 같은 실질적인 효과가있는 코드를 보여주고 말할 수 있습니다. 웹 사이트 등의 JavaScript 소스


73
어린이에게 프로그래밍하는 것이 성인에게 설명하는 것보다 쉬울 수 있다는 점을 상기시켜 주셔서 감사합니다 . 나는 그들이 컴퓨터에 둘러싸여 있지 않은 것을 잊어 버렸습니다 .
jhocking 2016 년

12
하하하 나는 "사람을 해킹"하는 방법을 알고 있다면 항상 그 하나를 얻는다 하하 하하하
John Connelly

3
@ jhocking 나는 또한 많은 바보 상자 세대보다 밝다고 생각합니다. 품질은 제쳐두고, 그들이 읽는 많은 양의 텍스트는 좋은 결과를 가져옵니다.
Rei Miyasaka

4
@rei : 글쎄요, 저는 사회 기술을 발전 시켰고, 그 수업에서 소수의 여성들이 받았던 주목을받을만한 가치가 있다고 생각했습니다. 그것은 의도가 좋았지 만 ... 경보였습니다. 그것이 나 였다면 나는 비명을 질렀을 것이다. 땀을 흘리는 입가의 무리에 둘러싸여 있다는 것은 모든 평범한 사람에게는 잘 지낼 수밖에 없기 때문에주의를 기울여야하거나 정말로 comp sci를 좋아 해야 할 것 입니다. 그래서 여성이 거의 없다는 사실은 놀랍지 않았습니다. 작은 학교에서는 그렇게 끔찍하지 않다고 생각합니다.
Satanicpuppy 2016 년

4
글쎄, 나는 일반적으로 적어도 15 분 늦게 들어온다. 아, 나는 옆문을 사용한다-Lumbergh가 나를 볼 수없는 방식으로. 그래, 난 그냥 내 책상을 쳐다 본다. 하지만 내가 일하는 것 같습니다. 나도 점심 시간 후에 또 다른 시간을 할 것입니다. 나는 주어진 주에 나는 아마도 약 15 분의 실제, 실제 작업을 할 것이라고 말했다.
teambob

73

나는 5 살짜리에게 다음과 같이 설명했다.

나 : "이야기에서 사람들이 어떻게 마법의 말을하고 세상의 것들을 바꾸는 지 알고 있습니까?"
그녀 : "예?"
나 : "그게 컴퓨터 프로그래밍이야."
그녀 (조용하게) : "와우."

15 ~ 30 분이면 실제 내용을 설명하기에 충분하지 않으며 기본 복잡성을 설명하는 것이 비명을 지르는 확실한 방법입니다. 당신은 매일 그것에서 일하고, 얼마나 멋진 지 잊어 버립니다. 세상의 다른 직업은 말로만 기능적인 것을 창조하지 않습니다 ... 어떤 시점에서, 다른 모든 사람들은 고기의 세계로 나가 망치로 물건을 때리기 시작해야합니다. 그것이 그들이 아이디어를 작동시킬 수있는 유일한 방법입니다.

우리가 아닙니다.


77
롤 @ @ 당신이 마법사임을 자녀에게 가르치기
jhocking

23
"세계의 다른 직업은 말로만 기능적인 것을 만들어 내지 못합니다"– 계약 ​​변호사와 입법자들이합니다.
Tom Anderson

48
@Tom 아마도 그것들은 그것들을 만드는 것보다 기능적인 것을 제한 할 것입니다.
Maxpm

16
@tom : 아니요. 법적 브리핑은 더 이상 이야기 나 시보 다 기능적인 것이 아닙니다. 법은 청사진과 같습니다. 그것은 아이디어를 제시하지만 누군가는 고기의 세계로 나가서 그것을 시행해야합니다. 그러나 코드? 자체 내부 논리를 기반으로 주식을 사고 파는 프로그램을 작성할 수 있으며 더 이상 입력하지 않아도됩니다. 나는 시간에 따라 홍수 게이트를 통제하고, 전기를 재배치하고, 조명을 켜거나 끄는 것을 쓸 수 있습니다. 직업마다 독특합니다.
Satanicpuppy

15
@Satanicpuppy : 아니요. 그런 일을하는 프로그램을 작성할 수 없습니다. 그러나 전자 엔지니어는이를 수행 할 수있는 컴퓨터를 만들 수 있습니다. 잘 부탁했다면 아마 육류 세계로 나가서 프로그램을 시행했을지도 모릅니다.
Tom Anderson

56

15 세인 사람은 모든 개념을 이해할 수 있습니다. 나는 14 살 때부터 프로그래밍을 시작했다. (수년 전에 학교에서)

데모에는 30 분이면 충분합니다. 브라우저처럼 널리 퍼져있는 프로그래밍의 마법을 보여주세요.

  1. 인터넷에 연결된 PC를 찾으십시오. (당신이 아닌 경우 더 재미 있고, 그녀의 경우 더 더)
  2. http://api.jquery.com/jQuery.getJSON/으로 이동하십시오.
  3. 페이지를 아래로 스크롤 하여 고양이 예제 의 HTML 코드를 찾으십시오 .
  4. HTML 코드를 선택하고 복사하십시오.
  5. http://jsdo.it로 이동하여 코딩 시작을 클릭 하십시오 .
  6. 귀하의 OpenID를 사용하여 계정을 개설하십시오. (1 단계 프로세스)
  7. 왼쪽 패널 에서 HTML 탭을 선택하여 붙여 넣습니다.
    • 두 번째로 많은 고양이가 오른쪽 패널에 나타납니다
  8. 자바 스크립트를 잘라내어 자바 스크립트 탭에 붙여 넣습니다 . (구문 강조를 위해)
    • 오른쪽 패널에서 고양이가 자동으로 새로 고침됩니다.
  9. javascript에서 tags 속성을 찾아 "dog"으로 변경하십시오.
    • 많은 개가 나타납니다
  10. 그녀가 선택한 다른 태그를 사용하여 스스로 프로세스를 반복하도록하십시오.
    • 쉼표로 구분 된 두 개의 태그를 사용해 보라고 제안
  11. "if (i == 3)"행을 "if (i == 5)"로 변경하십시오. 그녀가 깨닫게 해주세요
    • 지금 6 개의 이미지가 있고 4가 있기 전에
    • 코드의 숫자가 페이지의 숫자와 일치하면 더 좋습니다.
  12. 버그를 함께 수정하십시오 (해당 줄과 이전 줄을 바꾸십시오).
  13. ...

1
또는 당신은 가입 할 필요없이, jsfiddle 사용할 수 있습니다 jsfiddle.net/WXVra
rjmunro

베스트! codecademy.com
jhocking

26

단계

거의 15 살의 나이로, 나는 당신이 멋진 출발 을해야한다고 자신있게 말할 수 있습니다 .

  1. 프로그래머가 무엇을 만드는지 설명하십시오. (게임, 시뮬레이터.) 뭔가 멋진보기 했다. (컴퓨터에서. 명령 줄을 입력하지 마십시오. 모든 사람을 놀라게하는 것 같습니다.)
  2. 어떻게 만드는지 설명하십시오.

    • 10101010하루 종일 입력하지 않는다고 말합니다. 그들에게 그 방법 을 모른다고 말하십시오. ( 거짓말. 당신 무슨 10101010의미 인지 아십니까 ?;)) 몇 년 전이라고 말하십시오.
    • IDE를 시작하십시오. 멋지게 보이도록하십시오-MSVS2010, QtCreator 및 NetBeans가 모두 좋습니다. 메뉴가 적은 것처럼 보이지만 시각적 효과를 유지하기 위해 추가 항목을 제거해야합니다.
    • 의사 코드 샘플을 보여줍니다. 이해하기 쉽도록 :

      Display Window
      Display "I like cheese!"
      Display OK button
      
      If user clicks OK button, close Window
      

      단계별로 해당 단계를 수행하십시오. 이것이 코드의 모양과는 다르다는 것을 알려주십시오. 코드는 다음과 같습니다 English + Math. 그러나 당신이 말하는 "언어"(읽기 : 문법)를 배우는 것은 어렵지 않습니다.

    • 이번에는 조금 더 "수학"한 예를 보여주십시오.

      User inputs A
      User inputs B
      
      C = A + B
      
      Display C
      

      이 코드는 계산기처럼 두 개의 숫자를 더한다고 설명합니다. 그들에게 "실제"코드를 보여주십시오. (대부분의 UI 및 기타 항목을 별도의 파일에 넣고 짧게 표시하는 파일을 짧게 유지하십시오.) 눈 바로 앞에 빼기 프로그램 (기호를에서 +로 변경하여)으로 변경하십시오 -.

  3. 프로그래밍을하기 위해 알아야 할 사항을 설명하십시오. (다양한 수준에서)

    • 기본 대수 기술 같은 경우 x + 1 = 2다음 x = 1.
    • 문제 해결 능력.
    • [ "고급"] 더 높은 수준의 수학. 이것은 NASA와 같은 곳에서 일하는 프로그래머를위한 것입니다.

사용할 수있는 용어

우리는 당신이 생각하는 것보다 더 많은 것을 알고 있습니다.

  • 페이스 북, 트위터, 소셜 네트워킹
  • 윈도우, 맥, 리눅스
  • 디자인, 빠른, 테스트, 시작 / 실행

설명해야 할 용어

그래, 여전히 설명 할 것이 필요해

  • 컴파일러 : 2 단계의 예와 같이 코드를로 변환합니다 10101010.
  • 프로그래밍 언어 : 2 단계의 예와 같습니다.

사용할 수없는 용어

우리 중 일부는이 내용을 알고 있지만 어쨌든 말하지 마십시오.

  • 운영 체제 이외의 모든 "시스템"
  • 최적화, 분석 (oh oh)
  • 입 / 출력 (이를 사용해야 할 경우 가능한 한 간단하게 만드십시오)

'쿨'IDE를 찾고 계십니까? 더 이상 Xcode를 보지 마십시오.
Alan Zeino

2
@Alan Zeino는 Emacs를 의미합니다.
rightfold

이 답변이 가장 좋습니다. 나는이 방법을 사용하는 사람이이 질문에 대한 다른 (또한 고품질의) 답변을하는 사람보다 더 많은 것을 성취 할 것이라고 생각합니다.
TehShrike

17

프로세스, 패턴, 요구 사항 등과 같은 것들에 대해 이야기하기 시작하면 그녀는 즉시 종료됩니다. 오늘날의 어린이들은 시각적이고 시각적으로 동기가 부여되므로 이러한 유형의 자극을 촉진하는 데 도움이되는 것을 가져 왔습니다. 그녀에게 웹에서 멋진 무언가를 보여준 다음 높은 수준에서 그녀에게 무슨 일이 일어나는지 설명하십시오. 개발 랩톱을 가져 와서 화면에서 "멋진"일을 만들 것을 제안합니다. 앞에서 코드를 변경 한 다음 화면에서 변경되는 것을 지켜보십시오. 그 나이에, 그들은 매우 똑똑하고 시각적 인 것이 무엇이든 흥미를 유발할 것입니다.


예, 영상은 좋은 생각입니다. 이것이 클래스와 너무 클 위험이 있기 때문에 화이트 보드에 내가 말하는 모든 것을 설명하기 위해 다이어그램을 그릴 가능성이 큽니다.
jhocking 2016 년

1
영상에 대해 이야기하면서, 그녀에게 작은 비디오 나 프로그램을 보여주는 것은 Alice어떻습니까?
Carlos Campderrós

9
@Carlos 15 살의 나이로, 나는 천의 태양의 불타는 열정으로 앨리스를 싫어한다는 것을 개인적으로 증명할 수 있습니다. 아마도 프로그래밍 방법을 이미 알고 있기 때문일 수 있습니다. 총 초보자가 그것을 어떻게 보는지 잘 모르겠습니다.
Maxpm

1
"앞에서 코드를 변경 한 다음 화면에서 변경되는 것을 지켜보십시오"에 대해 +1- '실제'사물과 그 뒤에있는 코드 사이에 직접적인 연결을 표시하여 시작합니다. 약간의 JSP 또는 문자열 형식을 조정하는 것뿐만 아니라 일부 데이터의 정렬 또는 쿼리와 같이 적당히 깊은 것. 연결 한 다음 연결하십시오.
Tom Anderson

1
몇 줄의 코드만으로 프로그램의 모습을 바꿀 수있는 능력은 몇 년 전 프로그래밍에 도움이되었습니다. 제안에 감사드립니다
Dexter

13

프로그래머의 작업을 설명 할 때 내가 사용하는 두 가지 훌륭한 비유가 있습니다. 하나는 레시피입니다. 이 은유는 각 코드 행이 수행하는 작업을 소규모로 설명하는 데 유용합니다. 프로그래머의 작업은 레시피를 작성하고 있으며 컴퓨터는 요리사입니다.

다른 비유는 큰 프로그램이 큰 회사와 같다는 것입니다. 서로 다른 영역에 중점을두고 메시지를주고받는 부서가 많이 있으며, 그 결과 회사의 목표를 달성하게됩니다. 프로그래머의 작업은 조직 설정 방법을 설계하는 것이며 컴퓨터는 회사의 모든 사람입니다.


8

나는 그것을 일반적으로 말하고 싶습니다. 프로그래밍과 다른 많은 직업들은 문제 해결로 귀결됩니다. 매일 문제를 해결하는 방법을 보여주세요. 작업중인 프로젝트와 고객을 도울 방법에 대해 이야기 할 수 있습니다. 또한 당신이 (아마도) 당신의 일을 좋아하는 이유에 대해 조금도 포함 시키십시오.

필자의 경우 다른 직원이 자습서를 게시하는 교육용 비디오 자습서 웹 사이트를 개발했습니다. 나는 프로젝트에 대한 동기 부여 (사람들을 묶지 않고 다른 사람들을 원격으로 가르치는 것), 내가 직면 한 문제들 (난이를 어려운 문제로 볼 필요는 없다)과 내가 어떻게 해결했는지에 대해 설명했다. 또한 왜 내가 처음 프로그래밍을 좋아하는지에 대해 이야기하고 싶습니다.


8

그녀가 작업 한 소프트웨어의 예를 제시하십시오. 소프트웨어를 공개적으로 사용하는 클라이언트가 있습니까? 그녀에게 보여줄 수있는 사내 앱을 개발합니까? 그녀에게 작업의 최종 결과, 최종 사용자가보고 사용하는 것을 보여주십시오.

그런 다음 작성에 도움이되었다고 설명하십시오. 당신이 쓴 부분을 살펴보십시오. 가능하면 코드를 보여주십시오. 이러한 코드 줄이 어떻게 응용 프로그램의 일부를 만드는지 설명하십시오.

사람들이 코드를 사용하는 것을 보면서 얼마나 즐거워하는지 이야기하십시오.

어쨌든 14 살짜리 사촌에게 설명했습니다. 그는 매우 감동했고 다음 학기에는 프로그래밍 수업을 들기로 결정했습니다.


5
프로그래머가 아닌 사람에게 멋지게 보이는 소프트웨어를 사용하는 경우 잘 작동합니다. 최근의 많은 프로젝트는 데이터베이스에 있으며 명령 줄과 같이 "보이고"(그리고 웹 응용 프로그램에 없었던 것조차 매우 둔해 보이지만 데이터가 제대로 처리되는 한 아무도 신경 쓰지 않습니다). 프로그래머가 아닌 사람에게는 몇 분마다 한 줄의 텍스트를 출력 한 다음 중지하는 깜박이는 프롬프트입니다. 보고 지루해 ... sigh :(
FrustratedWithFormsDesigner

1
"작업의 최종 결과"를 더 크게 살펴보십시오. 그것은 당신이 일한 소프트웨어만을 의미하는 것이 아닙니다. 또한 작업 한 백엔드 소프트웨어에서 사용 가능한 다양한 클라이언트 애플리케이션을 의미 할 수도 있습니다.
jhocking 2016 년

@FrustratedWithFormsDesigner.와 같은 SharePoint 개발자는 적어도 귀하는 아닙니다. 모든 꺾쇠 괄호 안에 멋지게 보이는 것을 찾을 수있을 것입니다.
Dexter

4
@FrustratedWithFormsDesigner 저는 15 살 때 "학교 아이들에게 CS에 적용 할만한 가치가있는 설득력있는 아이들을 설득 시키십시오"라는 날에 학교에서 온 다른 몇몇 밝은 아이들과 함께갔습니다. 명령 줄 항목 LOOKED COOL. 그것은 우리에게 매우 강력 해 보였고 , 그것을 쿠쿨했습니다. 15 세 소녀들이 우주를 지배하고 싶지 않다고 가정하지 마십시오. :)
testerab

당신은 당신이 보여줄 수있는 여가 시간에 재미있는 것을 프로그램했습니다. 테트리스 게임, 프랙탈 뷰어 및 스도쿠 솔버를 프로그래밍했습니다. 이것들 중 어떤 것도 재미있게 보여줍니다.
Carra

7

보드 게임 Robo Rally에 대해 잘 알고 있습니까?

나는 그것이 프로그래밍에 대한 완벽한 재미 비유라는 것을 알았습니다. 기본적으로 간단한 명령 (주로 화살표)을 사용하여 로봇을 프로그래밍하여 게임 보드의 특정 지점에 도달합니다.

나는 여전히 내 BigTrak을 가지고 있었으면 좋겠다 ...


4
우리는 게임 저녁에 반 정기적으로 연주합니다 (최대 8 명, 대부분 수학 또는 CS 학생). 멀티 스레딩 잘못 - P를 갈 수있는 방법을 보여 좋다
파울로 Ebermann

@Paulo-LOL 그런 식으로 생각하지는 않았지만 옳습니다!
시스템 다운

6

간단하지만 유용한 것을 보여주십시오. 좋은 예는 다음과 같습니다.

  1. 폴더 전체 또는 이미지 가져 오기 (폴더 탐색기에서 한 화면에 모두 맞지 않는 경우)
  2. 그들에게 당신의 목표는 이미지 크기를 조정하는 것입니다 (어쩌면 친구에게 이메일을 보내거나 어딘가에 온라인으로 게시 할 수 있습니다)
  3. 김프 / 포토샵 / 무엇이든 하나의 이미지 크기 조정 시연
  4. 이 작업을 수행하는 데 최소 30 초가 걸렸으며 많은 이미지가 있으므로이 작업을 수행하는 데 한 시간을 보내고 싶지 않습니다.
  5. ImageMagick을 사용하여 모두 크기를 조정하는 쉘 스크립트 작성
  6. 간단한 3 줄 프로그램으로 모든 이미지의 크기를 조정하는 것이 Photoshop에서 단일 이미지의 크기를 조정하는 것보다 빠르다는 것에 놀랐습니다.

이 접근 방식이 마음에 드는 이유는 다음과 같습니다.

  • 프로그래밍이 유용한 말해주지 않아도됩니다.
  • 시청하는 동안 몇 초 안에 전체 프로그램을 작성할 수 있습니다 (시연은 항상 잘못되기 때문에 미리 시도해 보는 것이 좋습니다)
  • 당신은 그들이 바보라고 가정하지 않고 어떤 종류의 "아이"예제가 필요합니다-이것은 간단한 예이지만 실제 사용합니다 .

더 나은 예제를 생각할 수도 있지만 스타일이 "첫 소개"에 도움이된다고 생각합니다.


5

대부분의 15 세 "이 시대"는 컴퓨터에 대한 많은 경험이 있습니다. 나는 접근에 더 많은 손을 갈 것입니다. 나는 그녀에게 약간의 코드를 보여줄 것이다. HTML조차도 이런 종류의 예제에서 작동합니다. 그런 다음 "매일, 기본적으로 그렇게합니다. 수만 줄의 코드와 매우 크고 복잡한 프로그램을 제외하고"라고 말합니다.

그런 다음 프로그래밍을 통해 어떤 종류의 문제를 해결하고 왜 좋아하는지 설명하십시오. 예를 들어, "컴퓨터에서 응용 프로그램으로 코드가 구현되는 것을 좋아합니다."


4

첫째로, 당신은 당신이 논쟁해야 할 경쟁이 있습니다.

영화, 대중 문화 및 현장의 사람들 ( 그리고 그 문제에 대한이 질문) 조차도 프로그래밍 (및 컴퓨터 과학 분야의 대부분)을 일종의 마술로 묘사하려고 시도합니다. 마법이 아닙니다.

프로그래밍은 단순히 작업을 설명하고 이러한 작업을 결합하여 문제를 해결합니다. 평행선을 찾으려면 수학을 사용하십시오. 컴퓨터는 수학 교사와 같아 모든 작업보여 주어야합니다 .

물리적 관점에서 보면 컴퓨터는 똑똑하지 않습니다. 컴퓨터는 우리가 말하는 것만 큼 만 알고 있습니다. 예를 들어 컴퓨터 프로그래머가 CD에서 음악을 재생하는 프로그램을 만들려면 컴퓨터에 CD에 저장된 데이터를 읽는 방법을 말한 다음 해당 데이터를 음파로 변환하고 마지막으로 스피커에서 음파를 출력하는 방법

이 아이디어를 한 단계 더 발전 시키면 프로그래밍이 어떻게 작업을 서로 구축 할 수 있는지 계속할 수 있습니다. 수학에서 대수를 배우기 전에 산술을 배워야했던 것처럼 컴퓨터는 더 복잡한 작업을 수행하는 방법을 말하기 전에 '기본을하는 방법'을 알아야합니다. 수년에 걸쳐 컴퓨터 과학자와 프로그래머는 컴퓨터가 기본적으로 충분히 '교시'할 수 있었으며, 우리가 서로 대화하는 방식에 훨씬 더 가깝게 '이야기'할 수 있었다.

실생활에서 수학 교사는 "15의 3의 제곱"을 풀라고 말할 수도 있지만, 이전에 "X의 Y의 힘"이 "곱하기 X 에 의해 X , 그것을 수행 Y의 시간을"[기술적 Y -1 배이지만 EH.]

우리는 작은 것들의 세부 사항에 초점을 맞출 필요가 없으며 너무 많은 실제 문제를 해결하기 위해 우리의 시간을 투자 할 수 없으며 순전히 수학 클래스처럼, 프로그래머는 '알려진'작업의 기초를 설립 하는 방법 기본을 수행 할 수 작업-이제 컴퓨터가 기본 작업을 수행하는 방법을 이해한다고 가정 할 수 있습니다.


3

나는 9 살 때 푹 빠졌던 일을 할 것입니다. C64를 다락방에서 빼내십시오.

10 PRINT "YOU SMELL"

20 GOTO 10

(아빠 감사합니다).

그렇다면 그 재미가 끝났을 때. 나는 그녀에게 숫자 추측 게임을 보여줄 것이다. 네, 모두 기본입니다. 컴퓨터가 지시를 내리는 것을 보여주기 위해 현대 언어가 죽을 필요가 없습니다.


2
좋은. 당신은 머리에 못을 쳤다. 정말 간단하고 재미있게 만드십시오. 그리고 BASIC은 완벽합니다.
Mike Dunlavey 2016 년

1
동의, 기본은 훌륭하고 GOTO는 가장 좋은 언어 구성입니다. 내 첫 프로그램은 매우 비슷했습니다.
Tomas Andrle

나는 이것에 대해 완전히 반대한다고 말하지는 않지만 C ++ 프로그래밍 몇 년이 지난 후에야 goto에 대해 배우지 못했습니다. 그때 이후로, 나는 내 인생에서 단일 goto를 입력 한 적이 없다. 좋든 나쁘 든, 나는 판단하지 않을 것입니다. 고토가 반드시 ... 어 ... 필요하지는 않다는 것을 알고 싶었습니다.
31eee384

3

Facebook과 같이 일상적으로하는 일부터 시작하고 로그인과 같은 간단한 측면이 매우 복잡한 방법을 설명하는 것이 도움이 될 수 있습니다.

여기에서 데이터베이스, 응용 프로그램 디자인 및 보안의 일부 측면으로 분기하여 제거 할 수있는 유용한 정보를 얻을 수 있습니다.

"페이스 북에 대해 한 가지가 있다면 변경할 수 있다면?"과 같은 것을 물어볼 수도 있습니다. 그런 다음 어떻게 변경하고 얼마나 많은 사람들이 참여할 것인지 그녀를 안내하십시오.

나는 처음에 파스칼을 프로그래밍하는 법을 배웠고, 나의 프로그램이 나의 입력을 받아들이고, 그것을 엉망으로 만들고, 다른 것을 인쇄하도록 펌핑되었습니다. 나는 거기에서 매료되었다. 어떤 사람들은 쉽게 걸을 수 있습니다.


@ client09
Dexter

2

아마도 그녀가 현장에서 관심을 가져야 할 소프트웨어를 개발하고있는 어딘가에서 일을하려고했을까요?

정답은 없습니다. 그녀가 아는 것에 대해 5-10 분 동안 퀴즈를 풀고 최선을 다해 시도하십시오.


@Chris가 확실하지 않음-회계에서 HR, 개발 및 컨설팅에 이르기까지 기술 회사에는 다양한 역할이 있습니다. 우리는 그녀에게 여러 가지 다른 역할에 대한 간략한 맛을 내고 있으므로, 나는이 가정을하지 않을 것이라고 생각합니다
Dexter

글쎄, 당신은 왜 회사의 유형인지 말하지 않았습니다. : p 누군가가 기타 상점에 배치를 갔다면, 나무보다 나무가 아니라 기타에 관심이있을 것입니다.
익명

2

높은 수준으로 시작하십시오. 컴퓨터 프로그래밍이 문제 해결에 관한 것이라고 설명하십시오. 문제를 해결하고 기계가 사용하고 이해할 수있는 많은 명령으로 작성된 솔루션을 고안하는 것입니다.

어려운 부분은 15 살짜리 소녀가 흥미롭고 관련성 이 있다는 예를 제시 할 수있다 . 그런 상황에 처한 적이 없었고 그녀를 알지 못하는 경우에는 무엇을 추천해야할지 모르겠습니다. "Hello world"프로그램이나 간단하고 그래픽적인 것 (창에 도형을 그리거나 마우스를 추적하는 등).


나는 내가 작업하고있는 코드의 적어도 일부 샘플을 보여주지 않고 프로그래밍에 관해 누군가에게 가르 칠 수 없다고 생각한다 ..
Dexter

@Dexter : 30 분 안에 코드가 어떻게 생겼는지 확신 할 수 없습니다. 나는 아무것도 보여주지 않으려 고했지만 시간이 많지 않기 때문에 코드가 집중되어야한다고 생각하지 않습니다. 매우 건조하고 지루할 수 있습니다. 가능하면 아이디어와 개념에 대해 더 이야기하십시오. 이해하기 쉽고 재미있는 간단한 예제 (10 줄 미만)를 찾을 있다면 그것을 찾아 가십시오!
FrustratedWithFormsDesigner

동의했지만, 간단한 1 장 예제를 보지 않고 개발 한 프로그램을 보여주고 결과를 보여주기 위해 몇 줄의 코드를 토글하고 싶습니다. 그녀에게 프로그램하는 법을 가르 칠 수 있을지 모르지만, 아마도 그녀가 더 많은 것을 발견하고 싶게 만들 수 있습니다 ..
Dexter

2

다음은 몇 가지 실패와 몇 가지 좋은 시도를 한 후에 취한 것입니다.

프로그래밍은 문제 해결입니다.

인터넷 브라우저 (페이스 북), 휴대폰, 금전 등록기 등 매일 사용하는 구체적인 프로그램부터 시작하십시오. 많은 예제를 제공하십시오. 이 모든 것들에 일종의 컴퓨터가 있는지 확인하십시오. 컴퓨터의 핵심은 프로세서입니다.

프로세서는 매우 빠르지 만 멍청한 작업자와 같습니다. 지시 사항을 제시하면 정확히 말한대로 지시합니다. 추가 작업을 수행하지 않으며 수행하도록 지시 한 내용이 잘못된 경우 사용자에게 알리지 않습니다. 이 프로세서는 모든 작업을 수행합니다. 정확히 방법을 알려 주면 전화를 걸거나 사진을 전자 메일에 넣을 수 있습니다.

그녀에게 탄산 음료 기계에서 탄산 음료 캔을 사달라고 매우 빠르지 만 멍청한 노동자에게 어떻게 말할 것인지 물어보십시오. 그녀가 단계를 설명하기 시작하면 ( "기계에 돈을 넣고 버튼을 누르십시오.") 프로그램처럼 해부하기 시작합니다 ( "돈은 무엇입니까? 기계에 어떻게 넣는가?" 버튼을 동시에 누르면 아무 일도 일어나지 않습니다. "). 화이트 보드가있는 경우 첫 번째 지침 세트로 왼쪽에서 시작하십시오. 그녀가 수정하면 새로운 큰 목록을 오른쪽에 놓습니다. 좋은 지침이 있으면 조각을 일반화하기 시작하십시오 ( "포켓에서 돈을 꺼내고 트레이 소리에서 소다를 제거하십시오-어떤 부분이 동일합니까?") 일반화를 수행하여 중간에 넣으십시오. 그리고 그들이 지금 포함하고있는 조각들을 가로지 릅니다. 결국 함수 호출과 같은 원래 명령과 일치하도록 조각을 묶으십시오. 다른 좋은 연습 : 편지를 보내고, 문을 통과하고, 원 / 사각 / 삼각형을 그립니다.

따라서 프로그래밍은 문제를 해결합니다. 문제를 부품으로 나누고 일반적인 부품을 식별 한 다음 해당 부품을 다시 그룹화하여 문제를 해결합니다. 곧 일부 문제가 많은 문제에서 공통적임을 알게 된 다음, 자신이 알지 못했던 문제를 해결하기 위해 부품을 모으기 시작합니다.

좋아,이 시점에서 그녀는 이해할지도 모르지만 아마도 지루할 것이다. 멋진 프로그래밍 예제 세트로 후속 작업을 수행하십시오. 셰이더 및 관련 비주얼 코드는 시연하기 쉽습니다. 아주 작은 코드 변경으로 그림을 올리고 변경할 수 있습니다. 그녀가 Facebook에 관심을 보인 경우 REST를 통해 Facebook과 대화하면서 친구의 친구 (6도) 데이터를 확인하십시오. 비디오 게임을 좋아한다면 몇 가지 오픈 소스 게임 데모와 함께 몇 가지 코드 스 니펫과 게임 작동 방법을 보여주십시오. 집에서 조사 할 수있는 몇 가지 무료 도구와 리소스를 보여 주어 마무리하십시오. (파이썬, C # 등)

내 실패한 시도 : 파이 계산을 설명하려고 시도 (그들은 묻고), C-Jump 보드 게임 http://c-jump.com/ (그들은 그것을 얻지 못했고 지침은 버그가있었습니다), 라이브 코딩 2D 게임 (시연 사이에 작은 단계를 밟더라도 관심을 가질 수 없었습니다).

행운을 빕니다!


2

간단한 프로그램을 만드십시오. 아니요, "Hello World!"가 아닙니다.

내가 한 것은 게임을 만드는 언어, 로봇을 제어하는 ​​언어 등 많은 종류의 프로그래밍 언어가 있지만 HTML을 사용한다는 것입니다.

아무것도없는 웹 페이지를 만든 다음 전자 메일 주소로 전자 메일을 보낼 양식을 추가하십시오. 그녀는 아마도 소유자에게 새 이메일이 있음을 알리는 휴대 전화를 가지고있을 것이므로 친구와 가족이 연락 할 수있는 좋은 방법이라고 말할 수 있습니다. 그녀가 나중에 자신의 웹 사이트를 얻는다면, 웹 사이트에 양식을 넣을 수 있다고 말하면 고객과 비즈니스 파트너가 그녀에게 연락 할 수 있습니다.

또는, 그녀가 조금 장난 스럽다면 프로그래밍에 관심이있는 부분을 알려 드리겠습니다. 해킹. 그 당시 저는 14-15 세의 나이로 AOL (내가 한 수십 가지 일 중 하나를 능가하는 하나의 프로그램 이외)에서 AOL을 망칠 수있는 최고의 프로그램을 만들었습니다. 흰 모자 측면에서, 나는 또한 최초의 스팸 제거 프로그램 중 하나를 만들었습니다 (1995). 나는 온라인 환경을 훨씬 더 즐겁게 만들 수 있었으며, 우리는 그것을 그 자리에 남겨 두겠습니다. 내가 컴퓨터에서하고 싶었던 모든 것은 내가 알아 내야 할 모험이나 퍼즐이었고, 컴퓨터에서하고 싶은 것은 끝이 없었습니다. 물론, 그것이 작동하는 것은 때때로 골치 거리 였지만, 인간보다 더 빠르고 더 나은 성과를 거둔 프로그램을 작성하는 것은 일반 대중에게는 불가능했던 일을하는 것이 자랑 스러울 수있는 훌륭한 기계를 만드는 것과 같습니다. 이제는 진지한 것을 피할 수는 있지만 Visual Basic에서 시작시 (화면 또는 시스템 트레이에 앉아) 시작될 수있는 무언가를 만드는 것이 매우 쉬울 것입니다. 좋아하는 웹 사이트, 좋아하는 프로그램 등을 시작하도록 할 수 있습니다. exe 및 웹 사이트를 시작하는 데 필요한 명령을 소개 한 다음 단추를 만들도록 요청한 다음 해당 단추에 코드를 추가하면됩니다. 즐겨 찾는 웹 사이트 (페이스 북, 트위터 등) 및 프로그램 (iTunes, 워드 프로세서 등)을 넣습니다. 컴퓨터가 그녀의 방에있는 경우 추가 기능을 위해 알람 시계를 던질 수도 있습니다. 물론이야, 30 분이 지나서 그녀를 걸을 수 없으므로 이미 완료해야합니다. 마지막으로 2-3 페이지의 사용자 설명서, 코드 및 .exe를 전자 메일로 보낸 다음 약간의 판매 피치로 남겨 두십시오. 처음에는 쉽지 않지만 처음에는 쉽지 않습니다. 교수형은 그렇게 나쁘지 않고 인생에서 매우 유용하며 분석적 사고를 발전시키는 데 도움이 될 것입니다.


2

나는 18 살의 대학생들을 가르쳤고, 15 살의 아이들은 거의 같다고 생각합니다. 연습 없이는 성공을 기대하지 마십시오. 첫 수업에서 "파산"되기까지 몇 주가 걸렸습니다.

내가 배워야 할 가장 큰 것은 내가 생각했던 것이 너무 단순하고 명백해서 시간을 채울 수 없다는 것이 학생들에게 전혀 그런 것이 아니라는 것입니다. 나는 당신이 아기 단계로 가야한다는 것을 배웠습니다. 그렇지 않으면 그것은 단지 "gee whiz"마법입니다.

30 분 안에 어떻게 맞출 지 모르겠지만, 제가 만든 첫 번째 일은 집에서 만든 작은 컴퓨터를 보여주었습니다.이 스피커는 스피커를 안팎으로 클릭하여 약간의 튜닝을하도록 프로그램되었습니다. 클릭간에 지연으로 작동하도록 카운터를 줄임으로써 음표를 재생할 수 있다고 설명했습니다. 방금 요리법처럼 의사 코드를 보드에 썼습니다. 그런 다음 전선 아래에 걸 수있는 작은 커패시터가있어서 전체가 약 1000 배 느리게 실행됩니다. 그러면 클릭-대기-클릭-대기 ...가 들릴 수 있습니다. 그런 다음 커패시터를 풀면 약간의 조정으로 터집니다.

요점은 컴퓨터가 단순한 일만하고 한 번에 하나씩하는 것입니다. 이전 단계가 완료 될 때까지 각 단계를 시작하지 않습니다. (예, 알고 있습니다-파이프 라이닝과 그 모든 것, 그러나 우리는 초보자 와 대화하고 있습니다.) 모든 사람들이 한 번에 모든 것을 한 것처럼 보이게하는 것은 전자 속도 일뿐입니다. . 그것은 프로그래밍과 컴퓨터를 이해하기 시작할 수없는 진정한 기본 개념 중 하나입니다. 우리에게는 이것이 매우 세분화되어있어 우리가 그것을 알고 있다는 사실조차 알지 못하지만 초보자는 그것을 알지 못합니다.


1

나는 프로그래밍 언어가 아니라는 것을 알고 있지만 HTML을 시작하기에 좋은 곳이라고 생각합니다. 즉각적인 결과를 얻을 수 있기 때문에 ...

안녕하세요 월드

그런 다음 수행하십시오.

안녕하세요 <b> 세계 </ b>

기타.


1

그것이 저라면, 프로그래밍이 작업을 작은 작업으로 분할하여 해결하는 데 도움이된다고 말하고 싶습니다. 그리고 그 작은 일들을 바보 컴퓨터에 의해 오해 될 수없는 언어로 표현합니다. 그러나 다른 프로그래머들도 쉽게 이해할 수있는 방식으로해야합니다. 같은 것이 아닙니다.

즉, 다른 사람들이 말한 것 위에 ...


1

이것은 간단한 "답변"보다 개인적인 경험입니다.

내가 왜 관심을 얻었습니까? 부모님은 1984 년에 IBM PC XT를 구입했습니다 (1984 년에 태어났습니다). 640kb RAM과 20MB HDD와 5 "FDD를 가지고 있으며 MS-DOS v3.2를 실행했습니다. 5 번째 표준이 될 때까지 만질 수 없었고 마침내 그것을 사용할 수있게되었을 때, 나는 몇 년 동안 쏟아 부었습니다. 그것에 대한 호기심의 축적.

반면에 내 동생은 원할 때마다 같은 PC와 Quadra 610 매킨토시를 사용할 수 있었으며, 테이블에 지불 한만큼 지불했습니다.

언니 를 가르치는 중 ... 나는 언니에게 컴퓨터 프로그래밍을 기본으로 가르치려고 노력했다. 나는 컴퓨터를 시작하는 것부터 프로그램을 입력하고 실행하는 것까지 모든 것을 그녀에게 만들었다. 그것은 라인 프로그램이었습니다.

10 PRINT "CAT"
20 END

30 분이 걸렸습니다. 그녀가 마침내 그것을 실행할 때, 그것은 'CAT'라는 단어를 인쇄했고 그녀는 분노했습니다. 그녀는 고양이의 그림이 나타날 것으로 예상했다. 그녀는 방에서 쏟아져 나왔고 그것은 영원히 프로그래밍의 끝이었습니다!

도덕 : 결과는 시간과 노력에 비례하는 것이 좋습니다.

고등학생에게 Labview 및 Lego NXT 교육 1 년 동안 FIRST Robotics 의 멘토 였으며 NI Labview에서 로봇을 프로그래밍 할 때 어린이를지도해야했습니다. 솔직히, 필요한 프로그래밍 기술은 고등학생의 수준보다 훨씬 높았습니다. 그러나 경쟁은 아이들이 공학에 대해 흥미를 느끼게하고 도전을 할 수있는 능력에 대한 기준을 높이기위한 것이 었습니다. 프로그램에 if 문과 루프 하나만 있으면 문제가 해결 된 것입니다. 사람들은 우리가 작년에 만든 로봇을 위해 만든 코드 다이어그램을 보았을 때 로봇의 프로그래밍 섹션에서 탈락했습니다.

사람들이 15 살짜리 아이들이 복잡한 일을 할 수 있고 여러 시간 동안주의를 기울일 수 있다고 말하면서, 나는 그렇게 할 동기가 부족하다는 것을 알았습니다. 그들은 뇌에 부담을주지 않는 쉬운 일을하기를 원했습니다. 그들은 쓰기 프로그램보다 선반 기계의 CAD 및 밀링 부품보다 훨씬 선호했습니다.


1

CS 란 무엇입니까?

데모를 시작하기 전에 세계에서 CS의 자리를 차지하는 데 도움이된다고 생각합니다. 저는 Hal Abelson의 수학에 대한 CS에 대한 설명을 좋아했습니다. 수학은 법으로 세계를 설명하는 데 도움이되는 반면 CS는 일을 수행하는 방법을 설명하는 데 도움이됩니다. 그의 예는 제곱근 함수였습니다. 수학은 그것을 정의하지만 주어진 입력에서 그것을 찾는 데 도움이되지 않습니다. CS는 할 것이다. 낮은 수준에서 전기 공학 및 물리학은 인터넷을 가능하게하는 하드웨어의 토대를 마련했지만 사람들이 인터넷을 사용하게하는 방법에 대한 의문을 남겼습니다.

프로그래머가되는 것은 무엇입니까?

그런 다음 프로그래머가되는 것에 대한 의문이 있습니다. 그것을 이끌어 낸 것은 다른 기술 분야보다 더 빠른 시도, 테스트, 수정이 있다는 것입니다. 논스톱 문제 해결이지만 다른 분야에서는 단일 루프의 처리 시간이 몇 개월이 될 수 있습니다. 또한 거의 모든 다른 기술 분야에 유용합니다. 대부분의 다른 기술 분야에서 말할 수있는 것 이상입니다. 따라서 무엇을하고 싶은지 아직 모른다면 (아마도) 일찍 익히는 것이 좋습니다. 대학에서는 실험을 코딩 할 수있는 것보다 더 많은 교수에게 유용한 정보가 거의 없습니다.

코드에 묶인 눈 사탕

물론 데모를 잊지 마십시오. 예를 들어, 지진 사본 (오픈 소스)을 가져 와서 한 줄만 변경하고 (예 : 중력 강도 변경) 다시 컴파일하는 것이 좋습니다. 또한 그녀가 코드를 보도록하십시오. 그녀가 많은 것을 이해하지 못했을 것이라고 안심 시키십시오. 지금은 횡설수설처럼 보이지만 다시는 배우지 않은 외국어 신문도 마찬가지입니다. 그럼에도 불구하고 그녀는 사물이 사물에 할당되고, 사물에 무엇을해야하는지, 여기에서 중력을 설정하는 등을 볼 수 있다고 말할 수 있습니다.


1

나는 14 살 때 프로그래밍을 시작했다. 대부분의 (등록한 50 명의 학생 중 47 명)은 1 년 중반에 중퇴하거나 내년에 고급 과정을 계속하지 않기로 결정했지만, 나는 그것을 고수하고 매우 중요한 것을 배웠다.

프로그래밍을 통해 아무것도 아닌 무언가를 만들 수 있습니다. 당신은 필요를 채우는 유용한 도구, 당신과 당신의 친구들을위한 재미있는 활동, 또는 당신이 친구들에게 보여주고 "내가 한 일을 봐라" 라고 말할 수있는 유용한 도구로 단어를 바꿀 수있는 힘이 있습니다 .

우리는 "Hello World"를 시작으로 배웠지 만 코드가 사용자와 상호 작용할 수있을 때까지 관심이 없었습니다 . 우리가 "cin"으로 입력을 읽는 법을 배운 순간, 수업 시간에 Mad-Lib 프로그램을 만들었습니다. 첫 번째 장애물은 공백이 포함 된 입력을 읽은 다음 출력 형식을 지정하는 것입니다. 나중에이 이야기를 파일로 저장하고 싶었으므로 파일 IO를 배워야했습니다. 내 목표를 달성하기위한 장애물을 해결하는 것이 저의 참여였습니다.

그 해에 우리는 네트워크 관리자가 컴퓨터 수업 중 통신에 사용했던 "Net send"및 Novell SendMessage 클라이언트 사용을 기록하고 있음을 발견했으며 학생들이 테스트에서 부정 행위를 한 후 사용을 중지했습니다. 그래서 관리자가 비활성화 한 대화방을 대체하기 위해 대화방을 작성했습니다. 내가 만든 최초의 정말 유용한 일이었습니다. 나는 Battle.Net의 채팅 시스템을 모델로 삼아 사용자 등록, 중재자, 심지어 기본 암호화 및 섀도 파일 시스템으로 사용자가 변조하는 것을 방지했습니다 (모든 파일은 공유 네트워크 드라이브에 있어야 학생들이 프로그램 액세스 및 사용). 이것들은 내가 이미 알고 있던 개념이 아니라 문제를 해결하기 위해 스스로 생각 해낸 해결책이었습니다. 나에게 그것은 프로그래밍의 기쁨이었다.

따라서 소프트웨어 개발의 의미에 대한 논의를 넘어서 질문에 올바르게 대답하기 위해서는 대화식 데모가 좋은 아이디어 일 것입니다. 카메라의 모든 거대한 사진의 크기를 자동으로 조정하는 등의 문제를 해결하는 것이 좋습니다. 조금 더 복잡하지만, 그녀는 친구들과 공유 할 수있는 간단한 메시지 남겨두기 웹 페이지로 재미를 느낄 수 있습니다. 새 메시지가 게시 될 때마다 누군가에게 이메일을 보내도록하고 코드를 편집하여 사용자 대신 이메일로 보내도록 할 수 있습니다. 또한 페이지에 마지막 X 개의 댓글 수를 표시하고 해당 번호를 조정하여 결과를 확인하도록합니다.


1

내가 일을하던 곳에서 때때로 아이들이 와서 일하는 경험이있었습니다. 어떤 사람들은 컴퓨터에 관심이 있었고 어떤 사람들은 그렇지 않았습니다. 우리는 그들을 컴퓨터 앞에 앉히고 추측 게임을하게했습니다. (컴퓨터는 무작위로 숫자를 선택하고, 추측이 너무 높거나 낮 으면 피드백을받습니다.) 간단하고 재미있는 결과입니다. 그들이 만들 수있는 것을 실재적으로 보여주는 것보다 더 강력한 것은 없습니다.


1

누군가의주의를 끌고 계속 유지하고 싶을 때는 물어보십시오. 물을 마시는 것과 같은 간단한 작업을 어떻게 수행 할 것인지 묻는다. 그런 다음 그들이 제공 한 지시 사항 ( "홀을 내려가십시오"와 같은)이 실제로 좌회전, 우회전, 정지 등의 문제를 어떻게 처리하지 않는지 보여주십시오. 경계 조건을 이해하고 처리하는 것이 비즈니스입니다. 프로그래밍 그런 다음 "do-until"루프가 "벽에 올 때까지 걸을 때"종류의 상황을 처리하는 방법을 보여줄 수 있으며, 다른 작업에서 1 피트 앞쪽에서 메타 작업을 수행 할 수 있습니다. 걷기


1

이것이 전설인지 사실인지는 확실하지 않지만 언젠가 왜 뻣뻣한 지에 대해 읽었습니다. 이야기의 일부는 기차에서 만난 아이 (또는 아이)에게 프로그래밍을 보여주었습니다.
여러분 중 일부는 아시다시피 _ 왜 루비 사람 이었습니까 (그리고 루비는 일반 사람들에게 매우 친절합니다). 그는 루비에서 어떤 게임을하고 있었지만 어떤 아이는 그에게 다가 가서 무엇을하고 있는지 보려고 접근했습니다. 그는 먼저 결과를 보여주었습니다 . 작동중인 게임. 그런 다음 아이에게 코드에서 결과를 변경하기 위해 코드를 수정 하는 방법을 보여주었습니다 . 그런 다음 아이 가 코드를 가지고 놀고 수정 된 결과 를 보도록했습니다 .
나는 그것이 결과, 수정, 놀이와 같은 일반적인 작업 흐름이어야한다고 생각합니다. 인간 친화적 인 언어로 된 프로젝트 (게임이 최선의 선택 일 것입니다)를 찾아서 아이에게 보여 주어야합니다.

슬프게도이 이야기가 사실인지 아닌지는 전혀 모른다. 여전히 매우 시원합니다.

또한 하나 더. MessageBox델파이에서 프로그래밍에 대한 첫 경험을 기억 합니다. 컴퓨터가 내가 원하는 것을하고 즉시 결과를 볼 수 있기 때문에 시원했습니다.
그런 다음 마이크로 컨트롤러가 나타났습니다. 내 코드가 현실 세계를 바꿀 수 있기 때문에 더 좋았습니다. 변수에 값을 할당하면 출력 포트에 전압이 표시되어 엔진이 움직이기 때문에 너무 추상적이지 않았습니다. 멋졌어. 이 방법을 선택하고 싶을 수도 있습니다-Arduino와 같은 것을 아이에게 보여주십시오.

알다시피, 나는 그것이 결과를 바꾸고 보는 것에 관한 것이라고 생각 합니다.


0

당신이 한 일의 최종 결과를 보여주세요. 프로젝트에서의 역할에 대해 일반적으로 이야기하십시오. 그녀가 관심이있는 것처럼 보일 수도 있습니다.


0

프로그래밍에서 내가 가장 좋아하는 비유는 Satanicpuppy와 같은 마법사 (해리 포터 스타일)입니다. 나는 아이들뿐만 아니라 비 기술적 인 동료들에게도 이것을 사용하며, 그것은 잘 작동하는 것처럼 보이고 컴퓨터가 우리에게주는 힘을 확실히 전달합니다.

컴퓨터는 우리의 마술 지팡이입니다. 손목과 주술을 올바르게 튕겨서 마법을 수행 할 수 있습니다. 프로그래머로서, 우리는 전임자들이 작업하고 정제 한 철자 책 (라이브러리)을 이용할 수 있습니다. 새로운 주문과 주문을 만들거나 기존 주문과 함께 사용할 수 있습니다. 일부는 쉬우 며 일부는 실제로 효과적으로 사용하기 위해 더 많은 연습이 필요합니다. 동일한 문제를 해결하기 위해 종종 절충과 여러 가지 방법이 있습니다 (좋은 물약이나 주술을 사용해야합니까?).

이 확장 된 은유는 실제로 잘 확장 될 수 있으며 종종 필드 외부의 사람들이 액세스 할 수있는 방식으로 프로그래밍에 대한 열정을 전달할 수 있습니다.


0

아이들을 이해하는 가장 좋은 방법은 먼저 아이가되는 것입니다 ..! 어렸을 때 숙제, 터 잡기 등을 싫어했습니다. 그래서 당신의 관심을 끌 수있는 진입 점이 있습니다. 30 분 동안 모든 것을 설명 할 수는 없지만 관심있는 어린이들이 영감을 얻는 것으로 그들에게 일종의 노출을 제공 할 수 있습니다. 숙제와 같은 관련 주제로 시작하십시오. 컴퓨터가 몇 초 만에 부과를 어떻게 쓸 수 있는지 이야기하십시오.

나는 당신에게 최선을 다하겠습니다 ..! 잘 했어

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