궁극적인 코딩 교육의 목적
궁극적인 코딩 교육의 목적은 프로그래머, 개발자를 키우기 위해서가 아니라, 앞으로의 시대를 살아가는데 필수 도구이기 때문에 교육이 필요하다. 스마트폰이나 컴퓨터 없이는 집단에서 소외되고, 학교 과제를 해결하기 어려운 것처럼, 코딩을 모르면 살기 어려운 시대가 될 것이다. 코딩 능력은 프로그래밍에만 적용되는 것이 아니라, 거의 모든 학문과 산업에 필요로한 것이 되고 있다.
코딩을 하면서 창의성과 논리적 사고력이 향상된다.
스스로 문제를 해결하고 수정하는 과정에서 자연스럽게 논리와 창의성, 생각하는 힘이 길러지는 것이다.
4차 산업혁명 시대에 코딩은 왜 중요한가.4차산업은 IT 정보기술이 모든 일상영역에 파고드는 것이다. 3차 산업혁명의 IT 기술이 일부 사람들의 전유물이었다고 한다면, 이제는 깊이 몰라도 일상에서 일반인들도 쉽게 응용하고 적용할 수 있을 정도로 IT 기술은 접근가능하다. 왜 전 세계적으로 코딩열풍이 불고 코딩교육을 초등학교부터 의무화시키고 있는지...
언플러그드 활동
1. CS언플러그드 사이트
CS언플러그드 사이트는 컴퓨터 없이 컴퓨터 과학 배우기Computer Science without a computer를 모토로 만든 대표적인 언플러그드 사이트다. 학교와 집에서 할 수 있는 다양한 활동을 소개하고 있고, 아이들을 위한 교육활동이지만 대학생을 위한 보충활동으로도 사용하기를 권하고 있다. 선진국과 개발도상국, 정보를 잘 다루는 정보 부유층과 그렇지 않은 정보 빈곤층 간의 간극을 메꾸기 위한 프로젝트라고 소개한다.
공유 가능한 무료 프로젝트
공유 가능한 무료 프로젝트로, 국가적 지역적 특색에 맞게 변형토록 권장하고 있다. 컴퓨터 없이 알고리즘, 인공지능, 그래픽, 정보 이론, HCI, 프로그래밍 언어 등 컴퓨터 과학의 기본 개념을 익힐 수 있도록 해준다. 프로그래밍은 목적이 아니라 수단일 뿐이며, 이런 언플러그드 활동을 하면서 저지를 수 있는 실수에 대해 너그러워야 하며 정확한 답을 요구하지 않아야 한다.
CS언플러그드 사이트는 영어이지만, 동영상으로 활동을 잘 보여주고 있고, 한국어 더빙도 간혹 있으니 이 사이트를 잘 활용하면 좋다. 사이트 주소는 https://csunplugged.org/en/ 이다.
그밖의 언플러그드 활동
코드닷 오알지 비영리 교육단체로 전세계 모든 사람들이 프로그래밍을 이해하고 배울 수 있게 하겠다는 목적을 갖고 코딩교육 커리큘럼을 무료로 제공하고 있다.
스크래치 미국 MIT 미디어랩이 만들고 운영하는 무료 프로젝트다. 왜 사이트 이름이 스크래치일까? from scratch라는 말이 '아무 사전지식없이, 아주 처음부터'라는 의미라고 한다.
엔트리 한국에서 만든 소프트웨어 교육 플랫폼이다. 현재 네이버가 무료로 운영하고 있다.
앱인벤터 앱을 만드는 도구, 마우스를 클릭하면서 코딩없이 블록을 쌓아 모바일 앱을 만들 수 있다.
프로그래밍 언어
프로그래밍 언어는 300개 정도다. 많은 언어 중에서 활용도 높은 언어는 무엇일까?
파이썬python : 요즘 전 세계적으로 가장 인기 있는 컴퓨팅 언어 중 하나다. 가독성이 좋고, 이해하기 쉽고, 간결한 것이 특징이다. 입문자부터 전문 프로그래머까지 다양한 수중의 사람들이 사용하고 있다. 인공지능을 하기 위해 필수적인 언어가 되고 있다. 파이썬은 오픈소스이고 무료다. 파이썬은 확장성이 뛰어나 어떤 서버나 운영체제나 다른 언어와도 섞일 수가 있다. 구글과 드롭박스, 인스타그램, 핀터레스트, 레딧 등이 파이썬 기반이다.
자바Java : 인터넷이 등장하고 웹 브라우저 시대가 되면서 자바는 급성장했다. 자바가 없으면 응용프로그램과 웹 사이트 대부분이 작동하지 않을 정도! 대규모 웹 서비스는 대부분 자바가 기반이다. 그러나 모바일 서비스가 많아지며 그 영향력이 서서히 줄어들고 있다. 또 파이썬보다 배우기 힘든 프로그래밍 언어다. API 도움을 받고, 학습자료는 많다.
HTML과 CSS : HTML은 웹문서를 만든다. HyperText를 만들기 위해 웹 페이지와 웹 애플리케이션을 만들기 위해 개발된 언어다. 웹에서 문자나 동영상, 음성 등의 정보를 표현한다. CSS는 HTML을 도와 더 보기 좋게 만들어준다. CSS는 글자크기, 글자색, 그래픽, 하이퍼링크 등을 정할때 쓰인다. HTML5가 인기있는 이유는 반응형 웹(사용자의 디바이스 크기와 해상도에 따라 메뉴 위치, 이미지 크기, 글자 크기 등이 다른 화면으로 보여주는 것을 말함)을 만들 수 있기 때문이다.
자바스크립트JS : 모바일, 컴퓨터, 스마트 TV와 같이 사용자 눈앞에 펼쳐지는 웹 브라우저 안에서 사용되는 언어다. 프런트 분야며, 사용자가 직접 사용할 수 있다. 사용자 시야 앞에 있는 것이며 반대로 백엔드 분야는 자바, C#이다. 모바일 시대로 접어들며 HTML5 등장으로 막강한 파워를 가지게 되었다. 서버 사이드 언어 성장으로 프런트와 백엔드를 통합하는 자리를 차지하게 되었다. 구글 크롬 브라우저 엔진의 발전으로 모바일 앱을 간단히 만들 수도 있다.
PHP : 동적 웹페이지를 만들기 위해 설계되었다. 페이스북에서 사용하는 언어로 유명하다. 리눅스Linux, 아파치Apache, MySQL, PHP 첫글자만 따 LAMP로 구성되는 웹 프로그래밍 분야에 영향을 끼친다. 무료로 웹 서버를 구성하고 빠르게 웹을 개발할 수 있다. 최근엔 PHP 웹 프레임 워크 라라벨5가 인기를 끌고 있다.
C / C++ : 컴퓨터 운영체제의 커널, 시스템 프로그래밍 분야에서 독보적인 언어(유비쿼터스)다. 처음 프로그래밍 언어를 배울 때 하드웨어 임베디드를 고려해서 C/C++을 택하는 경우도 많다.
C# : 객체 지향 프로그래밍 언어다. C++형식과 자바의 기본 틀이 합쳐진 구조이며, 양쪽의 장점만 흡수했다는 평을 받고 있다. 파이썬, 루비 등 동적 프로그래밍 언어보다 빠르다. C#은 증강현실, 가상현실 게임 및 앱 개발을 위해 유니티3D에서 활용된다.
비주얼 베이직Visual Basic : 한때 개발자 언어 1위였다! 윈도우 프로그램 개발언어, 데이터베이스 프로그래밍도 할 수 있는 개발도구다. 드래그 앤 드롭을 비주얼 베이직에 적용했다. 베이직 언어를 시각적인 프로그램에 연계시켰다. 비주얼 베이직 스크립트는 액티브 서버 페이지의 기본 언어다.
루비 : 객체 지향 프로그래밍이다. 루비로 작성된 MVC 패턴을 이용하는 오픈 소스 웹 프레임워크로 웹 애플리케이션을 빠르게 개발할 수 있다. 루비 기반의 인터넷 서비스 중 우리에게 친숙한 것은 트위터다.
SQL : 데이터베이스 언어다. 관계형 데이터베이스 관리 시스템의 DATA를 관리하기 위해 자료의 검색, 관리, 생성, 수정, 갱신 등을 다루는 대화식 프로그래밍 언어다. 최근 아마존 웹 서비스AWS같은 클라우드 환경에서도 SQL이 이용된다.
새로운 언어와 알고리즘 공부를 멈추지 마세요.
열린 마음, 꾸준한 탐구
초등학교 고학년이 되면서 베이직을 배웠는데 그게 뭔지도 배웠구나 싶어요^^; 그때는 기호모양의 자를 대고 그려넣기를 하곤 했는데 그런 걸 왜 하는지도 모르고 따라 했었던것 같아요. 모르면서 억지로 워드프로세서 1급을 따려고 애썼는데... 컴퓨터 역사를 배운것같아요. 그러곤 중고등학교를 지나면서 잊다가 홈페이지를 만들면서 HTML 기초를 배웠어요. 아주 간단하게 볼 수 있는 정도로만 알아요. 지금도 그 덕분에 블로그를 할 수 있는 정도고요. 여기서 더 나아가지길 바라지만, 나아질 기회가 없어요 ^^;
코딩시대를 접하면서 코딩을 배워야 겠구나 그런 생각이 들었어요 쉽게 배운다면 더 좋을텐데~ 하는 생각도 물론 들었고요. 요즘은 대충대충보는게 습관이라서.. 코드를 제대로 보려고 하지 않는 것 같아요.. 아무튼 이 책을 보면서 다시 코딩이란?을 생각하게 되었어요. 무인화에 대해서 종종 생각하는데 살기가 좋아질수록 사람 손이 필요없게 되는구나..하는 생각도 들었어요.. 그럴때일수록 더욱 사람만이 할 수 있는 일이 무엇일까도 생각하게 돼요.
코딩시대, 이제는 자연스럽게 받아들여야 할때인가? 싶기도 하고... 조금씩 배워야 겠구나 생각했답니다~ 책 나머지 절바도 마저 읽고 기록해야겠어요. ^^
'IT & Online 책장 > 코딩의 시대' 카테고리의 다른 글
코딩교육 / 프로그래밍을 배울 때 알아두면 좋은 개념 (0) | 2018.03.09 |
---|
댓글