이희종
가입: 2006년 3월 7일 올린 글: 50
|
올려짐: 2007년3월8일 13:41 주제: 숙제를 시작하기 전에 꼭 읽어주세요 |
|
|
숙제를 하실 때는 아래 주의사항을 꼭 지켜주세요. 아래 항목들은 자동채점시 에러를 발생시키는 주요 원인이며, 좋은 프로그래밍 습관이 아닙니다.
1. 대소문자는 구분하지 않는 것으로 가정(case insensitive)하고 프로그래밍 합니다. 예를 들어 set과 Set, SET은 모두 같은 변수 입니다. 그러므로 다른 변수를 지칭하고 싶을 때는 완전히 이름을 다르게 만들어주세요.
2. 이미 존재하는 함수 이름은 사용하지 않습니다. DrScheme에서 Language 선택을 Pretty Big으로 할 경우 로드되는 기본 함수들(map, match, filter 등등)과 겹치는 이름은 사용하지 않습니다. 이름이 겹치면 다른 이름을 선택해서 프로그래밍하세요.
종종 숙제에 제출하라고 제시된 함수 이름이 이미 존재하는 함수 이름과 겹치는 경우가 있습니다. 그럴 경우 제시된 이름 앞에 my를 prefix로 붙이는 것을 원칙으로 합니다. 제출해야 할 함수의 변경된 정확한 이름은 항상 게시판을 참고하시기 바랍니다.
3. 숙제에 제시된 타입을 꼭 지켜주세요. 예를 들어 숙제에서 요구하는 함수가
코드: | f: unit -> int
g: int -> bool |
의 타입을 가진다면 조교는
와 같은 형태의 코드를 실행시켜 나온 결과값을 #t, #f와 비교하여 여러분의 숙제를 채점합니다. 이때 f를 별 생각 없이 과 같이 정의하면 f는 함수가 아니라 정수가 되어 숙제에서 제시한 타입과 다르게 됩니다. 정확한 타입을 지키기 위해서는 과 같이 정의하셔야만 제대로 된 채점결과가 나옵니다.
작년 프로그래밍 원리 수업에는 괄호의 개수가 맞지 않거나, 함수 이름이 제시된 것과 달라서 0점 처리된 숙제들을 제가 일일히 손으로 고쳐가며 구제해 드렸습니다. 또 위의 3번 경우에 해당하는 실수를 하신 분들도 약간의 감점 처리 밖에 하지 않았습니다. 그렇게 하니 거의 마지막 숙제까지 계속 똑같은 실수를 하시는 분도 계시더군요. 그래서 올해는 *절대로* 구제해 드리지 않습니다. 반드시 제출하시기 전에 숙제에 제시된 이름과 타입을 사용하였는지, 제대로 돌아가는 프로그램인지 확인하시고 테스트 코드를 주석처리 한 후 내주세요. |
|