[TIL] 4. 컴퓨팅 사고란?(feat. Flow Chart)

이태권 (Taekwon Lee)·2022년 5월 26일
0
post-thumbnail

개발자?

개발자에 대한 이미지

개발자란 무엇일까? 추상적으로 컴퓨터를 보며 일하는 사람으로 그려지기만 했지, 깊게 생각해 본 적이 없다. 그저 코딩만 잘하는 사람일까? 그건 아닌 것 같다. 그러면 개발자는 도대체 무엇일까?

개발자는 무엇인가

개발자를 한 마디로 요약하면, 아래와 같다

세상의 추상적인 문제를, 코딩을 통해 프로그램으로 구현하여 구체적인 해결책을 찾는 사람

단순히 프로그래밍 언어를 구사한다고 해서 단순히 개발자라고 할 수는 없을 것이다. 코딩은 그저 사람과 컴퓨터가 알아 듣기 위한 중간 다리를 역할을 할 뿐이다. 따라서 개발자는 문제를 해결하려는 사고가 필요하다. 그 사고가 바로 컴퓨팅 사고(computational thinking)이다!


컴퓨팅 사고?

컴퓨팅 사고는 무엇인가

그렇다면 도대체 컴퓨팅 사고가 무엇일까? 이는 아래처럼 한 마디로 요약해 볼 수 있다.

컴퓨터의 효과적인 수행을 위해 문제를 정의하고 그에 대하여 기술하는 것

쉽게 말해, 컴퓨터의 입장에서 문제를 해결하는 능력이라 할 수 있다.

개발자는 결국 구체적인 프로그램을 만들어야 하고, 이는 컴퓨터를 통해 실현시킬 수 있다. 따라서 컴퓨터의 입장에서 사고를 해야 구체적인 해결책을 마련할 수 있다.

컴퓨팅 사고 = 문제 해결 능력 but HOW?

그렇다면 문제 해결 능력을 어떻게 할 수 있고, 어떻게 기를 수 있을까?

What is 문제 해결 능력?

문제 해결 능력은 크게 3단계로 나뉠 수 있다.

  • 문제를 이해한다 - 문제를 분해한다 - 각 문제를 어떻게 해결할지 고민한다
  • 개발자는 여기에 더해 컴퓨터가 알아 듣도록 코딩으로 구현한다는 과정이 추가될 것이다.

How to improve 문제 해결 능력?

  1. 학습량: 우선 프로그래밍 언어나 컴퓨터 과학에 대한 기본적인 지식을 알아야 할 것이다. 이것은 다다익선이다.
  2. 검색하기: 모르는 게 있으면 구글과 같은 검색 엔진으로 검색해야 한다. 잘 검색하는 것도 배워야 할 대상이다.
  3. 생각을 먼저하기: 단순히 에디터에 코딩을 먼저 친다고 해서 문제가 해결 되지 않는다. 위와 같은 문제 해결 능력 3단계를 먼저 생각하면서 큰 틀을 그려 나가야 한다.

컴퓨팅 사고를 위한 흐름도(flow chart)

컴퓨팅 사고를 인간의 입장에서 시각적으로 구현하는 것이 흐름도(flow chart, 이하 flow chart라 씀)이다.

(문제) 로그인 화면을 위한 flow chart 그려 보기

아래는 인스타그램 홈페이지 로그인 화면이다. 홈페이지에 로그인 하려면 컴퓨터 입장에서 어떻게 해야 할까? 여기에 추가적인 조건을 넣어서 흐름도를 그려 보자.

  • 아래 이미지를 보면 이메일과 비밀번호란이 비어 있어서 로그인 버튼이 비활성화 되어 있습니다.
  • 사용자는 계속해서 멈추지 않고 이메일 혹은 비밀번호를 입력합니다.(백스페이스를 눌러 지울 수도 있습니다).
  • 사용자가 입력한 이메일과 비밀번호를 조건을 모두 만족할 때만 로그인 버튼이 활성화됩니다.
    1. 이메일 조건 : @가 포함되어 있을 것
    2. 비밀번호 조건 : 8자 이상일 것

(출처: instagram)

내가 그려 본 flow chart

참고자료

(브런치 by 심재우 에스비컨설팅 맘퀘스천 대표) 코딩 실력보다 컴퓨터적 사고 능력이 더 중요하다

(EO YouTube) 배달의민족 CEO에게 뽑고 싶은 개발자를 물어보았다

(인스타그램) 홈페이지 로그인 화면

(네이버 지식백과 - IT용어 사전 - 컴퓨팅 사고

profile
(Backend Dev.) One step at a time

0개의 댓글