학교 프로그래밍 수업에서 설계라는 부분은 잘 다루어주지 않네요.

expectedtime의 이미지

저는 대학원생이고 현재 프로그래밍에 관련된 강의 조교를 하고있니다.

입학하고 나서 이때까지 들은 수업들은 모두, 이 언어에어서

이건 이렇게 쓰는 기능이니 이럴때는 이렇게 쓰면 된다라고만 배워온거 같네요.

솔직히 제 입장에서는 이러한 부분은 문서를 던져주고 너희가 필요한건 여기다

있으니 여기서 찾는게 지금이나 나중에 직접 개발할때도 도움이 될거다 라고 했으면 좋겠네요.

차라리 프로그램을 만들때 이런 언어는 어떤 부분에서 개발하기 용이하고 불편하니

설계할때 이런 점을 고려해서 설계해야 한다고 설명해 주는 수업이었으면 하네요.


저희 학교만 그런줄 알았는데, 교류학생으로 타학교를 가도 모든 수업이 비슷하다는걸

보고 뭔가 이상한거 같았어요.

어차피 문법은 익숙해지면 문서가 없어서 알아서 하거나 유추할수 있을텐데,

정작 중요한 설계를 경시하는게 참 안타까우네요. 저만 이렇게 생각하는 걸까요...

ps. 오늘 2시간 짜리 프로그래밍 실습 시험을 보는데, 문제가 나오자 마자 일단 코딩부터

시작하는 후배들이 태반이여서 좀 그렇네요. 저는 능력이 안되서 설계하는 데에만도 시간이

많이 걸릴꺼 같은데 ㅋ.... 머리속에 바로 설계가 끝난 후배들이 천재인건가!!!!

neocoin의 이미지

설계 관하여 매우 자세하게 하는 수업도 있었습니다. 프로세스관한 것도 있구요.

그리고 그러나 설계할때 고려점을 설명해주는 수업이라면 방대한것 같습니다. 제가 느끼기에는 학사과정 전체가 그런 관점에서 해석 될 수 있을것 같습니다.

ps에 언급하신 과목이 몇 학년이 대상인가요? 2시간 짜리로 끝낼수 있는 거라면, 그리 난이도 높지 않을것 같은데요? 그냥 평범한 사례가 아닐까 싶습니다.

학사가 끝난 분들은 가이드를 같이 하는 수준이라면 석사가 끝난 분들은 문서 던저주면 알아서 돌아가는 수준인 것 같아요. 이게 가방끈이 아닐까 싶기도 하구요.

semmal의 이미지

제 생각에 뜬구름 잡는 설계가 아니라, 구현과 밀접한 관계가 있는 상세설계의 경우,

소프트웨어공학이 아닌 컴파일러가 가장 거기에 가깝다고 봅니다.

컴파일러의 내용을 이해하고 있다면, 설계를 해나가는데 큰 도움이 된다고 생각해요.

------------------------------
How many legs does a dog have?

kaeri17의 이미지

저희학교에는 강타임 함수형 언어(ML)를 가지고 구현하는 수업이 있어서요... 일단 그 수업 듣고 나면 설계를 어떻게 해야 하는지 알게 되더라고요. 타입을 만들고 확장하고 하는건 꼭 함수형 언어뿐만 아니라 일반적인 구현을 위한 설계니까요. 그리고 뭐 디자인 패턴이나 이런건 따로 공부하면 충분하다고 생각합니다. 사실 학부 수업에서 설계가 중요할만큼 큰 프로그램을 만드는 경우가 몇 없긴 하죠.