2014 ucpc seminar

40
맨맨맨맨 맨맨 맨맨 맨맨 , 맨맨맨… 2014. 05. 18. 맨맨맨

Upload: hyun-hwan-jeong

Post on 05-Aug-2015

109 views

Category:

Education


6 download

TRANSCRIPT

Page 1: 2014 UCPC seminar

맨땅에서 교내 대회 열기 , 그리고…

2014. 05. 18.정현환

Page 2: 2014 UCPC seminar

소개

• 아주대학교 컴퓨터공학과 박사과정–전공분야 : bioinformatics–주의 : 졸업은 언제냐 묻지 말아주세요 .

• algospot.com 운영진• 아주대학교 학술소학회 A.N.S.I. 고문• 2013 ACM-ICPC 대전대회 조교

Page 3: 2014 UCPC seminar

대회에 대한 경험은 제법 됩니다

• 참가자로서– 2004-2007 ACM-ICPC Asia 지역 대회 7 회• 하지만 , WF 는 0 회…

• 대회 개최자로서– 2007 첫 대회 개최 ( 동아리 회원 대상 )– 2009-2013 APC (2012 제외 )– 2011-2013 전대프연 여름 대회– algospot.com N 주년 대회 , 지역대회

warmup

Page 4: 2014 UCPC seminar

잠깐 , 제 경험담을 풀어보겠습니다

Page 5: 2014 UCPC seminar

왜 대회를 열고 싶었을까 ?

• 이 프로그램을 써보고 싶었습니다 .

Page 6: 2014 UCPC seminar

왜 대회를 열고 싶었을까 ?

• 동아리가 부러웠죠– SCCC, Yutar, …

• 2007 년 초반 아주대 ICPC 준비하는 사람은 ?–놀랍게도 3 명 내외–뭔가 대회를 체험하게 하면 늘지 않을까 ?

Page 7: 2014 UCPC seminar

맨땅에서 시작

• 첫 대회–멀티미디어 동아리 대상

• 혼자서도 쉽게 하겠지 ?–기출문제를 쓰자–대회 시스템 구축은 매뉴얼을 보면…–상품은 자비로 ( 문화상품권 )

Page 8: 2014 UCPC seminar

하지만 , 세상에 쉬운 일이 있던가요 ?

• 대회 도중 나의 심리 상태

Page 9: 2014 UCPC seminar

당시 상황

• Automation judge 는 켜지지도 않고• 실행이 안되어서 손수 compile• 출력 비교가 안되어서 winmerge 로 비교• 참가자의 troubleshooting 도 해줘야

하고

• 뭐 이리 할게 많아 !

Page 10: 2014 UCPC seminar

대회가 끝나고

• 좋긴 한데… 힘드네 ?• 다시는 안하는 것으로–하지만 누군가 이야기 했죠• 인간의 욕심은 끝이 없고 , 같은 실수를 반복한다 .

Page 11: 2014 UCPC seminar

그러다 은퇴를 당했습니다

Page 12: 2014 UCPC seminar

그리고 A.N.S.I. 가 생겼네요

• 본격적인 아주대 PS 동아리의 시작 !

Page 13: 2014 UCPC seminar

만든 건 좋은데

• 회원수가…

Page 14: 2014 UCPC seminar

그리고 같은 실수를 반복합니다

• 홍보를 위해서 뭐가 좋을까 ?–역시 대회를 준비하는 것이 좋겠지 ?

• 교내대회 형식으로 열어보자–학교와 기업에 후원을 요청• 상장 , 상품

Page 15: 2014 UCPC seminar

그리고 시작된 APC

• 2009 년 첫 시작–이때 많은 시행 착오를 겪음–교훈• 커뮤니케이션의 중요성• 많은 준비 인원의 필요성

• 2010 년부터 본 궤도에 올라간 APC–참가자 수 증가– PS 에 대한 홍보 효과– 2011 년 부터는 외주 없이 진행

Page 16: 2014 UCPC seminar

APC 연간 참가자 수

2009 2010 2011 2012 20130

10

20

30

40

50

60

Page 17: 2014 UCPC seminar

본격적으로 이야기를 해봅시다

Page 18: 2014 UCPC seminar

들어가기에 앞서

•희망사항–노하우 전달–저변 확대–지피지기면 백전백승

Page 19: 2014 UCPC seminar

교내 대회 개최 절차

시기 선정 , 후원 물색

대회 준비 팀 구성

문제 출제

대회 홍보

시스템 구축

대회 진행

Page 20: 2014 UCPC seminar

시기 선정

• 목표–준비 기간이 너무 촉박하지 않아야 함–많은 사람이 참가할 수 있도록 함

• 학교에 의존적일 수 밖에 없음–학교 행사 유무–실습실 대여 가능 여부

Page 21: 2014 UCPC seminar

시기 선정

• 각 학교별 개최 시기 ( 제가 아는 한도 내에서 )

1 월 2 월 3 월 4 월 5 월 6 월 7 월 8 월 9 월 10월

11월

12월

아주대 숭실대 서강대

Page 22: 2014 UCPC seminar

후원 물색

• 학교 후원–단과 대학 , 학과 두 곳 다 알아볼 것• 직접적인 문의 , 교수님과의 연락 둘다 필요

–부상에 대한 요청• 1 학기 전에 문의를 해야 가능성 높음

–상장의 경우에는 어떤 급이 가능한지 문의• 총장상 , 대학장 , 학과장상

Page 23: 2014 UCPC seminar

후원 물색

• 기업 후원–해당 회사에 선배가 있을 경우 연락이 수월함–반드시 , 첫 연락 때 제안서를 보낼 것• 대회에 대한 소개• 후원을 통한 기대 효과

–가능한 요구 사항• 상품 , 인턴쉽 같은 특전

Page 24: 2014 UCPC seminar

대회 준비팀 구성

• 동아리 회원 차출–재학생 참가 불허

• 대회 홍보와 시험 감독–학생회에게 요청–생각보다 많은 인력이 필요

• 문제 출제 , 시스템 구축–절대 한 명이 해서는 안됩니다 !

Page 25: 2014 UCPC seminar

대회 준비팀 구성

총감독

회장 부회장 문제출제진 시스템 팀

Page 26: 2014 UCPC seminar

문제 출제

• 난이도 설정–어려울 필요는 없다 !• 질보다는 양으로

– 어려운 문제 5 문제 보다 , 쉬운 문제 10 문제

–가급적이면 TLE issue 가 발생하는 문제는 적게• 문제가 쉬워야 검증도 쉽다

–말릴 가능성이 보이는 문제는 피할 것

Page 27: 2014 UCPC seminar

문제 출제

• 문제 선정–협업 도구를 통한 의견 공유

Page 28: 2014 UCPC seminar

문제 출제

• ( 개인적인 ) 추천 출제 비율

simple math30%

string10%

search20%

impl.10%

DS10%

DP10%

hard10%

Page 29: 2014 UCPC seminar

문제 출제

• 지문 작성–명확하게• 2008 년 인터넷 예선 ‘수위 아저씨의 고민’ 사건• 오타와 어색한 문장이 없는지 대회 전까지 확인

–최대한 친절하게• Clarification 지옥을 피하는 방법• 문제를 이해 못해서 못 푸는 사람이 없도록

– 입출력예시에 대한 설명

Page 30: 2014 UCPC seminar

문제 출제

• 입출력 데이터 제작– ( 가능한 ) 모든 경우의 테스트가 가능하게–입출력 크기는 최대한 작게• 입력 크기 : 10M 이내• 출력 크기 : 1M 이내

–가급적 간단한 형식으로• Binary input, string 처리는 지양하도록

–꼭 2번 이상 validation 을 할 것

Page 31: 2014 UCPC seminar

문제 출제

• 좋은 데이터를 만드는 방법–손으로 데이터 제작–큰 데이터의 경우 generator 로 만들기• python, ruby script!

• 검수할 때– 2 가지 버전으로 검수• 해법 vs. 완전탐색

Page 32: 2014 UCPC seminar

꼭 쓰세요 , 두번 쓰세요

Page 33: 2014 UCPC seminar

시스템 구축

• 사용 가능한 공개 시스템이름 기반 장점 단점

PC2 Java • Java설치로 구동 가능• ICPC 사용 시스템• OS 독립적

• 입출력 데이터 크기에 민감

• 불안정한 네트워크에서 사용 어려움

• Sandboxing 미지원

HUSTOJ Web(PHP) • 자동 채점 가능• Lavida Judge 의 모태• sandboxing

• Linux server 구축 필요

• Clarification 기능 미흡

LCS Web(PHP) • IPSC 형식 대회 가능( 출력만 제출 )

• 언어 제약 없음

• 소스코드 제출 채점 불가

• 손이 많이 감• 아직 미공개 (곧 합니

다 )

Page 34: 2014 UCPC seminar

PC2 구조

pc2server

pc2admin

Pc2judgewith compiler

pc2boardwith HTTP

pc2team

Page 35: 2014 UCPC seminar

대회 진행

• 대회 규정 사전 공지– APC 규칙 참고

• 예비소집–불참자에게 꼭 연락

• 채점자와 참가자 공간 분리• 문제는 출제자가 채점할 수 있도록–항시 제출된 해법의 모니터링을 할 것

Page 36: 2014 UCPC seminar

대회 진행

• 재채점 필요–전체적 공지와 함께 재 채점 결과 보낼 것–가급적이면 맞은 해법에 대해서는 손대지 말

것• 문제가 되는 test 케이스를 수정 혹은 제거하고 채점

Page 37: 2014 UCPC seminar

대회 진행

• Clarification–최대한 친절하게 답변 해줄 것–자주 묻는 것에 대해서는 전체 공지• 구두로도 공지할 것

–자주 들어올 질문• 뭐가 틀렸는지 모르겠어요• 예시가 이해가 가질 않습니다

Page 38: 2014 UCPC seminar

요약 및 당부사항

• 대회를 연다는 건–어렵습니다–많은 것을 남겨줍니다

• 꼭 이야기 해주고 싶은 것–좋은 대회를 여는 것이 중요합니다만 ,

이어가는 것도 중요합니다 . 그러니 절대로 혼자 하지 마세요 .

–그리고…

Page 39: 2014 UCPC seminar

마지막으로

• 선배로서의 이야기를 살짝 해보렵니다 .– PS 에 몸을 담는 것

• 그리고 다양한 질문을 환영합니다 .–대회 참가자로서–대회 개최자로서–그리고 박사과정 학생으로서

Page 40: 2014 UCPC seminar

들어주셔서 감사합니다

• 꼭 한번 해보고 싶은 강연 기회를 준전대프연 여러분들께 다시 한번 감사의 말을전합니다 .

• 그리고 스폰서도 !