대학교의 프로그래밍 언어 시험-_-;

sugarlessgirl의 이미지

대학교에 와서 2년동안 C, C++, Java 수업을 듣고 시험을 보았습니다.

시험문제는 다 똑같습니다.. -_-
C 고 C++ 이고 Java 고 할 것 없이

허구헌날 ++, -- 로 꼬아서 내기..
예를 들면 x *= x++ + ++y; 이거 값이 뭐냐? 라던가..
아니면 연산자 우선순위..
그나마 자바는 포인터가 없어서 다행입니다.

저런 해악한 코드는 안쓰기 때문에.. 생각해 본적도 없고..
그래서 틀렸습니다.. -_- 맨날 당하고 또 당하니... 저도 할말이 없군요-_-;;

C++ 이나 Java 수업은 중간고사 까지
Object 의 O 자도 안배우고, 옛날에 배웠던 변수, 배열, 연산자, 제어문
재탕 삼탕 하다가, 중간고사 보고나서 놀라운 속도로 객체지향 이론을 싸그리 끝내버립니다. -_-

내 더러워서 다시는 대학교에서 프로그래밍 언어 수업 안듣는다.. 고 했건만..
학점 채울라고 어쩔 수 없이.... 흐윽.....

석사까지는 할라고 생각했는데..
대학원가서 재수없이 꼴통같은 교수걸려 의미없는 시간만 보낼까 두렵습니다.
-_-;;;

나한테 문제가 있는건지..
대학교에서 꼴통으로 가르치는 건지..

으..... -_-;;
참으로 이런 의미없는 시험 한번 치루면 내가 뭘 배우러 여기 다니는지 회의스럽습니다. ;; 어차피 기대도 안하고 온 대학이지만.. 그게 문젠가.. -_-;;

막 시험치루고 온 한 대학생의 주절거림이었습니다..-_-;;

jachin의 이미지

-_-a 그럼 자료구조론을 들으시지 그러셨어요.

아니면 파일처리라든가... 하다못해 운영체제론 정도는...

sugarlessgirl의 이미지

jachin wrote:
-_-a 그럼 자료구조론을 들으시지 그러셨어요.
아니면 파일처리라든가... 하다못해 운영체제론 정도는...

자료구조론은 듣고 있습니다. 이것도 듣고 있으면 한숨만 나옵니다.
전공 교양필수라서 어쩔 수 없이 듣습니다.

파일처리랑 운영체제는 3학년때 배웁니다.
2학년이 3학년 수업 들을 수 있냐고 과사에 물어보니..
3학년도 자리가 없어 못듣는다고 비웃더군요-_-

교수님께 달려가서 교수님 수업 듣고 싶어 미치고 환장하다 개거품 물고 쓰러지겠다고 하면 어떻게 한자리 얻을 수 있을 지도 모르겠습니다만.. -_-;;

생각해보면 그러지 못한 제 탓인지도 모르겠습니다.

Darkcircle의 이미지

2학년때 들었는데 전공으로 인정되더군요...
좀 더 어이가 없는건 XML 프로그래밍 과목이 4학년과목으로 배정됐는데
그거조차도 2학년때 들어버린 것입니다. 솔직히 XML프로그래밍이란게
HTML 좀 알고 DTD이해하면 XSLT랑 뭐 그런거 좀 짤줄 알고...
그러면 끝이예요.. 더 할게 없습니다. 그걸로 텀내고 시험보고 점수따면 땡이죠.

그냥 자기 듣는 학년에 별 볼일 없다 싶으면
윗학년거 미친듯이 들으면서 선배들한테 은근슬쩍 개기면 됩니다.
밉상 보이기 딱 좋지만 운이 좋으면 점수 따먹는 재미가 있죠 ㅋㅋ

---------------------------------------------------------------
피곤함 1테라톤을 가방 보따리에 주섬주섬 짊어메고 다니는 아이 . . . Orz

---------------------------------------------------------------
폐인이 되자 (/ㅂ/)

FlOw의 이미지

sugarlessgirl wrote:

자료구조론은 듣고 있습니다. 이것도 듣고 있으면 한숨만 나옵니다.
전공 교양필수라서 어쩔 수 없이 듣습니다.
파일처리랑 운영체제는 3학년때 배웁니다.
2학년이 3학년 수업 들을 수 있냐고 과사에 물어보니..
3학년도 자리가 없어 못듣는다고 비웃더군요-_-
교수님께 달려가서 교수님 수업 듣고 싶어 미치고 환장하다 개거품 물고 쓰러지겠다고 하면 어떻게 한자리 얻을 수 있을 지도 모르겠습니다만.. -_-;;
생각해보면 그러지 못한 제 탓인지도 모르겠습니다.

----

교수님한테 얘기하면 쉽게 풀렸을지도 모르겠네요.
저는 3학년때 교수님한테 말씀드려서 4학년 과목을 청강 했었는데,
교수님도 자기수업 듣고 싶어 하는 학생을 마다하지는 않더군요 (청강이라 학점은 안주더군요.. ㅡ_ㅡ;)

-------------------- 절취선 --
행복하세요:)

ㅡ,.ㅡ;;의 이미지

음... 그것은 기본적인거 아닌가요?ㅡㅡ;;
그것을 모르면 프로그램 못짭니다. 사람처럼 대충말해도 알아먹는 컴퓨터가 아니거든요.. 프로그램에 치명적인 버그가 생기죠..
한마디로 미적분배우기전에 덧셈곱셈배우는거 아니겠어요..


----------------------------------------------------------------------------

choissi의 이미지

저는 이상하게 top-down 방식으로 배우는게 적성에 맞아서 그런지.. 일딴 뭐든 실무적인 것으로 일을 벌려넣고 나중에 다시 아래서 부터 올라오는데, 혼자 공부 할때 놓친 부분이라던지 뭐가 중요한지를 안다고 해야 할까요? 병특 끝나고 복학한 학교지만, 수업 나름대로 도움이 됩니다..

하지만 컴프(저희 학교는 c언어로 하지요)같은 과목에서 시험지에 손코딩하는거는 여전히 난감(짜증스러움)하더군요. 하지만 뒤에 4문제 정도가 나오는데 100점중에 15~20점씩 하니까 3문제만 그냥 깔끔하게 적어내도 점수가 괜찮게 나옵니다.

울랄라~ 호기심 천국~!!
http://www.ezdoum.com

divetou의 이미지

대학교에서 프로그램 수업이
배울 가치가 없다고 느껴지십니까?

제 짧은 소견으로는 그정도는 기본적으로 알고 있어야 프로그램을 만들 수 있는것 같은데요..

해악한 코드인줄 아시면.. 왜 해악한지.. 왜 그런 sideeffect가 발생하는지 정도는 알고 있지않습니까?

그 정도도 모르시면서, 대학교 수업이 가치가 없다고 투덜대시기만 하는게 보기가 좀.. 그렇네요..

기분나쁘셨다면 죄송합니다.

==============================
꿈꾸는소년

cocas의 이미지

1학년때 그런 시험을 볼때 저도 같은 생각을 했습니다...

하지만 정말 잘 하는 사람들은 양쪽 모두 잘하더군요. OTL...

punkbug의 이미지

저는 교양으로 c언어를 듣고 있는데.. 저번 주 금요일에 시험을 쳤죠.
프로그램 실행결과를 묻기도 하고 손코딩도 하고..
근데 정말 어이없는게..
분명 에러가 있는 소스인데..
어떤 학생이 에러있는거 아니냐고.. 하며 물어보니까..
소스에는 에러가 없다며 걍 풀랍니다.

#include <stdio.h>

void main(void
{
	int i=0, sum=0;
	sum+= 10;
	sum++
	printf("sum=%d\n", sum)
	sum=i++;
	printf("sum=%d\n", sum)
	sum=++i;
	printf("sum=%d\n", sum)
}


자자 보세요. 뭐가 잘못됬는지..
누가 저게 에러가 있는지 모르겠습니까?
저는 혹시나 해서 집에와서 한번 컴파일해봤습니다. 역시나 괜히 해봤더군요.
저도 참 어이가 없어서.. 걍 풀긴 했지만,
도대체 이건 무슨 의도 일까요..? 아니면 정말 교수가 모르고 그런걸까요?

newbie :$

cppig1995의 이미지

일단 void main부터 틀렸군요. 그 다음 닫는 괄호와 세미콜론의 존재 이유를 잘 모르시는 것 같습니다. 차라리

#include <stdio.h>
 
void main(void)
{
	int i=0, sum=0;
	sum+= 10;
	sum++;
	printf("sum=%d\n", sum);
	sum=i++;
	printf("sum=%d\n", sum);
	sum=++i;
	printf("sum=%d\n", sum)
}

였다면 세미콜론 건은 파스칼 잔재라고라도 생각해드리겠습니다. 그렇다 해도 저건 :(
--
돼지군 작업실: 4word 64bit OS, IMPerator, SMPlayer 한국어 번역, ...
대전월평중 2 / Ubuntu Hardy / 070) 7594-3258 / 서명 변경일 2008/4/9

Real programmers /* don't */ comment their code.
If it was hard to write, it should be /* hard to */ read.

zilitwo의 이미지

leeas00 wrote:
대학교에서 프로그램 수업이
배울 가치가 없다고 느껴지십니까?

제 짧은 소견으로는 그정도는 기본적으로 알고 있어야 프로그램을 만들 수 있는것 같은데요..

해악한 코드인줄 아시면.. 왜 해악한지.. 왜 그런 sideeffect가 발생하는지 정도는 알고 있지않습니까?

그 정도도 모르시면서, 대학교 수업이 가치가 없다고 투덜대시기만 하는게 보기가 좀.. 그렇네요..

기분나쁘셨다면 죄송합니다.

뭐 저도 대학생이고 학교에서 프로그래밍 수업을 들은 경험이 있습니다만;;

x *= x++ + ++y;

이런 코드는 시험에 나오질 않습니다.

실제로 제 생각에도 저런 코드는 가치가 없는 코드라고 생각합니다.

왜냐면 읽기도 불편하고, 머릿속에 와닿지도 않죠..

차라리

x *= x + y + 1;
x++;
y++;

이런식으로 짜는게 훨씬 보기에 낳고 이해하기 쉽지 않습니까?
( x *= x++ + ++y 와 같은 결과를 내는지는 잘 모르겠습니다만;; )

저 같은 경우 시험에는..

소스코드 중간에 빵꾸 뚫어놓고 채워넣기,

코드에 오류찾기 ( 심지어 ; <- 요놈 빼먹어 놓고 쓰는문제도;; )

뭐 그런걸로 시험 쳤습니다.

컴파일 에러나는것 정도 찾아내는건, 궂이 시험에 낼 필요는 없다고 생각하구요.

빈 칸 채우기 정도.. 나, 간단한 일을하는 소스코드 손으로 써 넣는것 정도 내면 적당할꺼라고 생각합니다만;;

-----------------------------------
속좀 썩이지 마라~~ 잉???

익명 사용자의 이미지

y++;
x = (x + y + 1) * x;
x++;

tinywolf의 이미지

글쎄요..

전 학교서 들은건 다 쓸모가 있던데요..

물론 고등학교 때부터 독학으로 프로그래밍을 해왔었기 때문에..

제가 궁금하거나 잘 몰랐던 부분 혹은 아주 쓸모 있을 법한것을 많이 느껴서 그런진 몰라도..

대체로 수업이 재미없다 느끼는 아이들은 나중엔 전공에 회의를 느끼고 그다지 잘 하지도 못하게 되더군요..

포인터나 연산자 같은 문제는 어느정도 알고 있어야 하지 않겠습니까..

아마 확실히 이해하고 있다면 그런 문제정도는 쉽다고 생각해서가 아닐까요..

솔찍히 저도 여기저기 꼬인 문제 보면 답답할 때도 많지만..

그럴땐 제 생각을 그냥 시험지에 적어버립니다..

그럼 점수는 낮게 나오지만 교수님들이 절 기억하게 되고..

전 점수는 어느정도 이상만 되면 점수보단 제가 아는 것이 더 중요하다고 생각하거든요..

실제로 C+을 맞았던 수업이 있었는데..

전 아무말도 안했지만 교수님이 제 시험지를 다시 보시고 B0로 올려주신 일도 있었죠..

ㅡ_ㅡ;

jinoos의 이미지

저같은 경우는 전공이 전산이 아닌 약간 빗나간 과인데.. 컴프, 자료구조, 파일저리, 운영체제 이런거 배워보고 싶어 책 사서 혼자 공부하곤하는데.. 그래도 교수님 아래서 배울때 질문도 공짜로 해볼수 있고(뭐 수업료에 포함된것이겠지만 8) ) 뭐로 보나 학교에서 배울때가 좋은것 같습니다.

다만..

x *= x++ + ++y;

이런식의 코드를 문제로 낸다는것은 연산자 우선순위를 제대로 알고 있나 확인차 그럴수 있다고 생각하기에는 구시대적 발상이 아닌가 합니다. 솔직히 저런문제 나오면 족보 만들기나 좋지 학생에게 좋을게 뭐가 있겠습니까?

저게 옳은지 틀린지 알필요도 없습니다. 저런 코드를 쓰지 않기 때문이죠. 행여나 저런코드를 디버깅하는데 이해가 안된다면 바로 테스트 해보면 되는것이죠. 헌데 시험에 저런문제 일색이라면 말다한거죠.. 그시간에 학교에서는 좀더 구조적이고 개념적이고, 좀더 큰그림을 그려줘야 하는게 아닌가 합니다.

시험도 일종의 배움이라 생각합니다. 학생들에게는 제대로 풀어야할 책임(?)이 있지만 스승에게는 제자들에게 배움의 소양과, 흥미를 넓혀주는 제대로된 문제를 낼 책임(?) 이 있는것 아닌가요?

솔직히 저도 학교다닐때 정말 쓸데 없다고 생각하는 문제를 재탕, 삼탕, 누룽지에 숭늉까지 만들어 내는 교수님들 보면 학교 많이 빠져 봤지만 수업료 생각 납니다. :lol:

뭐 교수님이 무능하면 학생이 뛰어나다는 얘기는 좀 어불성설이라 이라 생각됩니다. 교수님들도 나름대로 학생에게 애정을 좀 쏟아야 학생들도 그 애정으로 좀더 자라지 않습니까?

eadgbe wrote:
교수님께 달려가서 교수님 수업 듣고 싶어 미치고 환장하다 개거품 물고 쓰러지겠다고 하면 어떻게 한자리 얻을 수 있을 지도 모르겠습니다만.. -_-;;

"사회생활 할줄 아는넘이구먼.. 허허허" 이러실지도.. 8)

목적을 찾아서... jiNoos

행복한고니의 이미지

그래도 그래픽 프로그래밍은 안하셨잖습니까...

전 윈도우즈98 이 출시된 후에도 콘솔(DOS) 에서 C (Turbo-C 컴파일러)로 그래픽 프로그래밍했습니다. :cry:

선 그리고, 원 그리고 이런거요.

__________________________________
나는 세상에서 가장 중요한 사람이다.

feelpassion의 이미지

저도 지난주 금욜날 유닉스 프로그래밍 셤을 쳤습니다.
저의 결론은 저런 거 다 필요하다는 것입니다.
여름 방학때 님이 말씀하신 그런 코드들 부터 차근차근 다시 배웠습니다. 알면서 또 배우는게 쉬운건 아니지만 그래도 하다보니까 몰랐던게 많더군요^^;;
유닉스 프로그래밍 셤친거 제 생각엔 거의 98~100점입니다. 역시 코딩은 자세히 알아야 제대로 할 수 있습니다.(역시 제 생각이지만...)수박 겉핥기로는 한계가 분명 드러납니다. 처음 하신다 생각하시고 다시 공부하십시오. 제 후배들 중에 프로그래밍 도사들이 몇몇 있는데 프로그래밍 셤치면 거의 다 100점 맞습니다. 그리고 프로그래밍 셤치고 투덜거리는 사람들 거의 다가 언어를 제대로 이해하지 못한 사람입니다.
넘 직설적이었다면 죄송합니다.

남으로 창을 내겠소.
밭이 한참갈이 괭이로 파고 호미론 김을 메지요.
구름이 꼬인다 갈리있소. 새들의 노래는 공으로 들으랴오.
강냉이가 익거든 와자셔도 좋소.
왜 사냐건 웃지요.

lovethecorners의 이미지

학교 다닐때 많은 프로그래밍 수업을 들었죠.

기초 프로그래밍 수업들의 시험들은 대부분 개념파악의 문제들이었습니다. 그러니 말장난을 (시험문제) 하더군요. 어드벤스드 과목들의 시험유형은 거의비슷했습니다. 예를들어, 중간중간 띄어놓고 적당한 코드 집어넣기, 코드 오류찾아내기
pseudocode 작성하기, 완성코드 작성하기

학교에서는 개념파악만 확실하게 배우고 익히면 될거 같은데...
그러다보니 그러한 문제유형이 나오는거 아닐까요?

lsj0713의 이미지

오늘 제출한 레포트 안에 있던, height가 7이고 최대갯수의 external node를 갖는 binary tree를 그리라는 문제가 생각나는군요. (2^7 -_-;;)

가끔 순수하게 학생을 엿먹이기 위해 만든 것으로 보이는 문제를 만날 때가 있습니다. 그럴때면 작두로 교재를 두토막내고 싶은 마음이 들곤 합니다.

그렇지만, 대학 수업은 어쩔 수 없습니다. 프로그래밍의 P자도 모르는 사람을 가정해서 진행해야 되기 때문입니다. C프로그래밍 수업에서 멋있게 이론적인 스타일로 나갔다간 아주아주 큰일나죠. 그거야말로 학생들한테 '어디한번 맛좀 봐라'하는 것밖에 안됩니다.

결국, 자기가 알아서 건져갈 수 있는 거나 최대한 건져가는 수밖에 없지요. 듣고 있으면 그래도 건져갈 것들이 꽤나 많습니다.

ps. x *= x++ + ++y; 이 코드는 두 sequence point 사이에서 동일한 객체가 두번 수정되기 때문에 틀린 코드입니다. (정확히는 정의되지 않은 동작을 보이는 코드)

warpdory의 이미지

1990년대 중반에 수치해석 들으면서 포트란에서 I, F, R, K.. 이런 거 외워보셨습니까 ? (포트랸 77 에는 변수명에 저런 게 들어가면 .. 뭔가 뜻이 있죠... 요새는 변수 타입으로 정의하지만...)

정작 중요한 수치해석은 13주 강의중에서 4,5 주나 들었나 ? 나머지는 포트란 문법 배웠었습니다.

또하나 ... 뭔 프로그래밍 강의시간에 디렉터리 구분자를 \ 로 안 쓰고 / 로 썼다고 감점 받았던 기억도 납니다.

다 복수 전공자의 비애였죠.

결국 그래서 복수전공 열받아서 때려 쳤습니다만 .. 쩝..

그래서 조교하고, 시간강사 하고 그러면서는 절대로 저런 '문제를 위한 문제'는 내지 않았죠. 물리학 시험임에도 수식보다는 말로 쓰는 게 훨씬 많았으니깐요 (일명 개념 이해 문제)


---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.

sodomau의 이미지

저도 컴퓨터공학과 학생(4학년입니다)이고
여러 C, C++ 등에 관련된 과목을 들었지만
저런 시험 문제는 본 적이 없습니다.

교수가 너무 무성의하네요.
아니면 정말 머가 중요한지, 멀 가르쳐야 될지 모르는 사람이거나...

kksir의 이미지

와 학부생이 많군요 ;)
저역시 컴튜터공학 전공이라 이번에 플밍 시험을
보았는데.

커리큘럼에 따라 많이 다른 양상을 보이는 듯 합니다.
문법을 배우는 과목이 있는 곳은 문법을 묻는 시험을 볼터이고
표현이 문제가 아닌 구조나 원리를 묻는 시험에서는 당연히
그것을 물어보겠죠.

한동안 코드 안보고 소자들만 보다 보니.. 저 역시 문법을 잊어
버려 시험에서 틀려따는.. ㅜ.ㅜ

고생해서 익힐 당시 이건 절대 안잊어 버린다 라고 생각했
던 것들이 이제 잊어버리고 있네요. ㅜ.ㅜ 흑 이제 25인데..
저만 이런가요?..

::::::::::: Easy come, Different go.
::::::::: Http://www.geekstep.org

이한길의 이미지

정말 학부생 많네요..
저도 학부생,, 3학년인데... *^^*

근데... 문득... 어디학교인가 궁금해집니다..
제가 좋지 않은 학교를 다니다보니 약간 그런게 있어서 그런진 몰라도...
근데 저도 저런 문제 내는 건 못봤습니다.. 시간 강사도 안내는데...

----
먼저 알게 된 것을 알려주는 것은 즐거운 일이다!
http://hangulee.springnote.com
http://hangulee.egloos.com

cjh의 이미지

글 쓰신 분은 원래 해당 프로그래밍 언어에 대해서 알고 있었던게 아닌가요?

해당 언어를 그럭저럭 아는 사람에게는 매우 하찮은 것으로 보일 수 있지만, 처음 언어를 접하는 사람에게는 프로그래밍 언어가 돌아가는 구조를 익힐 수 있는 좋은 방법일 수도 있습니다. 물론 조금 지나면 별 쓸데 없다는 걸 알겠지만 :) 중간고사까지 연산자 같은거만 배운다고 불평할 수도 있겠지만, 아무것도 모른다고 생각해 보세요. 강의하는 사람 입장에서는 학생들이 모두 어떤 수준인지 모르는데 다 아는걸로 하고 넘어가기에는 어려울 때가 있습니다.

저도 유닉스 어느 정도 알고 유닉스 관련 수업 들으니 ls 같은거 가르치는데 짜증 나더군요 :) 하지만 몰랐던 사람에게는 나름대로 신기하고 재미있지 않을까요?

--
익스펙토 페트로눔

kihongss의 이미지

요즘도 C언어 배우면, 연산자 우선순위가 단골인가 보군요.
제가 C언어 처음 배울때도 중간고사던가, 기말고사 때 햇갈려서 틀렸던 기억이 나는군요. -_-;; 햇갈려서 틀리는것은 그렇다 치더라도
손코딩 문제에서 ; 을 빼먹어서 틀리면 사람 환장합니다.
:shock:

Mins의 이미지

C 언어의 핵심이 포인터라고 할수 있을지 모르지만. -_-;
제 경험에 비추어보면, 포인터 까지 진도가 안 나가더군요.
물론 시험문제에는 잘 나옵니다. -_-;
족보를 잘 파던지, 교재 연습문제를 잘 파던지 하면 점수 잘 나옵니다.

정말로 C 언어, 자바를 잘 하는 사람 보다, 족보 달달 외운 사람이 점수가 잘 나오는 언어 과목이라면, 문제가 있다고 생각 됩니다. -_-;
프로그래밍을 족보로 하나요? -_-;

어쩌다 보니, 올초에 생애 처음으로, SCJP 라는 자바 자격증을 시험보게 되었는데, 그거나 학교 시험이나 비슷하더군요.

잘 쓰이든 안 쓰이든, 세밀한 것들까지 문법 달달 외우고.. (이해하려고 공부하다보면, 피보는 경우가 종종)
족보 달달 외우면, 원하는 목적 (학점 취득, 자격증 취득) 을 얻을수 있으니까요.

당연히 목적에 따라 공부 하는 방법도 달라져야 됩니다.
학교 교재에서 시험 문제 나온다는거 알면, 이상야리한 문제라도 족보에서 나온다는거 알면, 그거대로 공부해야지 점수 잘 받을 겁니다. -_-;;

내가 다른 교재가지고 공부 절라 열심히 했네 어쩌네.. 하는건 시험 문제를 맞추고 나서야 할수 있는 말입니다. -_ㅜ

개인적으로, 모 프로그래밍 시간에, 남들 답안지 보며 코딩 하여 과제물 제출할때, 혼자 머리 쓰며 끙끙 풀어논게 점수가 더 낮게 나왔다는걸 깨닫고, 포기했습니다. ㅜ_ㅜ (대신 전 그 과목 수업을 제대로 안 들었음에도 불구하고, 과제물 해결하며 언어를 깨우쳤죠. 물론 지금은 모두 잊었습니다. 어설프게 익힌건 소용 없네요 ㅜ_ㅜ)

또한 모 수업 시간에도, 직접 열심히 코딩하고, 한글로 주석 까지 열심히 다 달아놨음에도 불구하고, 역시 모범답안(?)을 제출한 애들 보다 점수가 낮더군요. -_-; 결과값은 같은데 말이죠. 저로서는 채점 기준을 알수가 없으니, 그저 그러려니 생각할 뿐입니다. ㅜ_ㅜ

과제물이.. 겉 표지에 Report 가 아닌 보고서라고 썻다는 이유로 뺀찌 먹은 일도 있습니다. 학점을 추구한다면, 교수님 취향을 미리 파악하는 수밖에 없겠죠. 그거 알면서도 행하기가 쉽지 않은겁니다. 남들 다 학점 잘 받는데는 이유가 있다고 생각이 되네요.

hjlee의 이미지

정말 문제가
x *= x++ + ++y;
이었습니까?

아니면 그런 류의 문제라는 의미인지?

문제가 정말 위의 식 그대로라면
lsj0713 님이 쓰신 것처럼 정의되지 않은 것이라고 써야 맞습니다.

같은 컴파일러도 -O 옵션에 따라서 결과가 다르게 나옵니다.

$ cat a.c
#include <stdio.h>

int main()
{
        int x = 3, y = 3;
        x *= x++ + ++y;
        printf("%d %d\n", x, y);
        return 0;
}


$ cc -v
Reading specs from /usr/lib/gcc-lib/i486-linux/3.3.5/specs
Configured with: ../src/configure -v --enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib --enable-nls --without-included-gettext --enable-__cxa_atexit --enable-clocale=gnu --enable-debug --enable-java-gc=boehm --enable-java-awt=xlib --enable-objc-gc i486-linux
Thread model: posix
gcc version 3.3.5 (Debian 1:3.3.5-1)

$ cc -O2 -Wall a.c -o a
a.c: In function `main':
a.c:6: warning: operation on `x' may be undefined
$ ./a
22 4
$ cc -Wall a.c -o a
a.c: In function `main':
a.c:6: warning: operation on `x' may be undefined
$ ./a
21 4
sugarlessgirl의 이미지

Daniel Lee wrote:
정말 문제가
x *= x++ + ++y;
이었습니까?

아니면 그런 류의 문제라는 의미인지?

문제가 정말 위의 식 그대로라면
lsj0713 님이 쓰신 것처럼 정의되지 않은 것이라고 써야 맞습니다.

같은 컴파일러도 -O 옵션에 따라서 결과가 다르게 나옵니다.

실제 시험에 나온 것 중에 문제가 되는 코드는
a = i + a++;
x *= x++;
이렇게 됩니다.

언어는 Java 였습니다. 친구 말이 C 언어라면 지적처럼 잘못된 코드일 가능성이 높으나, Java 같은 경우는 또 사정이 달라질 수도 있다고 그러더군요.

잊고 다음 시험 준비나 해야겠습니다....

쓰레드에 답글 달아주신 분들 궁금했던 것도 해결되었고, 많은 위로가 되었습니다 감사합니다 :(

죠커의 이미지

연산자 우선순위를 알아두는 것도 도움이 됩니다.

괄호를 쓰면 된다고 생각하시는 분들은 역시나 포인터에서도 이렇게 난잡한(어떤 근거로?..) 특성은 제대로 안 익혀도 생각하시는 분이 많습니다.

연산자 우선순위는 프로그래머가 최대한 괄호를 안쓰게 만들어주기 위해서 있는 것입니다. :-)

힘내세요!!

dgkim의 이미지

제 생각 역시 발제자님이 생각과 같이 시험문제가 엉터리라고 생각합니다.

원래 시험이란게 그렇죠..

입장바꿔 생각해보면.. 여기 계신 여러분들도.. 자신이 문제를 만든다고 생각하면..

시험치는 입장에서 문제를 만들기보단.. 재탕 삼탕 해서 문제 만들기 쉬운 방법을 사용할 것입니다.

하지만.. 간단하게.. (돈벌이중인) 교수가 (교육을) 더 잘하길 바란다.. 이건 이런 세상에선 이뤄질 수가 없는 것이라 생각합니다.

그들 중에서도 물론 열심히하는 사람도 있을 것입니다.

하지만.. 그냥 직업을 작업으로 알고 살아가는 사람이 80%는 될 것이란 말입니다.

ps. 여러분들이 교수라면 과연 어떤 문제를 낼 것인지...

세이군의 이미지

zilitwo wrote:

뭐 저도 대학생이고 학교에서 프로그래밍 수업을 들은 경험이 있습니다만;;

x *= x++ + ++y;

이런 코드는 시험에 나오질 않습니다.

실제로 제 생각에도 저런 코드는 가치가 없는 코드라고 생각합니다.

왜냐면 읽기도 불편하고, 머릿속에 와닿지도 않죠..

물론 엄청 불편하지요.. 그런데 공무원 수험서들 보셨나요??

그런 코드 쉽게 볼 수 있습니다. OTL

creativeidler의 이미지

Quote:
1990년대 중반에 수치해석 들으면서 포트란에서 I, F, R, K.. 이런 거 외워보셨습니까 ? (포트랸 77 에는 변수명에 저런 게 들어가면 .. 뭔가 뜻이 있죠... 요새는 변수 타입으로 정의하지만...)

정작 중요한 수치해석은 13주 강의중에서 4,5 주나 들었나 ? 나머지는 포트란 문법 배웠었습니다.


90년대 중반에 하던 건가요? 제 동생이 지금 대학교 2학년인데 포트란 수치해석 배우고 있던데. 어제 가르쳐준다고 책 들여다보면서 짜증나 죽는 줄 알았습니다. 책이 정말 쓰레기 같은 코드로 가득하더군요-_- 포트란 언어가 원래 그런 건가요? 울 동생은 포트란 언어도 제대로 안 배우고 처음부터 바로 수치해석 했다고 하던데-_- 프로그래밍 제대로 해본 적도 없는 학생들을 앉혀놓고 언어도 가르치지 않고 수치해석 프로그래밍 하라 그러고 교재는 쓰레기로 갖다 주고 정말 한숨이 나오더군요. 복학해서 울 학교에서도 이런 교수 만나면 가만 두지 않을 겝니다-_-+
nainu의 이미지

그런데, 문제는 그런 해악한 코드 분석이 아니라 수업 이름에 걸맞는 내용을 배우지 못한다는 것입니다. 객체지향 C++ 수업에 클래스는 기말고사끝까지 나올듯 말듯 하니 이게 객체를 배우고 자바를 배우고 C++을 배우러 들어온 건지 C에나 C++에나 다 있는 *= ++ 연산자를 매번 똑같이 배우려고 수업을 들은 건지 알 수 없지 않겠습니까?

ㅡ,.ㅡ;;의 이미지

creativeidler wrote:
........
프로그래밍 제대로 해본 적도 없는 학생들을 앉혀놓고 언어도 가르치지 않고 수치해석 프로그래밍 하라 그러고 교재는 쓰레기로 갖다 주고 정말 한숨이 나오더군요. 복학해서 울 학교에서도 이런 교수 만나면 가만 두지 않을 겝니다-_-+

보통 컴쪽이 실제프로그램을 전공자보다 비전공자가 더잘하는경우를 종종봅니다.

그럴만한 이유가 있을듯..


----------------------------------------------------------------------------

ydhoney의 이미지

1학년때..

프로그래밍 수업시간에 맨날 수업시간에 잠만 자고 과제물 해오라는거 그런거 하나도 안해갔는데..

그래서 조교한테도 팍 찍혔었는데..

중간고사, 기말고사때 두번 다 손코딩시험을 보더라구요..

손코딩으로 풀라길래, 시험보는 순간에만 머리 쥐어짜고 코딩했지요. (C였습니다만..)

A+ 주더라구요.

교수한테 왜 A+이냐고 묻기도 그래서 냅뒀긴 한데..-_-a; 정말 궁금해요. 제가 쓴 코드가 남들하고 많이 달랐을까요? -_-;

sDH8988L의 이미지

이런 경우 가능합니다...

1. 야동벌꿀님의 시험 성적이 훌륭했다.

2. 과목 정책상 숙제를 내지 않으면 0점, 냈는데, 틀리면 마이너스.

3. 수업 태도는 성적에 전혀 반영되지 않는다.

과목 정책과 결과가 이랬다면, 가능한 학점입니다. 실제로 저렇게 하는 교수들도 꽤 되는 편이구요.

특히, 수업 태도 같은 건 수업 때 지나면 다 잊어 버립니다.

r0x2tk1t의 이미지

당장에 필요없는 작은 것들도
결국에는 알아두면 다 도움이
되는거 같습니다. 솔직히~
자세히 생각하면 문제가 어이없게
생각될지도 모르지만, 안다면
그만큼 맞출 수 있지 않았을까요?
저도 학부생이고 2학년입니다.
이번에 자료구조 시험보는데,
저는 코딩 문제에서 strcpy() 인자가
헷갈려서, 반대로 썼네요..
어디에 const가 붙을까 5분 생각했습니다.
결국 이런 작은 것들이 조금 더
단단하게 만들어주는 역할을 하는거 같네요.

日新 日日新 又日新
Google Talk::chanju_dot_jeon(at)gmail_dot_com

wildrunner의 이미지

프로그래밍 말고 다른 수업을 듣는 것은 어떨지요?

전 학교에서 프로그래밍 가르쳐주면 수업료가 아깝다는 생각밖에 들지 않더군요

어떤 문제가 주어졌을때 해결책을 제시하려면 기본원리를 알아야 창조적으로 해

결할 수 있을 터인데 말입니다. 모 잡지에서 한국인으로는 유일하게 MS에서

근무하는 수학자의 얘기를 봤는데 기본이론에 대해 상당히 강조하더군요.

코드작성하고 실행하면 알 수 있는 사실을 굳이 시험으로 그것도 일부러 꼬이게

내놓는것은 아무래도 제출자의 편의만을 생각한 처사인거 같습니다.

samjegal의 이미지

으.. 손코딩..

키보드로 두들기면서 하는것보다 배로 힘들더군요..
하다보면 재미 들려서.. 막 써내려가면..
한시간 후에 목하고 허리가 굳어져서 나옵니다 ㅠㅠ

보통때 손코딩 하라면 죽어도 못하겠는데
시험 시간에는 왜 그리 재밌는지... 아예 즐기는 수준까지 갔습니다.

프로그래밍 수업.. 전공 필수라서..
듣기 싫어도 들어야 합니다.. 안들으면 졸업 안시켜 준다나.. 쳇

시험도 .. 어떻게 보면.. 괜찮은것 같더군요..
가끔씩 사람의 의표를 찌르는 문제가 나오고
.. 이번 시험은 함수의 원형을 적으라고 하더군요..
엄청 당황했습니다만 -_- 어떻게 만들어 적었죠 머~

그래도.. 저번 학기의 루프와 덧셈 뺄셈보다.. 낫습니다.
제가 산수에.. 좀 약해서... 왜그리 헷갈리던지.. 쩝


/*
* 한순간에 불과한 인생에서 내가 있었다는 증거를
* 기록해두고 싶기에 사람은 외부기억에 그걸 맡긴다.
*/

전웅의 이미지

eadgbe wrote:
실제 시험에 나온 것 중에 문제가 되는 코드는
a = i + a++;
x *= x++;
이렇게 됩니다.

언어는 Java 였습니다.

그렇다면 답이 정해지는군요.

예전에 이런 자바 문제를 들고 답답함을 호소하며 찾아온 학부생 때문에
JVM Spec 을 다 뒤졌습니다. 덕분에 자바는 C/C++ 처럼 마냥 undefined
라고 하지 않는다는 사실을 "배웠습니다". :-)

그런 문제가 적절한 실력 평가의 방법인지는 아직 잘 모르겠습니다.
하지만, 뭔가를 배울 수 있는 기회를 제공한다는 사실은 분명 참인 것
같습니다.

혹은 그냥 이렇게 생각하는 것은 어떨까 합니다.

어떤 문제가 나와도 다 풀 수 있을 만큼의 실력을 갖추는 겁니다.
"골 때리는" 문제가 나오면 그냥 "한심하다" 생각하면서 가뿐하게 다
맞춰줍니다. 단, 님의 답이 정답인데 교수가 이를 틀리게 처리했을
때에만 가서 당당히 따지면 됩니다.

말은 쉬운데 실천은 어렵군요.

--
Jun, Woong (woong at gmail.com)
http://www.woong.org

dummy999의 이미지

대학에서 그런걸 가르치는게 정말 한심하다고 생각하시나보죠?
물론 저역시 한심하다생각합니다.
그렇지만 초등학교교과서엔 프로그래밍수업이 없잖아요.

저런건 프로그래밍에서 가장기초적인 트러블슈팅능력을 가르키는것이 아닐까요?
군대에서 왜 빡세게 체력증진한답시고 유격을 시키는지 모르겠다는뜻과 같습니다.

눈에 눈물이 핑핑돌때까지, 모니터에 모니터가 빵꾸가나서 더이상 쓸수없을때까지..
전산쟁이의 트러블슈팅능력은 영원하리라.

소위 우리는 이런 트러블 슈팅이라는 단어를 이렇게도 쓰는것같더군요..
"삽질"

결론은 저런 해악한 코딩도 트러블슈팅(삽질)의 하나이고
그러므로 저는 그런 판단능력배양도 "필요하다"에 한표입니다.

원론적으로봤을때..
그런데 삽질은 왜시키는지모르겠군요..
정말 인터페이스의 발전은 그렇게 불필요한걸까요?
인터페이스가 발전했다면 저런 삽질도 조금은 줄어들꺼고
저런 눈따가움도 조금은 줄텐뎅..
이상입니다.

아이 눈따가와.. @_@ 핑핑핑... ㅠ_ㅠ 주루룩.......

트러블슈팅 -- 제가 이단어의 정확한뜻을 몰라서 찾아서 메모했습니다.
(troubleshooting,문제점이 있으면 그 문제점을 해결할수 있는 방법)
http://kin.naver.com/browse/db_detail.php?d1id=1&dir_id=1&docid=56180

------------------------------------
F/OSS bless you... ^^*

전웅의 이미지

흠.. 진짜 문제는

eadgbe wrote:
허구헌날 ++, -- 로 꼬아서 내기..
예를 들면 x *= x++ + ++y; 이거 값이 뭐냐? 라던가..
아니면 연산자 우선순위..

이런 문제가 시험에 나왔다는 게 아니라

eadgbe wrote:
중간고사 보고나서 놀라운 속도로 객체지향 이론을 싸그리 끝내버립니다.

이렇다는 사실이 아닌지요.

물론, "싸그리"라는 표현이 "원리에 대한 전달 없이 겉만 대충대충" 을
의미한다고 가정합니다. (뭐 "원리를 깊고 심오하게 잘 전달하지만 단지
속도만을 빠르게" 라는 의미는 아니겠지요? ;-)

dummy999 wrote:
저런건 프로그래밍에서 가장기초적인 트러블슈팅능력을 가르키는것이 아닐까요?
군대에서 왜 빡세게 체력증진한답시고 유격을 시키는지 모르겠다는뜻과 같습니다.

제 짐작일지 모르겠습니다만, OP의 불만 중 하나는 매일 체력증진만
시키고 정작 총 쏘는 법과 전술은 가르쳐주지 않았다는 것 아닌가요?

--
Jun, Woong (woong at gmail.com)
http://www.woong.org

ymink의 이미지

저는 학교에서 특정 언어를 심도있게 가르칠 필요는 없다고 생각합니다.
제가 다닌 학교에서는 특정 언어를 가르치는 과목이 없었는데, 아마 그 영향을 무시할 수는 없을 것입니다. (전공 과목에 없었다는 것이고, 전교생이 듣는 교양 선택 과목에는 있었던 것 같기도 합니다만, 매우 오래되서 기억이 잘 안납니다.)

"프로그래밍 언어" 과목은 보통 3학년을 대상으로 한 것이었고, 교재는 Sebesta의 "Concepts of Programming Languages" 였던 것으로 기억합니다.

수업시간에는 imperative language부터 OOP, Functional 등등 programming language의 역사를 훑어가면서, 어떤 개념들이 등장했는지, 굵직굵직한 사건(?)들의 사례를 통해 배웠고, 중요한 개념들은 각 language에서 어떤식으로 구현했는지를 배웠습니다.

예를 들어, 지금 기억나는 것을 두서없이 적어보면...
OOP에 관련된 chapter가 나오면, 주로 abstraction, encapsulation, inheritance 등을 배우면서, 시조인 SIMULA-67과 최근(?)의 C++ 등에서는 어떻게 그런 것들이 구체적으로 구현되었는지를 배웠고,
Concurrent P.L.에서는 critical section, dead-lock, Monitor, Semaphore 등등이 무엇인지를 배웠습니다. 그리고, binding time과 name scoping등의 정책에 따라 어떻게 다른 양상이 벌어지는 것인지도 배우고..., pointer를 배울 때는 pointer의 단순한 개념 뿐 아니라, dangling pointer가 어떻게 생기고, 그런 것을 해결하는 것부터 해서 garbage collection까지 머리에 쥐나는 줄 알았습니다. (지금 생각해도 쥐납니다.)

그러니까, 도대체 programming language라는 것이 무엇이고, 거기에는 어떤 개념들이 들어가 있으며, 그 개념들이 어떤 의미를 갖는 지 등등, 생각한 바를 구현하기 위해서 어떤 도구(개념)을 사용하고 어떻게 그것들이 동작하는 지를 배운 것입니다.

시험에도 물론 그런 개념들과 용어들을 어떻게 파악하고 있는 지 묻는 것들이 나왔고, coding이 필요한 경우에도 적당히 pseudo coding을 했을 뿐, 직접 구체적인 언어로 ; 하나까지 신경써가며 작성하지는 않았습니다.

지금 생각해보면, 그런 접근 방법이 '전산학' 또는 '컴퓨터공학'을 전공하는 학생들에게 적합한 것이라고 생각합니다. 정작 실제 programming이 필요하다면, 알아서 공부하고 스스로 습득해야 했다는 '단점'도 물론 있었죠.

그것은 다른 과목도 마찬가지어서, 예를 들어, 2학년 과목이었던 system programming에서는 memory가 어떻고, assembler가 각각 어떤 식으로 돌아가는 지 배우고 (1-pass, 2-pass 등등), 각 assembly instruction을 배우지는 않았지만........ 결국 마지막 숙제로 68k assembler를 386, 68k, 그리고 뭔지 하여간 세 개의 assembly 언어로 작성해야 했습니다. (덕분에 크리스마스를 전산실에서 새우잠을 자 가며 보내야 했던 추억(!)이...), 다른 과목에서는 동일한 숙제를 C, C++로 각각 (언어의 특성을 잘 반영하며) 작성해야 했던 기억도 있습니다.

즉, 전산/컴공 학생들에게 C, C++, Java 등등의 language는 도구일 뿐, 그 자체가 목적이 되지는 않았다는 것이지요. 배워야 할 language는 너무나도 많습니다. 그렇지만, programming language가 담고자 하는 개념들을 꿰고 있으면, language 하나 하나 배워서 적용하는 것은 그다지 어려운 일이 아닐 것입니다. 학교에서는 그런 기초 체력을 키워주는 것이 좋다... 뭐 그런 말을 하고 싶었습니다.

hexascii의 이미지

죽 읽어보니, ymink님 말씀이 제일 맞는 듯 합니다. 사실 Language 익히는데 들이는 노력이 얼마나 크십니까? 관련 문법 파악은 익숙하지 않아서 그렇지 금방 이해하지 않으십니까?

사실 중요한 건 활용이 아닌 사용, 바꿔 말씀드리자면 제공되는 Library의 사용이 아닐런지? 그런게 제공되지 않는 언어 (여기서 예로 들기엔 많은 분들의 질타가 우려됩니다^^;;;;) 라면, 정작 중요한 것은 학부 때 배우는 알고리즘 & 자료구조 아닐까요?

많은 분들(한국의 고명하신 초창기 Sir. IT 멤버 님들)께서 당연하다고 말씀하신 것들에 관성이 생겨 그런 것에 대한 성가심이 아닐까 합니다.

C++(혹은 C)은 그런 기초를 닦아 나가기엔 부족함이 없는 Language입니다. 그런 기초적인 언어가 구현하고 있는 연산자 우선순위를 비웃을 필요는 없겠죠.

samsee의 이미지

현업 프로그래머입니다(학부생 점령이라//;;)저정도 문제는 그냥 '기초점수'주기 라고 생각해야 하지 않을까요:) 물론 교수님마다 성향이 다르시겠지만요. 성의없는 수업이라면 스스로 공부해 보세요. 정말 우리가 배워야 할 것들은 수업(없)이 많지 않을까요?
웹 개발도 해보고 지금은 금융권에서 코볼 프로그래밍을 하고 있는데요, 그때 갈고 닦은 기초들이 정말 오래 간다고 생각해요. 다들 삽질하고 있는 상황 속에서 뭔가 좀 더 나은 걸 만들어 보고 싶을때, 그때 빛을 발하는게 바로 '기초'라고 생각해요.
터 다지기를 잘 해둬야 건물이 잘 올라가고 오래 가겠죠? 그런 과정이라 생각하시고 힘내세요.

kaeri17의 이미지

x *= x++ + ++y

이건... 비표준이네요.. java라면 모르겠지만 C에서는 분명한 undefined behavior입니다. 게다가 연산자 우선순위로 문제내는건 정말 짜증나죠. 문제 낼 실력이 없다고도 보이네요.

하여간 C/C++/JAVA정도 하고 funtional programming language하나 정도 대충 다룰 줄 알면 사실 학부에서 더 공부할 필요는 없을 듯 하네요..

C/C++표준과 구현에 대해서 상세히 알고 함수형 언어 하나 할줄만 알아도 programming language 강의 하나 듣고 나면 사실 다 그놈이 그놈들인거 알수 있으니까요

사실 학교에서 언어 자체를 여러가지 가르치려 하는건 별로 좋지는 않다고 생각합니다. 요즘 취업이다 뭣이다 해서 ASP, Javascript 같은거 가르치는데도 있던것 같은데

사실 이것이 Computer Egneering/Science에 중요한건 전혀 없거든요.. 사실 스크립트 언어는 전공자 입장에서는 배워야 할 대상이 아니라 만들어야 할 대상 같네요.

간단한 인터프리터 같은거 구현할수 있는 능력이 javascript코딩 능력보다 중요한것 같아요

Darkcircle의 이미지

저도 불만이 있는거고 그 불만에 대해선 인정합니다.
저도 그래서 문제 잘못되면 당당하게 손을 들고 이의제기를 합니다.
이렇게 되어야 하는것이 이론상으로 맞는데 여기선 이렇게 되어 있다.
그것도 다 들리게도 아니고 아주 조용하게 말이죠.
만약 그거 조차 문제로 내버리신 교수님이라면 응~ 알아서 풀어...
그러시는데 그렇지 않은 교수님이라면 전체공지를 칠판에 적고 나가버리시죠...

어쨌든 문제가 올바르건 올바르지 않건간에 정작 중요한것은
문제를 통해 물어보고자 하는 핵심이 무엇인가를 파악하는 것이라고 봅니다.
그 문제에 대한 답을 최대한 간략하게 촌철살인급으로 써내야죠.
공대 교수님들 특성상 답을 "너무 장황"하게 쓰면
양심의 가책없이 사선긋고 F주는거 아시죠 _ㅡ_)? ;;;;;

---------------------------------------------------------------
피곤함 1테라톤을 가방 보따리에 주섬주섬 짊어메고 다니는 아이 . . . Orz

---------------------------------------------------------------
폐인이 되자 (/ㅂ/)

pchero의 이미지

어쩌면 이런 경우는 아니신지요...

학생들의 열정이 지나치게 없어서 교수님마저 의욕을 상실하신건 아닌지...

조심스레 짐작해봅니다.

학점은 줘야겠는데.....학생들 실력은 눈에 뻔하니...이런경우..;;

---------------------------------
제일 왼쪽이 저입니다 :)

---------------------------------
제일 왼쪽이 저입니다 :)

익명 사용자의 이미지

도대체 어떤 학교 다니시길레......
저는 너무 어려워서 못따라가겠는데ㅠㅠ

익명 사용자의 이미지

국내에서 컴공은 석사과정이 무의미 합니다.
일부 블로거들께서는 석/박사 학위는 인터뷰시 감점요소라고 하신 분도 계시죠(물론 개인특성 고려안한 이야기...)
저도 일부 공감합니다.

그러고 보면 현재 대학생들은 등록금 이야기 할 말 많겠어요

익명 사용자의 이미지

sugarlessgirl wrote:
허구헌날 ++, -- 로 꼬아서 내기..
예를 들면 x *= x++ + ++y; 이거 값이 뭐냐? 라던가..
아니면 연산자 우선순위..
그나마 자바는 포인터가 없어서 다행입니다.

도대체 저런문제는 왜 내는지 모르겠네요. 단순히 문제만들기 쉬워서? 체점하기는 곤란할텐데요;;

sugarlessgirl wrote:
C++ 이나 Java 수업은 중간고사 까지
Object 의 O 자도 안배우고, 옛날에 배웠던 변수, 배열, 연산자, 제어문
재탕 삼탕 하다가, 중간고사 보고나서 놀라운 속도로 객체지향 이론을 싸그리 끝내버립니다. -_-

저도 이부분 동감합니다. 몇년이 지나도 그대로네요 :|

익명 사용자의 이미지

연산자 우선순위 정도는 퀴즈 레벨의 문제로 생각됩니다.

저는 전산비전공이였지만 C언어를 배웠을 때에는 기말고사 문제로 atoi()를 구현하라는 문제가 나왔던 것으로 기억합니다.
물론 실습과제 비중이 상당히 높았습니다.
(수강 인원이 100명이 안되는 규모였기 때문에 이런식의 주관식 문제가 가능)

이과대 이론○○컴퓨터실습 조교를 몇년간 했었는데, putty로 리눅스 접속해서 간단한 포트란프로그래밍도 하고,
나머지 시간의 상당부분은
실험데이타를 포트란 프로그램으로 처리 / gnuplot로 그래프그리기 / 포트란 프로그램강의는 5회정도 / 강의때마다 바로바로 실습 / 과제제출은 html로
(html로 제출했기때문에 누군가가 베끼는 경우도 물론 가능했음. 기한 엄수.)

그런데 리눅스 자체도 익숙한 학생들이 아니다보니 베끼기도 잘 못하고,
제가 접속시간이라던지 히스토리를 스크립트를 이용해 모두 점검했기때문에 복제가 적발되면 0점처리ㅋ
주로 실습 및 실습과제로 진행되었고, 최종과제(take home exam) + 기말고사는 실기로 봤습니다.
주어진 시간안에 (정해진 제한시간은 사실상 없음) 모든 문제를 풀되, 제가 돌아다니면서 직접 질문, 그밖의 숙련도 점검.

최종 채점시 접속시간 등등을 분석해서 +alpha 점수 주고, (상위 1% 학생의 접속시간 총합은 나머지 모든 학생의 접속시간보다 많더라는..)
점수 이의신청하면 직접 해보라고 기회를 주었는데도 대부분 찍소리도 못했죠ㅋ