프로그래밍 사고력의 중요성
프로그래밍을 할때는 뭐든 이유를 대야한다.
사람은 어떠한 질문을 받을 때 직관적이다. 컴퓨터는 안다와 모른다를 동작하기 위해 컴퓨터에 저장된 데이터를 다 찾아봐야 한다.
사람과 컴퓨터가 어떻게 다른지 알자.
사람은 무의식적으로 행동한다. 컴퓨터에 명령을 내리려면 명확한 절차와 순서를 알려줘야한다.
ex) 퇴근길에 무의식적으로 집에 도착하는것 , 컴퓨터는 무의식으로 행동하지않는다. 100m 전진하고 좌회전해서 50m 가고… 이런 정확한 명령을 내려줘야한다.
ex) 사람은 숨을 쉴때 무의식적으로 쉰다. 컴퓨터는 의식적으로 들이쉬고 내쉬고 들이쉬고 내쉬고… 이렇게 해야한다고 생각하면 좋다. 안그러면 컴퓨터는 죽는다.
프로그래밍이 어려운 이유는 사람이라면 무의식에 맡겨서 할 수 있는거를 컴퓨터한테는 일일이 다 알려줘야 한다. 그래서 프로그래밍은 귀찮기도 하다.
사람과 컴퓨터의 차이점을 정확히 이해해야 프로그래밍을 잘 할 수 있다.
컴퓨터의 입장에서 생각해라. (프로그래밍 사고)
프로그래밍 사고력 기르는 방법
- 순서도 그리기
대기업 코테, 알고리즘
- 순서도를 잘 그려야하고, 효율적으로 최적화도 해야한다.
<제로초님의 생각>
Q. 프로그래밍을 계속 훈련하면 직관적으로 할 수 있나요??
A. 프로그래밍은 직관은 아니라고 생각한다. 프로그래밍을 계속 하다보면 나도 모르게 습관처럼 코드가 튀어나올때가 있는데, 직관 이라기 보다는 기억하는거라고 생각한다. 프로그래밍을 계속 하다보면 패턴이라는게 생긴다. 그거를 디자인 패턴이라 부르는데, 프로그래밍도 내가 외웠던 공식에 맞춰서 푸는 경우가 많다. 실제로 코딩테스트도 공식들을 많이 알고 있으면 잘 풀리는게 있다. 순서도를 처음부터 차근차근 짜는게 아니라, 순서도를 공식처럼 외우고 그 문제를 끼워맞춰서 푸는 그런 꼼수같은게 가능하기 때문에 그런게 알고리즘 푸는 스킬이다. 그래서 직관적이라고 하는게 정확한지는 모르겠고, 순서도를 공식처럼 외워서 코딩 할 수는 있다.
순서도 그리는 방법
시작과 끝 - 두 겹의원
일반 절차 - 타원
다음 절차로 가는 흐름 - 화살표
특수한 상황(대기, 이벤트 발생) - 줄 두겹 사각형
판단(분기) 절차 - 마름모
순서도를 얼마나 정확하게 그리느냐에 따라서 우리의 프로그램이 잘 작동하냐 마냐가 결정된다.
그리고 순서도를 얼마나 효율적으로 그리느냐에 따라서 우리의 프로그램의 성능을 결정한다.
'강의 정리 > 제로초 자바스크립트' 카테고리의 다른 글
🔖 2-2. 문자열 기본 (따옴표,백틱,typeof,escape) (0) | 2023.02.27 |
---|---|
🔖 2-1. 세미콜론, 주석, 들여쓰기 (0) | 2023.02.27 |
🔖 1-3. 첫 자바스크립트 코드 실행하기 (0) | 2023.02.27 |
🔖 1-2. VS Code와 크롬 설치하기 (0) | 2023.02.27 |
🔖 1-1. 자바스크립트 입문자들께 드리는 말씀 (0) | 2023.02.27 |