어렵고 복잡한 문제를 해결하기 위해 필요한 프로그래밍(코딩
우리는 일상생활 속에서 거의 매일 사소한 문제들을 만납니다. 예전에는 이러한 문제들을 경험 있는 사람들에게 조언을 듣거나 그 문제와 관련된 책을 통해서 해결하곤 했습니다. 하지만 요즘은 인터넷 검색 등을 통해 문제를 훨씬 쉽게 해결합니다.
이처럼 사소한 문제들도 예전과는 달리 우리는 컴퓨터를 이용하여 문제를 해결하고 있습니다. 그런데 이보다 훨씬 복잡하고 어려운 문제들은 어떻게 해결할까요? 예를 들어, 교통신호 체계, 항공기 배치, 소비 패턴 분석, 유전자 지도 작성, 인터넷 뱅킹 시스템 등 정보기술과 과학의 발달로 인해 생긴 어려운 문제들은 어떻게 해결할까요? 우리 사람의 힘만으로 해결할 수 있을까요? 물론 해결할 수는 있을지 모르지만 많은 시간이 걸릴 것입니다. 우리는 이처럼 현대사회에서 날마다 일어나는 복잡하고 어려운 문제들을 컴퓨터의 파워, 즉 컴퓨팅을 통해 해결하기 시작했습니다.
예전에는 택시 타기가 무척 힘들다는 이야기를 많이 들었습니다. 또 택시 타기가 두렵다는 이야기도 있었습니다. 어렵게 택시를 기다리는 사람들이라면 누구든지 이런 생각을 해보았을 겁니다.
‘내가 필요할 때 내가 있는 곳으로 택시를 오게 했으면 좋겠다. 택시 기사는 친절한 사람이었으면 좋겠다.’
그런데 이 생각은 곧 현실이 되었습니다. 실시간으로 운행되는 택시의 위치 정보와 내 위치 정보가 공유되어 내가 부르면 곧 택시가 달려옵니다. 그리고 택시 기사의 신상이 내 스마트폰으로 전송되어 옵니다.
이제 어렵고 복잡한 모든 문제들이 컴퓨팅 사고와 프로그래밍을 통해 해결되고 있습니다.
누구든 프로그래밍을 통해 재미있는 게임을 만들 수 있어요
게임 재미있죠? 여러분도 게임을 직접 만들고 싶지 않나요? 혹 예전에 유행한 ‘벽돌 깨기’ 게임 들어 보셨나요? 오락실이 있던 시절 줄을 서서 하던 게임이었는데, 이 게임의 원래