ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 코딩 배우지 말고 생각하는 법을 배우라는데요
    ETC 2021. 7. 9. 17:30

    https://www.ybrikman.com/writing/2014/05/19/dont-learn-to-code-learn-to-think/#comments

     

    Don't learn to code. Learn to think.

    It seems like everyone is trying to learn to code: Code.org has celebrities like Bill Gates, Mark Zuckerberg, and Chris Bosh telling you anyone can code; CoderDojo's are springing up all over the country; the UK has made it part of their official curriculu

    www.ybrikman.com

    오늘은 한 번 외국 문서 번역을 해 보았다. 

    한국인이 쓴 코딩 잘하는 법에 대한 글이 많은데도 외국문서를 보는걸 택한 이유는

     

    1. 일단 영어공부를 위해서

    2. 그리고 외국문서가 질 좋은게 많다는 먼저 가고 계신 개발자들의 입김에 힘입어서 결정했다.

      - 아직 코드 몇줄 끄적거리는 애기라서 내 수준에서는 한국문서도 좋은게 많지만 상위 단계로 가면 외국 문서가 좋은게 많나보다. 

     

    사담: 솔직히 요즘은 번역기가 너무 발달되서 전체 번역기 돌리고 어색한 부분만 원문 찾아서 보면 되서 독해를 위한 영어공부보다는 키워드 검색을 위한 키워드 영어단어 습득이 중요한 것 같다.(파파고 짱)

     

    본문 요약: 단순히 코딩 하는 법을 가르치지 말고 생각하는 법을 먼저 가르쳐라. 즉 컴퓨터 사이언스에 대해 가르쳐라. 그 다음 프로그래밍을 가르쳐라.

    -> 기승전 cs. 경험이 없는 나한테는 아직 cs 지식이 취업할때 필요한걸 제외하고 어떤 상황에서 빛을 발하는지 잘 모른다. 프론트엔드 개발자한테도 필요한지 의문이다. 물론 나같은 생초짜 개발자의 생각이고 고정관념 부서질 정도로 얻어맞으면서 공부하다 보면 알게 될 것 같다.

     

    본문 내용


    모든 사람들이 코딩 배우려고 하는 것 같다. Code.org에서 활동하는 빌게이츠같은 셀럽들은 누구나 코딩을 할 수 있다고 말하며 수많은 무료 코딩 교육 사이트들이 활개를 치고 있다. 영국은 모든 등급의 학생들에게 코딩교육을 공식 커리큘럼으로 지정했다.

     

    나는 이게 좀 잘못 가이드 된 것 같다고 생각한다. 오해마라. 나는 모든 사람들이 코딩에 대해 친숙해지게 되면 세상은 더 나아질거라고 생각한다. 하지만 코딩 그자체가 목표가 되면 안된다. 컴퓨터와 프로그래밍은 그냥 도구일 뿐이다. 이것들은 그냥 결국 도구다.

     

    진짜 목표는 사람들이 새로운 방법으로 생각하기를 가르치는 것이어야 한다. 즉 우리는 단순히 코딩이 아니라 컴퓨터 사이언스를 가르쳐야 한다.

     

    우리가 살면서 사용하는 모든 기술들은 소프트웨어로부터 작동된다. 우리는 코드로 둘러싸여 있다. 그리고 그 코드의 양은 미래에 더 증가할 것이다. 하지만 그 기술이 어디에나 있는 상황이 그걸 학교에서 배워야 함을 의미하지 않는다. 예를 들어, 우리는 모두 비행기를 타지만, 파일럿 자격증을 따는게 초등교육과정에 없는 것과 같다.

     

    하지만 비행하는 것에 대해 생각하는 법을 알려주는 과정은 커리큘럼에 있다.

    1. 물리학과 수학은 당신이 중력, 힘, 압력, 속도, 마찰, 상승을 이해하는데 도움이 된다.

    2. 생물학은 사람의 몸이 높은 고도, 제한된 산소, 극도의 추위에 어떻게 반응하는지를 가르쳐 준다.

    3. 역사는 비행기가 어떻게 개발되었으며, 어떤 식으로 진화했고, 여행,산업,전쟁에서 어떤 역할이었는지를 가르쳐 준다.

     

    고등학교를 졸업하게 되면 학생들은 비행기가 뭔지, 어떻게 작동하는지, 어떻게 하면 안전하게 이용하는지를 알게 된다. 물리학, 수학, 생물학, 역사같은 수업의 일반적인 목적은 비행기같은 다양한 넓고 다양한 주제로 설명할 수 있는 토픽에 대해 생각하는 법을 가르쳐 준다.

    이것은 여객기같은 비행기 중의 특정한 타입이 어떤 방식으로 날 수 있는지를 가르치는, 마치 툴 사용법을 가르치는 수업과는 대조적이다.

    그래서 생각하는 법을 기르려면 컴퓨터 사이언스를 배워야 한다.

     

    컴퓨터사이언스가 뭔가요?

    computer sciencecomputation에 관한 연구로, 정보를 처리하고 나타내는 방법이다. 아래에 너가 공부할만한 개념이 몇 가지 있다.

     

    1. Problem solving: 알고리즘을 배우게 될거다. divide and conquer, recursion, heuristics, greedy search, randomized algorithms같은 일반적인 전략들은 모델링,분해, 문제해결에 도움을 줄거다.(세상에서 가장 어려운 문서가 위키피디아인것 같다)

     

    2. Logic: 정확하고 형식적인 사고 방식을 사용할거다. abstraction, boolean logic, number theory, set theory같은 것들이 있다. 그래서 문제를 풀 때 엄격한 태도로 풀 수 있게 된다.

     

    3. Data: information theory 분야도 건들게 되면서 정보가 뭐지? 어떻게 표현하지? 현실세계를 어떻게 모델링하지? 같은 질문을 하게 될 것이다.

     

    4. Systems: 많은 요구사항과 제약조건들을 만족하는 복잡한 시스템을 어떻게 디자인하고 빌드할 것인가? Systems engineering은 거의 모든 비즈니스에서 매우 중요한 주제다.

     

    5. Thinking: 인간의 마음을 가장 잘 이해하는 방법 중 하나는 인간의 마음을 복제하는 것이다. artificial intelligence, machine learning, computer vision, natural language processing같은 주제들은 컴퓨터 사이언스 뿐 아니라 생물학, 심리학, 철학, 수학의 최전선에 있다.

     

    이런것들을 배우면서 생각하는 법을 배우게 되는데, 생각만으로는 충분하지 않다. 생각을 적용하는 법도 배워야 한다. 물리학에서 실험하고 생물학에서 식물, 페트리접시, 튜브관 사용하는데 컴퓨터사이언스에서는 그게 바로 프로그래밍이다.

     

    컴퓨터 사이언스를 배우는 과정에 프로그래밍을 넣으면 여러 이점이 있다.

    1. DIY: 코드를 짤 수 있다면, 혼자서 만들고 싶은걸 만들 수 있다. 간단히 시작할 수 있다. 여행사진들 이름 바꿔주는 스크립트나 세금계산해주는 엑셀 공식 같은것들 만들기. 

    2. Troubleshotting: 혼자서 몇가지 앱을 만들게 되면 다른앱을 알아내는 것이 쉬워진다. 컴퓨터에 대한 두려움이 사라지면 당신은 tech support의 마스터가 될 것이다. 탐색하는 법을 아는 것은 읽는 법을 아는 것 만큼이나 중요해질 것이다.

     

    요약하자면:

    1. Computer science는 새로운 사고방식이다. 그 안에 속한 개념들은 기술로 가득찬 세상에서 모든 사람에게 유용하다.

    2. Programming은 새로운 사고방식을 적용함으로써 컴퓨터 사이언스를 배우게 되는 아주 필수적인 파트다. 하지만 프로그래밍 자체는 일반적인 목적과는 거리가 멀다.

     


    진지하게 개발자가 되고싶은 학생이나 학생을 가르치는 선생님들이 읽으면 좋을 것 같다.

    그리고 여러 무료 외국 코딩교육 사이트에서 cs를 가르치지 않고 코딩해서 작은거 하나 만들어보는걸 먼저 가르치는 이유는 20세 미만 학생들이 코딩에 흥미를 갖도록 하기 위함이 아닌가 싶다.

    코딩을 배우려는 수요가 많기에 여러 사이트들이 생기고 그들은 cs를 배우려고 사이트에 방문한게 아니라 만들어보고 싶다는 생각 때문에 방문했고, 그렇기에 소비자의 니즈에 맞춰서 cs보다는 단순코딩을 가르치는 교육사이트가 많다는 생각.(물론 생활코딩같은 사이트 제외하고 본문에서 말하는 사이트들 이야기)

    마치 무료서비스로 시작한 서비스들이 조금씩 구독료를 받게 되거나 광고를 달기 시작하는 것 처럼 프로프래밍도 흥미좀 가지게 하다가 본격적으로 cs라든지 유료 강의들 많이 생기기 시작했다. 처음부터 엔트로피가 높을수는 없다.

     

    먼저 높은 곳에 다다른 사람이 보기에는 저기에 오아시스가 있다고 말할 수 있겠지만 밑에 사람들은 그걸 볼 수 없다: 백날 cs 배우라고 해봤자 안할 사람은 안한다. 아무리 엄마가 잔소리 해봤자 아이들은 듣지 않고 커서 알게된다. 나는 머리로는 cs공부의 필요성을 인지하고 있지만 마음으로는 아직 아니라서 공부할때 부스팅이 잘 안 될것 같다. 스스로 깨달아야하는데.

     

    극도의 천재들은 엄청난 호기심을 가지고 코딩을 하다가도 스스로 cs로 파고들어 가면서 뛰어난 개발자가 되겠지만 그들을 돕기 위한 개발자도 있어야 하므로 앞으로 더 커질 시장에 대비할 수 있도록 절대적인 인력풀을 늘리기 위해서 빌게이츠라던지 여러 셀럽들이 코딩을 홍보하고 다니는것 같다는 생각도 든다.

     

    그러면 나는 어떻게 할 것이냐: 프로그래밍, cs 둘다 챙기는 욕심쟁이 루트를 타겠다. cs공부 할 생각에 마음이 편치 않은걸 보아하니 나는 호기심이 나를 이끄는 미친 천재 개발자같은 타입은 아닌것 같다.

     

     

Designed by Tistory.