[ Macbook Pro를 쓰는데요... ]중3이 배울만한 휴대폰 앱프로그램 언어는? 그리고 초등학교 3학년에게는?
2013.05.17 00:33
안녕하십니까? 정상호라고 합니다.
===============================================================================
아.... 여쭙고 나니 중요한 사실을 하나 빠뜨렸습니다.
딸 아이가 현재 Macbook Pro를 사용하고 있습니다. Windows 계열이 아니고요...
여러가지 조언들을 해주셨는데.... 아마도 모두 Windows 계열에서 가능한 것 같아서....
혹시, Macbook pro에서도 가능한지, 아니면 에뮬레이터 등을 써야하는지
추가 조언을 부탁드립니다.
번거롭게 해드려서 원.... 죄송하고 감사합니다.
===============================================================================
만능문답에도 여쭈었던 질문인데 스마트폰에 보다 촛점을 맞추어 여쭙습니다.
중3인 아이에게 프로그램을 가르치고 싶습니다.
이유는 논리적인 사고를 익히게 하고 싶어서 입니다.
제 경우, 두 물체의 위치를 바꾸기 위해서는 임시로 위치할 세번째 변수가 필요하다 등
살아가면서 꼭 필요한 논리적인 판단들을 프로그램을 통해서 많이 배을 넘어서
C 언어가 나오던 시기여서 다양한 컴퓨터 언어들을 배웠지만, 논리적으로는 모두 통하고 있었고
이것이 말하자면 알고리즘 같은 것이었던 것 같습니다.
요즈음 학교에서 공부하는 것이 지식에 치우치다보니 원리나 논리 같은 것은 부족한 것 같아
아이에게 가르치고 싶은 것입니다.
다행히 아직은 아빠가 하는 말에 저항감이 적어서 “재미있겠네요” 하는데,
정말 재미있게 가르치고 싶습니다.
재미가 있으려면 자신이 뭔가 만들어내는 것이 가장 좋을텐데
요즈음 대부분 사용하는 스마트폰에서 할 수 있는 것이라면 더욱 흥미를 느낄 것 같습니다.
물론, 프로그램, 앱이라는 것이 전체적인 구조가 필요하므로 중3 아이가 할 수 있는 수준이
그것도 흥미로 그저 해보는 수준에서 얼마까지 갈 수 있을지는 모르겠습니다만,
논리와 알고리즘만 익힐 수 있다면 만족합니다.
그런데, 스마트폰용 앱을 짜기위해서는 어떤 언어를 사용하나요?
SDK 같은 개발툴을 사용한다고 들었습니다만, 이것이 언어와 같은 역할을 하나요?
아니면 같은 그 안에서도 많은 언어가 있나요?
Java나 웹 기반 언어들이 쓰일 것도 같습니다만....
중3 여자 아이, 컴퓨터에는 상당히 익숙한 아이가 논리를 익히기 위해 배울만한
스마트폰 앱 개발용 언어는 어떤 것이 있을까요?
사족으로 초등학교 3학년 에너지가 넘쳐 활달하기 그지 없는 남자아이도 있는데
이 아이에게는 어떤 방법이 좋을까요?
항상과 같이, 미리 감사드립니다.
코멘트 11
-
마트폰이면 자바를 배우셔야 합니다 다만 자바를 제대로 할려면 c++을 배우고 가는것이중요합니다. 제가 배울때도 c++먼저 배우고 들어갓습니다 ㅎㅎ 참고로 책이나 인강으로 독학을 하실려면 선택이 상당히 중요합니다 자바같은경우 원서가 아닌경우 오해석 부분이 많아요
-
컴퓨터에 상당히 익숙한 것과, 컴퓨터를 잘하는 것과, 컴퓨터에 흥미가 있는 것은 각각 별개일 수가 있습니다. 대부분의 경우에는 3가지가 동시에 이뤄지긴 합니다만...
스마트폰용용 앱 개발은 하드웨어 및 플랫폼 특성상 제약이 꽤나 큽니다. [해상도 제한, 메모리 제한 등등...] 또한 재미있게 배운다기 보다는, 처음부터 고급 및 Tricky 한 기술들을 익혀야 '재미있는 것들'을 많이 표현할 수 있기 때문에... 처음 배우는 학생용으론 추천드리고 싶지 않네요. 스파르타님께서 말씀하신것에 첨언을 하자면, '기본적으로 객체지향의 개념을 이해하고 있고, API를 보고 사용할줄 알며, 패턴에 대한 기본지식이 있고, 공통으로 쓰는 문법에 대한 이해가 완벽히 되어있다,'라는 전제하에 SDK들이 제공되거든요... 보강설명을 해가며 스탭바이스탭으로 가르쳐주는 책도 있긴 하겠지만, 페이지수부터가 막강[?]합니다.
아이폰은 Object C라는 언어를
안드로이드는 JAVA를
윈도우폰은 C++/C# 을 사용합니다.
3가지 모두 객체지향입니다. 받아들이기 나름이겠지만, 처음부터 객체지향은 좀 무리가 아닌가 싶어요...
일단, 교육목적으로 개발된 프로그래밍 가능한 프로그램을 가르치는 것은 어떨까요?
LOGO, small Basic 등... 여러가지가 있네요.
실무나 후에 정말로 많이 프로그래밍을 하게 될 것이라면
C->C++/JAVA->C#/MFC 등등의 수순을 밟아가는게 좋겠지만, 프로그래밍을 했을때 습득할 수 있는 '논리적 사고'를 기른다라는 관점에서는, 굳이 많이 쓰이는 언어만을 배워야 한다고는 생각하지 않습니다.
아니면, 난이도 조절을 적당히 할수 있다면야, JAVA를 가르치시는 것도 좋겠지요. 방대한 API를 끌어다 쓰는 재미가 쏠쏠하거든요. 그래픽적인 요소도 금방 구현가능하구요. 다만, 객체지향이라는 개념을, 흥미를 잃지않으면서도 쉽게 받아들일수 있도록 하는 것이 중요하겠지요...
초등학생에게 프로그래밍을 가르치려면... 큼직큼직하게 GUI가 잘 짜여진 것이 좋겠지요... 전에 블럭형으로 UI가 구성된 교육용 프로그래밍 언어에 대한 기사를 봤던것 같은데... 못찾겠네요.
<교육용 프로그래밍 언어에 대한 위키문서>
PS>
절차적으로 접근하는 C언어로도 논리적 사고력을 기르는데는 큰문제가 없을 듯 합니다. 따라서 C로 테트리스 나 소코반 같은 간단한 게임을 짜는 것을 목표로 가르치는 것도 나쁘지 않아 보이네요...
-
추가적으로 답변을 드립니다.
단순 재미용도로 접근하시기는 어플제작이 공부할것이 많이있습니다.
저도 어플을 하나 제작중인데 단순이 잡만을 가지고 할수는 없더라구요
그에따른 연동방법등 재미있는것을 만들려면 그만큼 시간과 노력 열정이 필요합니다.
-
바로 스마트폰 어플보다 좀천천히 나가더라도 컴퓨터 간단한예제를 만드는것 나름소소한 재미도 있고 할만합니다 ㅎㅎ
-
행복주식회사
05.17 10:07
화려한 스마트 폰의 앱과 비교해서 자작한 앱들로 흥미를 느낄 정도라면 과연 1~2개 정도의 스킬로 가능할지 모르겠고, 코드 연습용이라면 굳이 스마트폰으로 한정할 이유가 있을지요?
가장 간단한 방법은 html5 + phonegap입니다. 그 이후 아이의 흥미에 따라 Java를 더 배워 나가면 되지 않을까 싶습니다.
더 간단한 방법은 게임셀러드가 있기도 합니다. 오히려 이게 흥미는 더 유발시킬 수 있지 않을까 싶습니다. 그리고 과거에 독일에서 만든 어린이용 프로그래밍 언어인 click이 있었습니다. 마치 플래쉬처럼 풀다운 메뉴로 코딩없이 프로그램을 만들수 있는데, 그렇다고 저 수준도 아닙니다. 이 언어의 장점은 알고리즘대로 메뉴를 찾아 들어가면서 만들어집니다. 물론 코딩도 할 수 있습니다.
외람되지만 근원적으로 초등학생에게 논리력을 키우는데 프로그래밍 언어가 얼마나 될지? 그리고 그 방법이 그 아이에게 잘 맞는지 부터 살펴보아야 할지 부터 생각듭니다.
-
Penguin
05.17 12:24
안녕히세요 저도 중삼입니다 ㅋㅋ
일단 제소개를 하자면 저는 코드를짠지 5년조금 넘었고 왠만한 언어들은 구사를 할 즐알고, 개인 사업까지 (돈은 얼마 안되지만^^;) 병행중입니다.
질문들은 모두 위에분들이 달아주셨으니 저는그냥 지나가는 나그내로써 몇자 끄적이겠습니다^^;
일단 초등학교 3학년한테는 제 생각엔 코드는 너무 딱딱해서 흥미를 잃을 가능성이 높습니다. 그레서 제가 추천하는것은 로봇입니다
로봇이라 함은 어렵게 생각하실수도있으시겠지만 중학교 갓 입학하고 로봇동아리를 들었는데 거기서 하던 로봇은 GUI환경에서 전진, 지연, 우회전, 좌회전 등 주어진명령 즉 주어진 카드을 조합하여 움직이게 하는 방식이었습니다. 그레서 쉽게 흥미를 붙일 수 있었지요. 쉽고 빠르게 그자리에서 결과를 볼 수 있었거든요ㅎㅎ 그리고, GUI형식으로만 프로그레밍되는건 또아닙니다 CLI형태로도 되서어느정도 숙련이 되신뒤에 사용하셔도 될듯싶네요^^ 그리고 제가 쓰던 교재는 '로보트론' 것이였고 필요하시다면 연락주세요ㅋㅅㅋ 저는 이제 안쓰거든요
그리고 두번쩨로 저랑 같은 나이인 아드님께서 프로그레밍에 흥이를 쉽게붙일수 있는 언어는 VB라고 생각합니다. 일단 vb는 정말 쉽고 (그야말로 쉬워요) 포럼에서 쉽게 정보를 찾고 쉽게 따라할 수 있고, 쉬운데비해서 결과를 빠르게 볼 수 있고 쉬운데 비해서 꽤나 강려크합니다 마지막으로 프로그레밍을 하려면 객채지향의 개념을 잡아줘야하는데 vb가 그것을 쉽게잡아줄 수 있습니다
마지막으로 자녀분들이 싫데도 한 2~3일만 끌어보세요. 저는 제 스스로 시작했지만 도와준건 아버지거든요^^ 아무쪼록잘 되길 빌갰습니다ㅎㅎ -
monomono
05.17 15:14
게임개발툴? Consturct2 는 어떨까요? 특별히 코딩이 필요 하지 않은 툴입니다
대략적 설명은 여기서!
http://ndc.nexon.com/150165601447
-
유태신
05.18 11:30
^^)
저도 셈틀 밥 먹은지 벌써 30년이 다 되가네요.. 그래서 그런지 제 큰 아이도 관심이 많더군요. 농인지 참말인지 프로그래머가 되겠다고도 하고... (전, 개인적으로 말리고 싶지만.. T-T)
하여튼, 위 Pengquin 님의 의견이 보다 현실적이고 같은 또래의 앞선 경험자로 좋은 참조가 되겠다고 생각합니다.
물론, 사람마다 취향이 다르니 뭐라 할 수는 없지만...
위 다른 분들 의견 중에서 경험상 딱! 하나 제가 동의하지 않는 것이 객체지향언어가 아이들에게 어렵다고 하는 의견인데요.
나이가 어린 사람들에게는 오히려 처음 접하는 언어일 수록 2~3세대 언어보다는 객체지향이나 인공지능 언어처럼 5세대 이상의 언어에 대해 이해가 빠릅니다.
2~3세대 언어에 익숙할 수록 5세대 언어에 대한 적응이 늦더군요. 저만 해도 C++이나 Java를 배우고 써 온지 10여년이 되었지만, 아직도 알고리즘을 구상하다보면 저도 모르게 3세대 개념으로 ... 쿨럭!
물론 프로그래밍이나 셈틀에 대한 공부와 언어 공부는 다른 것이긴 합니다만, 점차 5세대 언어가 개발 언어의 중심으로 가고 있는 현실에서는 일부러 3세대 언어를 배울 필요는 없다고 봅니다. 물론, 배워 놓으면 많은 도움이 됩니다만...^^
저도 VB를 추천합니다만, VB만 해도 사실 이제는 객체지향 언어로 발전되었기 때문에, 3세대적인 냄새를 맡기는 쉽지 않죠.
그럼.....20000^^
-
휴911
05.18 16:06
감사합니다.
5세대 언어를 통해서도 알고리즘이나 논리적인 사고를 체계화하는데 도움이 될까요?
제가 워낙 몰라서요.
꼭 프로그래머로 키우거나 하고 싶은 것은 아니고,무엇을 하던 논리적으로 생각하고 절차에 따라서 일을 하면
일의 해결이 쉽다는 측면을 느끼게 해주고 싶어서 하는 것입니다.
다시 한번 감사드립니다.
-
휴911
05.18 16:13
-
푸른들이
05.19 17:11
위의 Penguin님과 비슷한 이야기인데 레고 마인드스톰의 경우 LPP로 레고 블럭 조립하듯이 프로그래밍이 되더군요. 레고라는 장점이 있어서 아이들이 로봇에 대해 접근하기가 쉬운 점도 있고 알고리즘만 제대로 세운다면 프로그래밍의 난이도는 그렇게 높지 않으니 괜찮을 것 같습니다.
단점으로는 레고라서 비쌉니다. ^^
말이 레고지 응용의 우주 반대편 끝에는 양덕의 변태같은 괴수들도 있습니다.