본문 바로가기

카테고리 없음

[코딩 마스터] 시작

코딩을 잘하려면 어떻게 해야 할까?

일단 행복하자! 행복하지 않으면 무슨 의미가 있을까 아는 것이 많아도 맨날 밤새워서 밥먹듯이 실수하면 이게 무슨 의미가 있을까.

 

1. 그림으로 이해하기

무언가를 단순화하는 것은 굉장히 중요하다. 마치 로드맵을 머리에 그리듯이 어떤 일이 일어나는지 한눈에 파악하는 효과가 있다.

2. 계속 배우기

계속해서 새로운 버전이 나오고 대체된다. 암튼 그렇다.

3. 알고리즘

프로그래밍은 문제를 해결하는 방법을 자동화하는 것이다. 알고리즘만큼 사고력을 키울 수 있는 좋은 방법이 없다.

내가 또 수학은 좋아했잖아. 그 재능 살려야지

4. 데이터를 믿기

어쩌면 계속해서 수능에서 수험생들에게 배양하고자 하는 능력이 이거라고 생각한다. 과탐 과목에서 익숙해 보이는 그래프를 주고 x축과 y축을 바꾸어서 문제를 낸다던지 하는 식이다. 수능 공부할 때는 이런 사고방식에 익숙해졌다가 점점 서툴러지는 것 같다.

언제는 이렇게 하면 이렇게 된다는 지식을 믿고 충분히 검증해보지 않고 결과를 낸 적이 있다. 큰 실수였고 부끄러웠다.

이게 내가 자주 하는 실수다.

예를 들어 기출문제에서 그런 문제가 나왔다면 검증해 봤을 건데 연습문제에서 나온 문제여서 간단한 문제겠지 생각하고 풀었는데 틀렸다. 문제를 푸는데 예제니까 간단한 문제겠지 생각하고 정답을 낸게 도대체 무슨 경우일까 이 때도 부끄러웠다. 

무언가 결과를 낼 때 충분히 생각해보고 하기. 

5. 직관

문제를 이해하기 위해서도 하드코딩은 필요하지만 문제를 풀 때도 종종 효과적인 접근법이 된다.

6. 의사코드 활용

코드를 짤 때 처음부터 세부적인 내용을 생각하면 힘들다.

말로 표현해도 좋고 의사코드를 작성해도 좋다.

 

사람은 실수로부터 배운다.

실수는 아프지만 실수를 계기로 많이 배우는 것도 많다. 정말 많다.