프로그래머가 되려면 수학과 과학을 잘해야 하나요?
안녕하세요. 저는 화이트해커를 꿈꾸고있는 중학생입니다.
저희 부모님께서는 프로그래밍을 잘하려면 수학과 과학을 잘 해야 한다고 하시는데 왜 잘해야하는지 잘 모르겠습니다. 만약 잘해야 한다면 어떤 부분에서 잘해야하는지 궁금합니다. 저는 사실 요즘은 컴퓨터가 계산을 다해주기 때문에 잘하지 않아도 생각하고 있는데, 저의 생각이 잘못됐다면 어느 부분이 잘못되었고 수학과 과학 말고도 잘해야하는 과목이 있는지 궁금합니다. 답변 해주신다면 감사하겠습니다.
안녕하세요.
컴퓨터가 물론 계산을 다 해주지만 컴퓨터가 계산할 수 있도록 사람이 로직을 생각해서 코딩을 해주어야 됩니다.
그럴려면 부모님이 말씀하신 것처럼 수학적 지식이나 과학적지식이 필요할 수 있습니다.
예를 들어 1부터 100까지 홀수의 합을 구한다고 할때.
1+3+5+ ~~~99 이렇게 하니씩 더하는 게 아니라.. 간단하게 1부터 100까지 2씩 늘려서 더하게 끔 몇 줄 안되는 코딩으로 로직으로 구현을 하는 식이죠.
이건 간단한 예이지만 실직적으로 복잡한 작업들이 많이 있습니다. 그런것을 할려면 수학적 지식이 필요한 거죠.
수학은 단순히 계산의 영역이 아니라 실생활에 중요한 부분들을 논리적으로 기술한 것이라 생각됩니다.(물론 그렇지 않은 분야도 수학분야도 있긴합니다.)
컴퓨터의 기본원리는 모두 수학적인 연산에 의해 이루어지고 있고 이를 이해하려면 적어도 고교과정까지는 이해해야 하지않나 싶습니다.컴퓨터 분야에서 다루는 암호학, 네트워크 이론, 알고리즘 등을 수학을 빼놓고 이야기하기가 더 어렵습니다. 두루두루 잘하면 좋지만 수학 과학 말고도 어떤분야로 나아가든 영어, 국어를 잘하면 도움이 됩니다.
현실적인 이야기로 넘어가면 (찾아보셨겠지만 ) 실력이 중요하다. 학력은 중요하지 않다. 학원다녀라 이런소리 많습니다.
수학/과학에 관심이 없던 사람이 컴퓨터는 열심히해서 뛰어난 해커가된다? 극히 희박한 확률이고, 그런사람은 성공사례로 TV에 나오는겁니다.
대부분 뭐든지 열심히하는사람이 잘하고, 수리적인사고를 잘하는사람이 컴퓨터도 빨리 배웁니다.
설령 컴퓨터만 잘하는 사람이 있다 치더라도, 그것을 증빙하기도 힘들고 일할 기회도 얻기 힘들거라고 생각됩니다.학업을 열심히하시고, 여유되시면 관련대회를 준비해보면 흥미를 갖는데 도움이 됩니다.
안녕하세요.
프로그래밍은 원래 혼자서 독학해야 하는 직종입니다. 대부분의 모르는 것들은 구글에 검색하면 다 나옵니다. 혼자서 독학하기에 좋은 프로그래밍 인강 사이트는 유료로 한다면 인프런 이라는 사이트가 있고 일단 맛보기라도 먼저 해보고 싶으시다면 생활코딩이라는 사이트를 접속하셔서 한 번 영상 훑어보시는 것도 좋습니다.
시작하기 좋은 프로그래밍언어는 nodejs 혹은 javascript, python 등이 있습니다. 만약 앱개발을 원하신다면 무조건 자바를 하셔야 합니다. 안드로이드가 자바기반으로 되어 있으며 코틀린 언어를 사용하셔도 됩니다.
현업에서는 C언어를 거의 사용하지 않습니다. 파이썬을 사용하는 부서는 있으며 주로 자바나 자바스크립트 nodejs 를 사용하는 부서가 가장 많습니다.
그 외의 프로그래밍이라면 html, css, javascript 등과 같은 것은 https://w3schools.com 에서도 충분히 학습하실 수 있습니다.
수학이나 과학을 잘하면 많은 도움이 됩니다.
특히나 알고리즘 같은 경우는 수학이나 과학을 잘 알면 좀더 효율적으로 코드를 만들 수 있습니다.
컴퓨터가 계산을 다해주지만 계산을 하는 방법은 개발자가 알려줘야 합니다.
컴퓨터는 어떠한 로직을 풀수 있는 것이라기 보다는 개발자가 프로그래밍 언어로 어떻게해서 로직을 풀면 된다는 것을 알려준다고 보면 이해가 빠릅니다.
컴퓨터는 정확하고 빠른 계산을 하지만 개발자가 잘못된 계산 방법을 알려주면 잘못된 방향으로 계산을 하기 때문에 어느 정도 기본 지식은 있어야 합니다.
프로그래밍을 잘하기 위해서는 수학이 어느정도 필요한 것은 맞습니다. 그러나 과학의 경우는 그렇게 중요하지 않은 것으로 알고 있으며
수학이 필요한 이유는 자료구조나 알고리즘에서 수학적인 지식이 꽤나 필요하기 때문입니다.
과학의 경우는 물리학이 어느정도 도움이 되는 것으로 알고 있으며 그 외 다른 과목의 경우는 크게 도움이 되지는 않는다고 합니다.
컴퓨터가 계산은 빠르게 해주지면 그 계산을 하기 위한 로직은 사람이 만들어야 됩니다.
예를 들어 날씨 예측 시뮬레이션같은 경우 그 날씨 예측하기 위한 공식을 사람이 만들어 줘야지 그 공식을 이용해서 컴퓨터가 계산을 하는 거거든요.
컴퓨터는 딱 시키는 것만 잘합니다. 그 시키기 것은 사람이 해줘야 되고 잘 시킬라면 무엇을 시켜야 되는지 잘 알아야 시킵니다.
추가적으로 필요한 과목은 영어입니다. 많은 프로그래밍 관련 문서들이 영어로 잘 정리되있고, 컴퓨터프로그래밍 언어 또한 영어를 중심으로 만들어졌습니다. 회화를 잘 할 필요는 없고 영어독해를 잘하신다면 크게 문제가 될건 없습니다.