-
2019-03-3120:06:16 #332139112학년학부모 73.***.147.46 2346
안녕하세요, 12학년 아이를 둔 학부모의 한 사람입니다.
제 아이가 예전부터 천체물리학을 전공하고 싶어해서 가장 어렵다고 소문난 AP과목인 AP Physics I과 AP Physics II도 택했었습니다. 하지만, 12학년에 올라와선 공부 잘하는 친한 친구들 대부분이 CS 전공으로 지원하는 것도 목격하고 자신의 직업과 미래에 관해 스스로 리서치해 보더니, 프로그래밍 경험이 전혀 없는데도 불구하고.결국 CS 전공으로 지원하더라구요. 인공지능에 관심있다고 하네요.
7개 대학 지원해서 여섯 대학에서 입학 허가를 받았습니다. 6개 중 3개로 줄이긴 했는데, 3개 중 하나를 선택하기가 어렵네요 – 비용도 비슷하고 CS 학과 순위도 큰 차이가 없어요. 그런데 제 아이가 각 대학교 사이트에 들어가서 첫 두 학기에 택하는 CS 입문 코스들을 비교해 보더니, 사용하는 컴퓨터 언어가 각각 다르다는 사실을 알아냈습니다. 제목과 같이 Python, Java, C++ 언어를 각 대학이 사용한다고 합니다.
프로그래밍 경험이 없는 제 아이가 어떤 언어로 시작하면 좋을까요?
아참, Python으로 시작하는 대학은 공대가 없어서 CS학과가 College of Arts and Sciences에 속해 있습니다. Java, C++로 시작하는 나머지 두 대학은 CS학과가 공대에 속해 있구요. 공대 여부가 중요한가요?
-
-
아뇨 둘다 전혀 중요하지 않습니다. 학교 이름 적어주시면 더 좋을 것 같은데요.
시작 언어 중요하지 않고요 어차피 나중가면 다 해야 합니다. 지금 파이썬 가르치는 학교도 몇년전에는 자바나 c++했을 겁니다.
그리고 컴싸가 공대에 있는 경우도 있고 일반대에 있는 경우도 있고 둘다 있는 경우도 있습니다.
추가: 제 생각에는 공대에 있느냐 다른 곳에 있느냐가 중요한 건 아닌 것 같습니다. 아이가 인공지능에 관심이 있다면 그외 다른 연관된 다른 학과 (통계학과나 수학과 또는 인지심리학과 등) 도 좋은지 한번 살펴보시는 게 오히려 더 나을 것 같습니다.
-
>>>지금 파이썬 가르치는 학교도 몇년전에는 자바나 c++했을 겁니다.
이 말씀은 자바나 c++는 예전에 인기있었지만 요즘에는 파이썬이 더 잘 사용된다는 뜻인가요?-
그런식으로 생각하시면 안됩니다.
분야에 따라 좀 달라지지만 세 언어 두루두루 잘 쓰입니다. 파이썬이 최근에 좀 더 주목 받고 있긴 했는데요. 그게 파이썬이 접근성이 좋아서 비전공자들이 들어오기 편하니까 인트로로 많이 들 가르치기 시작한거라고 보고요 (요새는 cs관련 융합이 많이들 활성화 되었으니까요). 그렇다고 전통적인 자바나 c++이 덜 쓰이는 건 전.혀. 아닙니다.
무튼 제 포인트는 어떤 언어로 시작하는 지를 가지고 학교를 판단하시는 건 좀 위험하다라고 말씀드리고 싶네요.
-
아, 그렇군요. 친절하게 설명해 주셔서 감사드립니다.
-
-
-
Bn님 추가 답변 방금 보았습니다. 조언하신대로 stat, math, cognitive psychology 등이 좋은지 대학마다 알아보겠습니다. 많은 도움이 되었습니다. 다시 한번 감사드립니다.
-
-
공대에 속해있는 두학교 중 선택하시는게 좋을 것 같아요
-
이유 몇 가지만 말씀해 주실 수 있나요?
취업시 공대 출신 CS 학생을 선호하나요? (College of Arts & Sciences 출신 CS 학생과 비교할 때)
-
-
자녀분이 알아서 잘 하실거라 생각하시면 그냥 자녀분이 알아서 하시는게 날거 같아요. 주변에 보면 컴퓨터싸이언스로 전공하고자 했어도 한학기도 안되서 다른 전공으로 바꾸는 친구들 많이 봤거든요. 어떤 언어를 사용해도 그 로직은 결국 똑같아서 자녀분이 컴퓨터 사인어스에 적성이 맞냐 안맞냐가 중요해요. 그리고 뭐 자바, 파이썬, c언어 등 언급하신 건 모두 기초언어라.. 어떤거부터 시작하냐는 중요하지 않을것 같네요
-
네, 잘 새겨 듣겠습니다. 솔직히 말해서, 아이가 스스로 알아서 하도록 내버려 두는게 부모도 편하고 아이도 편해요.
-
-
언어라는게 하나 배워두면 비슷비슷해서 무엇을 처음으로 배우느냐는 크게 중요하지 않습니다. 하지만 요즘 추세는 파이썬을 먼저 가르치는 것 같습니다. 아무래도 조금 더 쉽고 접근하기 쉬우니까요. 저는 C, 자바, 파이썬(독학) 순으로 공부했는데 기본 컨셉을 이해하니 비슷비슷해서 두번째 언어부터는 금방 배웠습니다.
-
답변 감사합니다. 제 아이 친구 중에 로봇 클럽에서 활동하는 리드 프로그래머가 있는데, 그 친구가 말하길 C++는 처음 배우는 언어로는 적합하지 않다고 했답니다. 파이썬이나 자바는 시작 언어로 배울 수 있는데 C++는 훨씬 더 복잡하다면서 약간 겁을 줬다는군요.
-
C++로 배워도 문제는 없지만, 기왕이면 쉬운 언어로 배우는 것이 흥미를 잃지않고 계속 할 수 있을 것 같습니다. 한국에서 C로 처음 프로그래밍 배웠는데, 몇몇 컨셉이 어려워서 많은 애들이 포기했었던 기억이 납니다. 인공지능에 관심이 있다고 하니 파이썬으로 시작하는게 저는 좋을 것 같다고 생각이듭니다.
-
파이썬 한 표 나왔네요. 사실 제 질문의 의도가 제 아이가 흥미를 잃거나 포기하지 않게 시작할 수 있는 쉽게 배울 수 있는 언어였습니다. 좋은 말씀 감사합니다.
-
-
-
-
자녀분이 수학적으로 감이 좋다면 파이썬 보다 자바나 씨쁠쁠을 추천드려요. 자료형이나 객체지향, 클래스 개념 등등 제대로 규모가 있는 프로잭트에 적합한 개념을 배우기엔 자바 씨쁠쁠이 좋습니다. 물론 학교 선택은 어떤 언어를 쓰느냐보다 주변에 취업 가능한 기업이 많은지와 대학원 규모, 학풍, 학부생애게 주어지는 연구 경험 등이 훨씬 중요하겠죠
-
조언해 주셔서 감사합니다. 파이썬으로 시작하는 (제 아이가 합격한) 대학에서 세 번째 학기에는 자바를 사용해 객체지향을 배운다고 하네요.
>>>학교 선택은 어떤 언어를 쓰느냐보다 주변에 취업 가능한 기업이 많은지와 대학원 규모, 학풍, 학부생애게 주어지는 연구 경험 등이 훨씬 중요하겠죠
질문이 하나 있습니다. “대학원 규모” 라고 하셨는데 어떤 관련이 있나요? (참고로, 제 아이는 학부 졸업하고 바로 취업을 원합니다)-
사실 전 주립대에서 7년간 CS101 TA를 했는데, 첫 프로그래밍 수업으로 자바와 파이썬을 가르쳐 봤습니다. 개인적으로 느끼기에 자바를 배우는 학생들이 소프트웨어 엔지니어링에 대한 기본 개념들을 더 착실히 배울 수 있어 보였습니다. 상대적으로 파이썬은 quick-and-dirty로 일단 돌아가는 걸 만들게 되서, 아무래도 CS보다는 다른 분야의 학생들에게 첫 언어로 더 적합하다고 생각합니다.
인공지능을 하고 싶다면 대학원의 역할은 매우 중요하다고 생각합니다. 학생의 관심사야 계속 변하겠지만, 인공지능/데이터 사이언스 쪽에서는 연구 경험이 있는 석사 학위가 꽤 먹어 줍니다. 학부생이 인공지능 전문으로 취업하기는 아직 쉽지 않습니다. 대학원이 크고 연구 활동이 활발한 곳에서는 학부생들에게도 랩 프로젝트에 참여할 기회가 많고, 그런 경력과 경험이 인공지능 분야에서는 도움이 될 것 같습니다.
-
대학원의 역할이 그런 장점이 있군요. 제가 미처 몰랐던 사실들에 대한 경험담 들려주셔서 감사합니다.
-
-
-
-
현재 미국대학 컴사에서 티칭중인 1인입니다.
언어 크게 상관 없습니다. 큰 결정 하는데 사소한것에 너무 매이지 마세요.
개인적으로 차라리 소위 ‘어려운’ 언어로 처음부터 가르치는 학교가 더 낫다고 생각합니다. 이유는:
1. 어려우면 님 자제분만 어려운게 아니라 전부 다한테 어렵습니다. 이렇게 박터지게 해야 남는게 있고, 이게 적성에 맞나 안맞나 미리 알게 됩니다. 어려운 과목 열심히 잘해서 에이 쉽게 받을 수 있고, 쉬운 과목 시키는거만 했다가 에이 못받을 수 있다는 함정이 있습니다.
2. 학부제 탑 대학들은 1,2학년 컴사 과목들 일부러 터프하게 하는 경향이 있습니다. 이런 대학들은 아쉬울게 없으니, 쓸데없이 친절할 필요 없고, 현실직시 과감하게 도전을 시킵니다. 이런대학들 1학년 프로젝트 보먼 어처구니 없을 정도로 어렵습니다. 도전 시키고 걸러내는거죠. 반대로 좀 그런그런 대학들은 하향 평준, 학생 정신건강 따위 신경쓰는데, 이런데 가면 졸업후 벽이 크고, 진로 폭이 넓지 않습니다.
3. 컴퓨터 시스템 (운영체제,아키텍쳐) 과목들, 그리고 더 나아가 졸업해서 좋은 회사에 중요한 기술직 포지션에 들어가려면 결국 언어가 아니라 시스템 지식이 결정합니다. 파이선, 시샵 등등 언어들은 일단 배우기 쉽고, 버그가 없는 것 같은 프로그램을을 짜게끔 하지만, 나중에 threading, concurrency, memory ordering/consistency, I/O strategy, crash recovery, high availability strategy, virtualization 등등 큰 회사 big data/cloud infrastructure 효율 (== $$$) 과 직결된 문제들을 이해하거나 풀려면, C/C++ 그리고 x86 또는 ARM ISA 의 이해가 필수입니다.
4. 파이선이나 시샾등 언어들이 ‘쉽다’라는게, 이런 언어들이 메모리 할당 등 귀찮은 문제들을 자동으로 ‘알아서’ 해결해 주기 때문인데, 함정은 이런 언어로만 배우면 실제로 어떤 과정을 거쳐서 그 밑으로 기계가 어떤 메카니즘으로 문제를 대신 해결해 주는지 완전히 이해를 못하고 대충 넘어가게 됩니다.
시스템의 완전한 이해가 있는 상황에서 이런 언어를 쓰면 편하기 그지 없습니다. C로 1000줄 걸릴거 10줄이면 해결할 수 있죠. 하지만, 잘 모르는 학생들이 이런 언어로 구현해놓은거 보면, 시스템 이해 부족으로 말도안되는 코드를 작성한경우가 많습니다. 어떻게든 돌아는 가는데, 형편없이 비효율적으로 돌아가는거죠. 차라리 C나 C++처럼 잘 모르고 이상하게 짜면, 메모리 버그로 벌렁 뒤집어 지게 하는게 배울때 오히려 좋다라고 생각합니다. (하지만 1학년 프로그래밍 과목서 C, C++로 해서 버쳘 어드레스, 포인터, 그리고 이렇게 하면 안된다는거 잔뜩 설명하고나면 한학기 훌렁 가버립니다).5. C/C++ 잘 하면, 다른 언어 배우는건 쉽습니다. 그런데 python에서 C/C++배우는건 어렵습니다. 문법이 어려워서가 아니라, python배울때 대충 넘어간 시스템 지식들이 필요해서 그런거죠.
추가: 물리를 좋아한다니, 지적 호기심이 큰 것 같습니다. 이게 왜 그런건지 궁금해 하는거죠. 그런 측면에서 python이나 Java보다 C/ C++ 심지어 Assembly가 적성에 더 잘 맞을 것 같습니다.
-
자세한 설명 감사드립니다. 정말 많은 도움되었습니다. 특히 2번은 상상도 못 했던 내용이네요.
-
-
전 갠적인 경험으로 씨플보단 자바 추천합니다. Oop 같은 개념은 자바로도 충분히 배울수 있고 취업이 목표면 같은 면접 문제도 자바로 푸는게 훨씬 쉬움.
-
추천 감사합니다. 제가 보기에도 자바가 best of both worlds 같네요.
-
-
“C++는 처음 배우는 언어로는 적합하지 않다고 했답니다.”
동감입니다. 어셈블리나 씨++을 첫학기 프레쉬맨한테 가르치는 학교도 있나요? 있으면 미친 학굡니다. 교수가 워낙 학생들 기죽여 자살하게 만들려면 몰라도.
-
프레쉬맨 가을학기에 CS 컨셉 택하고 겨울학기와 봄학기에 CS입문 코스에서 C++을 사용합니다.
-
미국 컴사 학부 커리큘럼 대개 1-2학년 필수로 어셈블리(랩)+컴조직 있습니다. 이게 3-4학년때 운영체제/아키텍쳐/(고급)컴파일러로 이어집니다.
-
-
어차피 3학년정도 가면 이거저거 다 섭렵합니다.
그리고
학교와 사는곳을 밝혀야 제대로 판단들을하지
지금정보로는 다 소나무 한그루만 바라보게하는 질문같네요. -
다시 댓글 달아보자면 윗 댓글중 “언어 크게 상관 없습니다. 큰 결정 하는데 사소한것에 너무 매이지 마세요.” 에 공감합니다.
원글에 적힌 두가지 다 결정에 영향을 주지 않아야 하는 팩터리고 생각합니다. 자바가 좋을 것 같다고 자바 가르치는 학교 보내는 건 정말 말도 안되는 일입니다.
대학원. 다른과. 그래도 너무 비슷하면 차라리 네임밸류나 학교 전체 퀄리티를 보세요.
-
네, 많은 분들이 언급하셔서 이미 새겨 들었습니다 — “언어 크게 상관 없습니다. 큰 결정 하는데 사소한것에 너무 매이지 마세요.”
오늘 여러분 댓글에서 많은 도움을 받으면서 제 아이와 반나절 동안 얘기를 했는데, 제 아이의 마음이 C++를 1학년 때 배우는 대학으로 거의 결정 난 것 같습니다. 어렵겠지만 열심히 공부해서 도전해 보겠다네요. 이 대학이 Bn님께서 말씀하신 네임밸류나 학교 전체 퀄리티가 세 학교 중 가장 좋은 편입니다.
-
-
파이썬부터 하면 spoil됩니다
입문이 쉽다고 파이썬부터 시작하라고 추천하는 분들이 많은데 전 반대입니다.
자바 또는 C++부터 시작하세요.
자바,c++에서 파이썬 가는건 쉽지만
반대로 가는건 어렵습니다.아 물론 자녀분이 프로그래밍이 적성에 맞다면 어느쪽으로 시작하든 상관없겠죠
재밌으면 뭐든지 잘 배웁니다 -
저 개인적으로 공대과정이 있는 학교를 추천합니다. 공대가 있다는건 그만큼 순수 사이언스 과정보다 프랙티칼한 접근을 하는 엔지니어링적 마인드셑을 처음부터 키울수 있으니까요. CS과정만 있는 학교라면 순수학문이 싫은 학생들은 컴퓨터 관련 다른 전공을 선택할 옵션이 없다고 봐야.
-
순서는 C 한달 (포인터 개념 잡고) –> C++ class 개념 (한달, 포인터 복습 겸) 두달 정도, C와 C++ 배우면서 메모리 개념 잡으면, 나머지 언어는 그냥 식은 죽 먹기임… 자바나, C# , 파이썬 그냥 아무거나 잡고 배워도 되요…
-
대학선택이 핵심이면 대학이름을 적어요.
-
아이가 탑 cs 졸업 예정입니다. 초음에 Python로 배우더니 자바같은 걸 많이하고 c++은 한번도 안다루더군요 저는 임베디드쪽 엔지니어라서 c++ 은 기본으로꼭하라고했다가 꼰데가 되버렸고요. 처음에는 도와주다가 머리 아퍼서 포기… 이제 별 도움이 안되는 엔지니어 아빠입니다. 컴사도 분야가 많아 정답은 없읍니다. 뭘해도 되고 필요하면 그 때가서 배워도 안늦습니다.
-
Python numpy는 matlab같이 matrix calculation을 쉽게 할 수 있는 prototype language라 syntax나 index match에 시간낭비를 줄이고 이론을 바로바로 더 쉽게 구현할 수 있으니 많이들 씁니다. 안그러면 AI module들이 다 성능좋은 C++부터 나왔겠죠. 하지만 대부분 Python부터 나옵니다.
-