오늘은 C언어를 수강하고 있는 후배들이 관심을 가질 만한 주제를 가지고 글을 써 보고자 합니다.. 먼저, 이곳에 올리는 글들은 그냥 제가 학교생활을 하면서 느낀점, 직장생활을 하면서 느낀점 등을 그냥 맘 편하게 올리는 거니까, 후배 여러분들.. 별 부담없이 읽어주시구요.. 자신이 생각하고 있는 것과 다른 부분이 있으면 의견을 개진해 주세요...
오늘은 우리 과 학생들의 '프로그래밍 언어 배우기'라는 타이틀을 내걸었는데요...
먼저, 후배 여러분들께.. 질문 하나 던지겠습니다...
정말 프로그래밍언어 수업은 어렵고 배우기도 어렵습니까???
제가 먼저 그 답을 하자면... 정말 어려웠습니다...진짜로.. 참말로...
제가 우리과에서 가장 처음 배운 언어가 93년도 2학년 1학기에 배운 포트란 언어인데요.. 그때 그 수업담당하신 교수님이 이 카페 주인이시구요...
중간고사 때까지 수업은 꼬박꼬박 들었는데.. 교수님이 무슨 말씀을 하시는지.. 통 모르겠더라구요.. goto를 타면.. 어느 행에 가서.. 어떻게 되고.. 쩜쩜쩜.. 결국 셤 성적은 거의 밑바닥권(사실.. 성적도 기억하는데 밝히지는 못하겠고)... 중간고사 이후는 거의 포기 먹고.. 기말셤도 백지 내고 나왔습니다.. ^^; 셤지에 이렇게 쓰구요.. '교수님, 군대갔다와서 다시하겠습니다' 라구요.. 근데.. F 학점이 아니고.. 그 위위 학점을 주셨더라구요... 지금도 그 성적은 제 성적표에 남아있구요.(재수강할려구 하니깐 그 과목이 폐강되고 대체과목도 없어서 어쩔수 없이 그냥 두었습니다)
2학년 2학기에 복학했는데.. 이번에는 코볼언어가 또 버티고 있더라구요.. 물론 전필로.. (학부제로 바뀌기 전까지는 전공필수가 40학점 정도 되었고, 전공선택이 20학점정도 되어서.. 한학기에 최소 두세과목은 전공필수 과목이었거든요..) 그리고 C언어, Visual Basic.. 이렇게 수강을 했는데... 지난 번에 밝힌 것처럼 정말 제일 싫은 과목이 프로그래밍 과목이었습니다.. 교수님들께서 하시는 말씀이 이해가 안되니.
그래도.. 예비역이고 학점도 잘받아야 하고.. 포트란 언어처럼 망칠 수는 없으니. 그냥 외웠습니다... 이해도 못하면서 외우는 거.. 정말 머리에 안들어옵니다... 그래도 외우니깐... 학점은 어느정도 나오더라구요... 그런데. 저처럼 무식하게 외우지 마세요....이제부턴 제가 좀더 쉽게 프로그래밍 할 수있는 방법을 설명해 드릴께요..
C언어 과목을 수강하는 경영정보학과 학생들이 약 50명이라구 했을 때.. 그 중에서 10%인 5명 정도는 정말 프로그램 잘 짭니다...나머지 한 60%(사실 이정도 안될지도 모르지만)는 그럭저럭 따라갑니다. 나머지는 거의 멍한 상태로 강의 듣습니다.. 제가 있을 때 그랬는데.. 지금도 크게 다르지는 않을듯..
경영정보학과가 경영대에 속해있고, 후배들 대부분은 고등학교 때 '수학'이 싫어서(??)문과를 택해서 경영대에 왔는데... 수학적 머리를 요하는(물론 수학적 머리를 요한다는건 제 생각입니다) 프로그래밍을 배우니.. 어렵지 않다고 하면.. 오히려 그게 거짓말일겁니다...
제가 지금 생각해볼때.. 프로그래밍을 배우려면 수학적 사고를 가져야 한다는 겁니다.. 그리고.. 조금 많이 쪼잔(=세밀=세심)해져야 합니다...
적절할지 모르겠는데.. 예를 하나 들자면...
산수문제에서 1+1 = 2.. 이거 모르는 사람은 없죠...
그런데.. 경영학적으로 설명할때 1+1= ... 시너지 효과로 2가 될 수도 있과, 3도 될 수도 있죠.. 잘못 꼬이면.. 0이 될 수도 있습니다...
무슨 말이냐 하면요.. 프로그래밍에서 1+1은 죽었다 깨어나도 2라는 겁니다... 즉 1 + 1이라는 코딩을 했을 때, 반드시 2라는 답이 나와야 하고.. 2가 안나왔을 땐 그 코딩이 잘못되었으니... 입력하는 루틴부터 하나 하나 분석해 가면서 추적(Trace)해 나가야 한다는 겁니다..
저는 이런 예를 가끔 드는데... 혹시나 저같은 생각을 하는 분이 또 있지 않나 하는 생각에... 후배 여러분들 중에서.. '이런 선배도 프로그래머가 되어서 일하는 구나'하는 용기를 드리는 뜻에서 하나 사례를 올립니다...
어떤 프로그램이든지.. 안쓰이는데가 없는데요...
==========================================================
var i : integer;
i := 1;
i := i + 1;
i := ??
==========================================================
답이 얼마죠? 묻는 제가 바보죠??? ^^;
저는 위에서 i(자신) = 1 인데.. i(자신) 에 1을 더했는데.. 어떻게 i(자신)이 되는지... i는 변하는 값(변수)라는 이 한줄이 이해가 안되서... 학교 다닐 때 정말 힘들었습니다... 제가 생각할 때 이런 생각이 '인문계'적인 생각이 아닐까... 하는데요.. 아닌가요?? 제가 쫌 덜떨어져서 그럴까요?? ^^
혹시나 저같이 생각하는 후배들 있지 않나 하는 생각에 부끄러움을 무릅쓰고 예를 들어봤습니다...
여러분들이 수강하는 C언어.. 정말 어렵습니다...더구나 처음 배우는 언어가 C언어라면 더 어렵게 생각할 지도 모릅니다... 오히려 4-GL(VB,Delphi, Power Builder등등))이 배우기엔 더 쉬울지도 모릅니다...
하지만.. 전공 필수과목으로 어짜피 수강해야 한다면... 가장 기본적이고, 아직도 많이 쓰이고 있는 언어니까... 열심히 배우세요..
에구.. 이제야 본론을 쓰게 되네요....
프로그래밍언어를 그래두 쫌 편하게(?) 배우려면... 이런 순서대로 해보세요...
1. 그 언어의 기본적인 문법을 외우세요...
어떤 언어든지 기본적인 문법은 외워야 할겁니다...
2. C언어 관련 책(교재도 좋고, 예제가 많은 책)을 하나 구입해서 예제를 똑같이 코딩해 보세요.. 이해가 안되더라도 반복하고 반복해서... 그럼 차츰 이해가 되기 시작하거든요...
3. 그렇게 하면서 예제의 한 라인, 한라인을 분석해 보세요..
프로그래밍언어에서 의미없는 라인은 없습니다...
4. 이제는 책을 보지않고 예제를 똑같이 코딩해 보세요..
5. 그 다음은... 문제 풀이...
쉽게 보이는 문제 하나를 선택해서 직접 코딩해 보세요...
어느 순간 몰라보게 발전한 자기 모습을 보게 될겁니다... ^^
현재 쓰이고 있는 거의 대부분의 프로그래밍 언어는 문법만 조금씩 다를 뿐 큰 뿌리는 같습니다. 그래서 하나의 언어를 제대로 익혀 놓으면 다른 언어를 익히는데 쉽게 적응할 수 있습니다... 그러니.. 겁부터 먹지 말구요... 자신있게 배워보세요..
첫댓글 작년에 학원에 다니면서 java script를 조금 배웠었는데...문법만 조금 다를뿐 뿌리는 같다는말이 참 와닿는거 같습니다.몰라도 일단은 따라해본다에 몰표! ^^;
우와.. 정말 명언입니당.. 일단은 책 예제 따라하기부터 시작해야겠군요~!! 좋은 말씀 감사합니다!~!
네 얘기 들으니 학생들이 뭘 어려워하는지 좀더 알 것 같구나.. C언어를 좀더 효과적으로 강의하는데 많은 참고가 되었다.. 고맙다.. 열시미 하여라..