본문 바로가기

개발자/Arduino

논리적 사고를 향상시키는 창의설계 코딩



논리적 사고를 향상시키는 창의설계 코딩


이 장의 교육 목표와 학습할 주요 내용


교육 목표 : 코딩(Coding)의 개념을 주변 생활과 연계하여 친숙하고 흥미롭게 인식한다. 또한 사람의 언어와 비교하며 프로그래밍 언어의 개념을 쉽게 인식한다.


교육 내용


• 코딩이란?

• 코딩과 프로그래밍

• 왜 코딩을 배워야 하나요?

• 알고리즘이란?

• 좋은 코딩, 나쁜 코딩

• 사람의 언어와 프로그래밍 언어


주요 키워드 : 코드, 설계, 코딩, 프로그래밍, 알고리즘, 프로그래밍 언어, 논리, 창의성


코딩이란?


하루가 다르게 엄청난 양으로 늘어가는 우리 주변의 수 많은 물건들을 어떻게 관리해야 쉽게 분류하고 빨리 찾을 수 있을까요? 통기타를 연주할 때 어떤 화음으로 반주를 할지 노래책 악보에 어떻게 표시하나요? 그리고 컴퓨터 통신에서 “Hello!” 라는 문자를 어떤 방법으로 전송할까요?





이러한 물음들에 대해 인류는 다양한 모양과 체계의 코드(code)를 설계하고 개발하여 사용하고 있으며, 더욱 효과적인 방법들을 새롭게 고안하며 발전시키고 있습니다. 이러한 코드를 알게 모르게 거의 항상 사용하고 있는 우리는 이제부터 코딩이라는 관점에서 스마트폰이나 PC 또는 자동차와 같은 주변의 기계에 대해 더 잘 이해하고, 나아가 직접 자동차나 탱크 로봇과 같은 기계를 우리 의도대로 제어하고 동작시키는 다양한 내용의 문제를 이해하고 창의적으로 설계하며, 논지적인 코딩으로 구현하고 또 수정하면서 개선하는 실습을 진행합니다.


먼저, 코딩이 뭔가를 알려면 먼저 코드가 뭔가를 좀 더 살펴보아야겠죠? 우선 다음 이미지들을 잠시 살펴봅시다. 아래 이미지들은 순서대로 바(bar) 코드, QR 코드, 기타 코드, 모스(morse) 코드, 아스키(ASCII) 코드 그리고 프로그램 코드를 보여주고 있습니다. 네, 이들은 모두 코드이며 각각 뭔가에 해당하는 정보를 전달하기 위해 사용됩니다. 즉, 코드란 어떤 정보를 전달하기 위해 사용하는 기호나 그림 등을 의미하는데, 우리가 앞으로 배우고자 하는 내용에서 말하는 코드란 어떤 정보를 다른 형태로 변환하는 규칙을 의미합니다.


그럼, 코딩(coding)이란 뭘까요? 영어의 진행형인 “~ing”가 붙은 것으로 보아 코딩이란 코드를 “진행하는” 것이 됩니다. 다시 말하면, 코딩이란 코드를 만드는 과정이나 행위를 말합니다. 그렇다면 약간은 사전적 의미가 되겠지만, 우리가 만든 코딩의 첫 번째 정의는 다음과 같이 말할 수 있겠습니다.


코딩이란 어떤 정보를 다른 형태로 변환하는 규칙을 만드는 과정이나   행위이다.


코딩이란 컴퓨터에게 내리는 제어 명령 등의 코드를 만드는 과정 및 행위이며, 프로그래밍 언어로 작성된 프로그램을 만드는 과정 및 행위를 말한다.






1994년에 이스라엘은 소프트웨어 과목을 정규과목에 포함했으며, 2009년 일본도 소프트웨어 교육을 필수 과목으로 지정했습니다. 얼마 전 영국에서는 청소년 교육 과정의 12개 정규 과목 중 영어 수학 과학 스포츠와 더불어 컴퓨터과학이 5개 필수 과목 중 하나로 지정되었습니다. 


컴퓨터 교육이 단순히 좁은 의미의 코딩 기술만 가르치는 것이 아니라 논리적 사고, 알고리즘에 대한 이해, 데이터 분석 등의 능력을 종합적으로 길러주는 효과를 가지고 있다고 판단하기 때문입니다. 참고로, 우리나라에서도 2015년부터 중학교를 시작으로 2017년과 2018년에 초등학교와 고등학교의 수업 과정에 코딩 과목을 필수로 배우게 된다고 합니다.