코딩은 컴퓨터로 하는 것이니까, 무엇보다 컴퓨터가 있어야겠죠? 우리가 집이나 회사에서 쓰는 컴퓨터는 보통 네 가지 부분으로 이루어져 있어요.
1. 본체
2. 모니터
3. 키보드
4. 마우스
본체는 컴퓨터의 가장 핵심적인 장치들이 모여있는 기계예요. 정보를 저장하고 계산하는 역할을 담당하고 있어요. 키보드는 컴퓨터에게 문자를 입력하는 일을 담당하고 있고요, 마우스는 컴퓨터에게 2차원 좌표를 입력하는 일을 맡고 있어요. 모니터는 입력하거나 계산된 정보를 시각적으로 보여주는 일을 담당하고 있어요. 이것을 출력이라고 해요.
컴퓨터나 코딩을 배울 때 우리는 '입력'이나 '저장', '출력'이라는 말을 아주 많이, 흔하게 듣게 돼요.
입력은 '넣는 일'이에요. 영어로는 input (인풋)이라고 해요.
출력은 '빼는 일'이에요. 영어로는 output (아웃풋)이라고 해요.
무엇을 넣고 빼나요?
'정보'를 넣고 빼는 거지요.
여기서 우리는 '컴퓨터'라는 기계가 뭐 하는 물건인지 한눈에 알 수 있게 되지요. 컴퓨터란 한 마디로 '정보를 입력받고, 계산하고, 저장하고, 출력하는 기계"예요. 한 마디 덧붙이자면 '계산하고 저장하는 일'을 간단하게 '처리한다'라고도 해요. 그래서 단순하게 말하면 아래와 같이 쓸 수 있어요.
입력 → 처리 → 출력
사람도 이런 식으로 살아가요. 밥을 먹고 (입력하고), 소화시키고 (처리하고), 배설하고 (출력하고) 살아가잖아요. 컴퓨터는 사람과 닮았어요. 컴퓨터는 사람을 모방해서 만든 기계예요. 그러니 컴퓨터가 어렵다고 괜히 겁먹을 이유가 없어요.
위의 네 가지 장치를 다 들고 다닐 수 있게 한 덩어리로 만든 컴퓨터도 있어요. 바로 노트북 notebook 컴퓨터예요. 해외에서는 무릎 위(lap)에 올려놓고 쓰는 컴퓨터라고 해서 랩톱 laptop 컴퓨터라고 불러요. 어떤 종류의 컴퓨터든지 위의 네 가지 장치만 모두 가지고 있으면 코딩을 할 수 있어요. 우리는 '코딩'을 통해서 정보를 입력하고, 계산하고, 저장하고, 출력해 볼 거예요.
저기... 스마트폰도 컴퓨터니까, 스마트폰으로도 코딩을 할 수 있나요?
물론이에요. 코딩은 '주로 키보드를 사용해서 컴퓨터에게 명령을 내리는 일'이라고 했지요? 코딩할 때 사람이 가장 먼저 만지게 되는 장치가 바로 키보드예요. 스마트폰은 키보드 대신 터치로 입력하니까 문자나 숫자를 입력하려면 조금, 아니 많이 불편하겠지요. 하지만 걱정 마세요. 컴퓨터에 연결하는 키보드나 마우스도 스마트폰에 연결해서 쓸 수 있으니까요.
두 번째로 필요한 것은 인터넷이에요.
코딩을 할 때 반드시 인터넷에 연결되어 있어야 하는 건 아니지만, 필요한 것을 컴퓨터에 설치하는 일이 잦으니까 인터넷이 없는 장소에서는 약간 불편할지도 몰라요.
세 번째는 '코딩 언어'예요.
코딩... 언어라고요?
예. 코딩은 '문자와 숫자를 사용해서 컴퓨터에게 명령을 내리는 일'이라고 했지요? 그리고 명령을 내리는데, 아무렇게나 문자를 쓰는 게 아니고 컴퓨터 안에 잘 정리된 수천 가지 명령어들을 알맞게 조합해서 명령을 내리는 거예요.
그런데, 원래 이 명령어들은 기계와 아주 가깝기 때문에, 다시 말하면 0과 1에 아주 가깝기 때문에 사람은 매우 매우 어려워해요. 그래서 사람이 쉽게 이해할 수 있도록, 암호에 가까운 명령어들을 사람의 언어와 비슷하게 다시 만들었어요. 이게 바로 '코딩 언어', 즉 '프로그래밍 언어'예요. 이 언어를 배워서 코딩을 하는 거지요.
프로그래밍 언어 programming language
이런 '코딩 언어'는 여러 가지 종류가 있어요. 사람의 언어도 한국어, 영어, 프랑스어, 일본어, 그리스어, 라틴어, 포르투갈어, 스페인어, 히브리어, 중국어, 아랍어 등등 7천 가지가 넘잖아요? 코딩용 언어도 꽤 많은 종류가 있답니다. 그중에서 우리는 파이썬 Python이라는 언어를 가지고 코딩을 시작해 볼 거예요.
'파이썬'이라는 언어는 컴퓨터에 설치해 놓고 아무 때나 쓸 수도 있지만, 설치하지 않고 인터넷에서 바로 쓸 수 있게 만든 아래와 같은 사이트도 있어요.
마지막으로 필요한 것은 배우려는 의지예요. 그 의지란 다른 말로 하면 '선입견을 내려놓는 노력'이지요. 처음에는 이해가 잘 안 되더라도 익숙해질 때까지 계속해서 받아들이는 과정이 필요해요. 키보드를 부담 없이 사용할 수 있도록 타이핑 연습을 하는 시간, 코딩 언어에 익숙해질 때까지 계속해서 입력해 보는 시간이 우선 필요합니다.
'왜'냐고 묻는 일은 익숙해진 다음에, 나중에 하는 것이 빠르게 기초를 배우는 방법이라고 생각합니다.