01. 개발자
세상의 문제를 코딩으로 해결하는 사람
- 현실 세계에 있는 사람들의 문제와 불편을 분석하고 발견
- 문제와 불편을 다양한 방향과 관점으로 정의하고 구조화
- 논리적이며 순차적으로 해결할 수 있도록 커다란 문제를 작게 쪼개어 분석하고 해체
- 지금의 문제가 과거에 해결된 문제들과 어떻게 연결되거나 연관이 있는지 패턴을 이해
- 문제 해결과 전혀 무관한 절차나 과정은 무시하거나 제외하고 접근
- 문제를 빠르고 효과적으로 해결할 수 있는 방법이나 공식을 개발하거나 정의하는 알고리즘을 개발
- 일련의 체계화되고 구조화되며 순차적이며 몇 개의 대안 중에서 하나를 선택하는 시나리오 (선택적인 경우의 수에 따른 서로 다른 경로들을 모은 것) 적 사고방식으로 접근
- 후에 이를 기계가 이해하고 실행할 수 있는 언어로 만들기 위한 코딩 능력
- 개발자는 컴퓨터 언어 뿐만 아니라, 수식화, 구조화, 패턴화, 알고리즘 개발, 시나리오 개발, 최적화 능력, 문제 해결력, 창의력, 협업능력 등이 필요
= 컴퓨팅 사고
컴퓨팅 사고
컴퓨터가 효과적으로 일을 수행할 수 있도록 문제를 정의하고 이에 대한 답을 기술하는 것이 포함된 사고 과정 일체
컴퓨팅 사고 = 컴퓨터가 알아먹는 방법으로 사고하는 것 (컴퓨터가 되자 💻🤖🦾)
ex) 인형 뽑기
사람의 방법
- 인형뽑기 기계를 본다
- 달려간다
- 천원을 넣는다
- 천원을 잃는다
기계의 방법
- 레버를 오른쪽으로 움직인다
- 레버를 뒤쪽으로 움직인다
- 선택 버튼을 누른다
- 집게가 인형에 제대로 걸렸는가?
- 뽑기 성공 or 실패
→ 하지만 얘도 부족하다
개발자 사고 방식
- 순차 : 위에서 아래로
- 분기 : if문 (조건문)
- 반복 : for문 (반복문)
프로그래밍은 이 세 가지로 이루어진다.
컴퓨팅 사고 = 문제 해결 능력
- 문제를 이해하고
- 작게 분해해서
- 어떻게 해결할지 생각하자
문제 해결 능력을 키우려면
- 학습량 : 고차원적인 생각을 하려면 그에 맞는 기반 지식이 필요하다
- 검색
- 생각 먼저