Open Wiki - Feel free to edit it. -

3/10 '12 posted

초중고에서 교육용으로 적합한 프로그래밍 언어는?

초중고학생들 대상 교육용으로 좋을 만한 프로그래밍 언어를 여쭤봤더니 
많은 분들이 다음 언어들을 추천해 주셨습니다.

1. JavaScript
  웹의 기본언어이면서 그 용도가 확장되고 있다는 점.
  별도의 개발툴 없이도 어느 PC에서나 바로 사용해볼 수 있다는 점이 특징

2. C 언어
  가장 널리 사용되고 있고 가장 강력한 언어이고,
  학생들이 전문 SW개발자가 되어서도 계속 사용할 가능성이 높은  언어

3. Java 언어
 C 언어 못지 않게 널리 쓰이고 전문 개발자가 되더라도 계속 사용할 가능성이 높은 한편
 포인터 등 문제로 디버그에 시달릴 가능성은 적은 언어이면서,
 현대적 언어의 기본형이므로 전문 개발자로 성장하는데 도움

4. Python
 깔끔하고 쉽고 재밌는 문법으로 BASIC의 대안으로 적합

5. 레고 마인드스톰  NXT  + Java언어
  실제 작동하는 로봇과 그것을 구동하는 SW를 개발할 수 있어,
  아이들의 흥미를 끌기 쉽고, 전문 개발자가 되었을 때도 유용할만한 기술 습득

6. VVVV
   코딩이 거의 필요없는 비주얼 프로그래밍 언어로 애들도 쉽게 배울 수 있는게 장점

   실은 저는 많은 분들이 VVVV와 같은 비주얼 언어를 많이 이야기하실 줄 알았는데,
   한 분밖에 없어 놀랐습니다. ^^

7. 그 외 언어에 연연할 것이 아니라 원리에 초점을 맞춰야 한다는 의견,
실생활에 응용할 수 있는 주제를 먼저 발굴하고 그에 맞는 언어를 선별해야 한다는 의견 등이 있었습니다.

youngbo_
초:흥미 유발을 위해 HTML,CSS 중:클라이언트언어 고:서버언어 “@websphere74: 만약 초중고에서 프로그래밍을 가르친다면... 어떤 언어가 좋을까요? 옛날에는 베이직(BASIC)이 정석이었는데.. 지금도 그럴까요?”
2012/3/9 6:46 오후
kenu0000
@beyondj2ee @youngbo_ @websphere74 특별히 따로 설치하지 않아도 모든 컴퓨터에서 다 실행할 수 있어요. 자바스크립트 저도 한 표.
2012/3/9 7:17 오후
beyondj2ee
@kenu0000 @youngbo_ @websphere74 네 맞아요. 환경 설정으로 좌절을 맛보면 본질인 언어에 대한 거부감이 먼저 들거고, 결과를 웹으로 보여 줄수 있다는 것도 흥미를 유발 할것 같아여
2012/3/9 7:46 오후
lloydkwon
@websphere74 Python이 적당하지 않을까 싶습니다
2012/3/9 4:17 오후



정정식
만약 초중고에서 프로그래밍을 가르친다면... 어떤 언어가 좋을까요? 옛날에는 베이직(BASIC)이 정석이었는데.. 지금도 그럴까요?
2012/3/9 3:57 오후
그런거 가르치는거 아니예유! 아이들에게 찬란한 미래가 펼쳐질 수 있도록 환경 개선부터 ㅠ..ㅠ 2012/3/9 3:58 오후
LEGO Mindstorm NXT 프로그래밍 추천 ㅋ 2012/3/9 3:59 오후
그냥 우리는 c언어 ㅎㅎ 2012/3/9 4:00 오후
c 가르치는 순간 3D 업종으로 인식하고 SW 뀸나무 씨를 말릴 듯요 ㅋ 2012/3/9 4:01 오후
서울에 있는 초등학교는 c 언어하시던데욤. 2012/3/9 4:03 오후
저라면 vvvv를 가르치겠어요. http://vvvv.org/screenshots 코딩이 거의 필요 없고, 아웃풋이 비주얼해서, 일차 목표는 아티스트, 이차 목표는 코딩디자이너, 정 안되면 개발자로...-_-;;; 2012/3/9 4:08 오후
제 생각에는 C언어는 좀 부담스러운데요. 그것도 초등학교에서... 애들 용으로는 '쉽고 재미있어야' 할 것 같습니다. ^^ 2012/3/9 4:08 오후
초중고에서는 교육용으로도 자바 언어도 괜찮을 것 같네요. 기술적으로 복잡한 것에 너무 얽매이지 않고 수많은 다양하고 간편한 라이브러리(GUI, 스레드, 네트워크, DB 등등)를 사용하여 다양한 프로그램을 쉽게 짜볼 수 있기 때문이죠. C 언어는 포인터 버그 한번 발생하면 디버깅하기도 쉽지 않고... ㅋ 2012/3/9 4:08 오후
재미지기로 따지자면 Python이 아닐까 합니다... 앞으로의 범용성으로 따지자면 자바스크립트? 2012/3/9 4:10 오후
종합적으로 볼 때, 그래도 역시 Java 로 ㅋ 그리고, 처음 배울 때 부터 객체지향 개념을 몸소 저절로 체험할 듯 2012/3/9 4:12 오후
Jusung Song http://vvvvkorea.tistory.com/ VVVV 이거 재밌겠네요 Alice랑 Scratch는 알고 있었는데 이건 처음 봅니다. 한 번 해봐야겠어요 ^^ 2012/3/9 4:14 오후
김덕태 강신동 Java도 좋긴 한데 개발툴 선택이 중요할 것 같아요... 애들을 압박(?)하지 않고 재미도 있는 ^^ 2012/3/9 4:15 오후
Goodhyun Kim Python도 매력적이고, 특히 범용성 때문에 저도 JavaScript 가 많이 끌리기는 한데... 애들이 쓰기 좋은 개발툴이 있으면 좋겠다는 생각이 듭니다 JavaScript를 지원하는 Scratch같은 개발툴은 욕심일까요? ^^;;; 2012/3/9 4:18 오후
돈이 없어서 못하는 것이지 가장 좋은 것은 레고 마인드 스톰 NXT + PC icommand + Java 가 최고봉일 듯. 나라의 발전에 크게 기여할 듯. 그러나, 항상 돈을 안들이고 뭔가를 하려는 우리나라에서는 불가능한 일 ㅋ. 2012/3/9 4:18 오후
강신동 아 꿈의 조합이죠... ㅎㅎ 우리나라에서 초중고가 아닌 공대에서나 해볼 수 있지만 ㅜㅜ 2012/3/9 4:19 오후
미국은 레고 마인드스톰으로 고교과정에서 많이합니더. 공대에서 그걸 갖고노는게 더 이상한거 같네요 2012/3/9 4:28 오후
예전 대학 초기에 Pascal을 배웠고 꽤 과학적으로 만들어진 언어라서 언어가 C 언어보다 휠씬 깔끔했지만 나중에는 쓸 일이 없어서 헛짓을 좀 했다는 생각이 들기도 했죠. 교육받았을 때의 지식이 교육 후에도 최대한 많이 살릴 수 있어야 효과적이죠. 왜냐하면, 교육이란 사실 정규 교육 과정을 받고 난 후에도 무덤에 갈 까지 평생 교육이니깐. ㅋ 자바가 현업에 많이 사용되기도 하지만 그와 비슷한 파생 언어도 상당히 많아서 다른 언어도 배우기 쉽습니다. 그리고, 자바 언어 자체보다 수많은 라이브러리 등이 매우 사용하기 편리하게 설계되어 있고 그러한 방식이 다른 언어에도 많이 퍼져서 자바를 배우면 다른 언어와 다른 언어의 라이브러리도 습득하기 쉬워지죠. 대표적으로 C# 기술과 안드로이드 기술이 언어와 라이브러리 면에서 자바의 많은 부분을 모델로 해서 유사하고. 자바스크립트도 초기부터 자바 언어의 인기에 힘입어 언어 자체는 자바 언어랑 많이 유사해졌지요. 그래서, 보편적인 프로그래밍 언어로서 습득해 둘 필요가 있습니다. 배울 수 있는 자료도 넘치고. Lisp과 같은 함수 언어는 개념과실행 엔진이 현존하는 하드웨어 아키텍처와 달라서 프로그래밍에 있어서 매우 중요한 알고리즘, 자료구조, 성능에 대한 이해를 왜곡시킬 위험이 있어서 대표적인 교육용 프로그래밍 언어로는 적당치 않다는 생각이 드네요. 비주얼 개발 환경을 통해서 가르치는 게 더 쉬울수도 있겠지만 프로그래밍에 대해서 제대로 이해하려면 자바, 그리고 이를 따라했던 C#이나 다른 언어들처럼 명령행 라인에서 직접 코드를 짜고 컴파일하고 돌려보는게 중요합니다. 성인도 마찬가지죠. 언어와 개발도구가 이해되고 숙달되었을 때 잡스러운 일을 줄이기 위해서 IDE를 쓰기 시작하는거죠. 그렇지 않으면 뭐가 어떻게 돌아가는지도 모르고 샘플 프로그램만 열심히 가져다 돌리고 약간 바꾸는 것은 가능하지만 많이 바꾸거나 새로 개발하는 데 어려움을 겪게 되죠. 초중고 학생이 자바를 사용하기에는 언어와 라이브러리가 좀 거대한 면이 있지만 교육 단계별로 그리고 학생들의 선호도(게임, 모바일, GUI, 서버, 통신 등등)에 맞게 언어의 적절한 부분집합과 적정 라이브러리를 선정해서 프로그래밍을 가르치면 재미도 있으면서 쉽게 가르칠 수 있다는 생각이 듭니다. 2012/3/9 4:31 오후
마인드스톰도 교육용으로 훌륭합니다. 기계 장치조립과 센서, 액튜에이터를 이해하고 이를 프로그래밍할 수 있으니까요. 그냥 화면상에서만 출력을 하는 것보다는 재미도 많이 있죠. 2012/3/9 4:37 오후
재미 있는 의견이 많네요. 예전의 8bit 키드들이 BASIC+어셈블리어의 조합을 다루었음을 생각하면, 애들이라고 무시하면 안될거 같아요. 적어도 2개의 언어를 다루는 polyglot으로 키웁시다(.. ㅇ?) 2012/3/9 4:56 오후
오히려 옛날과 비교해 중요한 건 어린이들이 "아, 내가 여기서는 프론티어야"라고 느낄만한 만만한 플랫폼이 있겠냐는거 같아요. 지금은 뭐 하다가 지친 어른들이 수두룩하니... 2012/3/9 4:57 오후
@강신동 초등학생 영어 가르치려면 한달에 20만원 들어가야하고, 중간에 중단시키면 안되기 때문에 효과를 보려면 계속 초중등 9년을 계속 영어 학원 보내야 하죠. 영어 공부에도 거의 매일 시간을 써야 하고. 그에 반해 마인드스톰은 40만원에 구입하면 몇년동안 배우고 놀 수 있죠. 우리나라는 글로벌 시대라고 언어 습득에 너무 많은 시간을 씁니다. 글로벌 시대에서의 생존 전략은 남들보다 다른 뭔가를 갖고 있어야 합니다. 머리에 특별히 들어있는 지식이나 능력, 소질없이 영어만 열심히 하면 전 국민들이 나중에 통역사만 할 것인지... 언어는 통신 수단이지 컨텐츠 자체는 아니죠. 자라나는 아이들의 머리에 쓸모있는 컨텐츠 를 넣는데 각 가정과 국가가 지금보다 더 많은 시간과 돈을 써야 나라가 발전합니다. ㅋ 2012/3/9 5:02 오후
Ruby on rails 2012/3/9 5:03 오후
javascript 2012/3/9 5:11 오후
프로그래밍 '언어' 가 아닌 '원리' 를 가르치는 게 순서일 듯 싶어요. 앞서 LEGO MindStorm 과 같으면 더욱 좋고 그게 아니더라도 원리를 먼저 가르치는 게 좋을 거 같아요 2012/3/9 5:55 오후
무엇을 만들게 할 것인가를 먼저 정하고 그에 필요한 언어나 툴을 선택하는 게 맞지 않을까 싶습니다. 실생활에 바로 사용할 수 있는 그런 거면 좋겠네요. 굳이 언어 자체를 사용하는 것보다 GUI툴을 이용해서 논리력을 키우는 것도 좋을 것 같습니다. 남들에게 보여주고 같이 쓸 수 있는 거라면 더 좋겠지요. (저라면 game salad 같은 걸로 게임을 만들게 할겁니다만 요즘 사회 분위기가 ㅠ.ㅠ) 2012/3/9 6:05 오후

embed