Instruction
Course Staff
- 강의자: 최우혁
- 연구실: 공학 6호관 407호
- 이메일: woohyeok.choi@kangwon.ac.kr
- 조교: 이현준
- 이메일: hijkl2e@naver.com
Time & Location
- (실습): 수요일 12:00 - 13:50, 공학 6호관 517호
- (이론): 금요일 10:00 - 11:45, 공학 6호관 610호
Office Hours
- 화요일 14:00 - 15:00
- 주의 사항
- 수업 및 과제 관련 내용은 면담 대신 e루리 질의 응답 게시판에 올려서 모든 학생이 공유할 수 있도록 할 것
- 수업 및 과제 관련 내용을 제외한 면담이 필요시 미리 이메일로 연락하여 일정을 잡을 것
Textbook
- Steven S. Skiena , Miguel A. Revilla 저, 서환수 역, 알고리즘 트레이닝 북 (Programming Challenges), 12쇄, 한빛미디어
Prerequisite
- (필수) C/C++, Java, Python 프로그래밍 중 1
- 교재는 C 위주이나, 강의 내용은 Python 위주로 진행
- (선택) 자료 구조
Grading Policy
- 과제: 50%
- 매 주 실습 시간(수요일 12시)부터 2-3문제의 과제가 주어지며, 총 10개의 과제 예정
- 매 주의 과제마다 100점 부여
- 구름 EDU에 개설된 코딩 테스트 과제를 구름 EDU를 통해 제출
- 과제 부여 후 3일 이후에 제출 시 24시간 마다 10%씩 감점.
- 예. 토요일 12시 전 제출: 100%; 토요일 12시 - 일요일 12시 제출: 90% 등.
- 다음 주 실습 시간 전에 제출하지 않을 시 0점.
- 과제 부여 후 3일 이후에 e루리 공지사항으로 테스트 케이스 공개
- 특정 테스트케이스 입력에 대해 특정 출력을 내도록 하면 무조건 F
- 표절 적발 시 해당 과제는 표절한 사람, 표절당한 사람 모두 0점 처리, 2회 이상 적발 시 무조건 F
- FAQ: 친구들끼리 논의해서 코드를 만들었기 때문에 같을 수 있지 않나요?
- 코드를 m x n 행렬로 된 문자열이라고 본다면, (m x n)!의 작성법이 존재함.이렇게 수많은 작성법들이 존재함에도 코드가 일치한다는 건 상식적으로 말이 되지 않음
- 프로그래밍 코드는 문제를 해결하는 방법을 기술하는 방법 중 하나이지, 절대적인 진리가 아님. 프로그래밍 코드 대신 자연어로 문제 해결 방법을 기술한다면 사람마다 다 다른 용어와 순서, 방법으로 기술할 것임. 코드도 이와 마찬가지.
- FAQ: 왜 표절당한 사람도 0점 처리하나요?
- 위에서 말했듯이, 수많은 코드 작성법 중이 일치하는 경우는 거의 없음.
- 만약, 두 코드가 일치했다면 정황상 (억울할 수도 있지만) 표절당한 사람은 표절한 사람에게 코드를 의도적으로 공유했다고 밖에 볼 수가 없음.
- 과제에 대해 논의하는 것은 좋으나, 해답 코드 자체를 공유하지는 말 것
- 해답 코드를 그대로 베끼는 것은 CS/CE를 공부하는 사람으로서 부끄러운 일임
- FAQ: 친구들끼리 논의해서 코드를 만들었기 때문에 같을 수 있지 않나요?
- 중간시험: 20%
- 과제와 동일한 방식으로 하되, 시 험 시간 내에 제출
- 기말시험: 20%
- 과제와 동일한 방식으로 하되, 시험 시간 내에 제출
- 출석: 10%
- 지각 3회 = 결석 1회
- 결석 1회에 출석 점수 1% 차감
- 총 수업 일의 1/3 (10회) 초과 결석 시 F
- 즉, 11회 이상 결석 시 F
- 별도의 사유(예. 예비군 훈련 등)가 있을 시 수업 시간 전에 교수 및 조교에게 이메일 송부
- 단, 급하게 벌어진 사유(예. 급병, 친족상 등)는 소명 자료를 제출
Schedule
W01: 과목 개요 및 기초 실습
- 1 Sep: 과목 개요
- 6 Sep: 실습 및 과제 1
- 제출 기한: 12:00, 9 Sep
W02: 자료 구조 1
- 8 Sep: 자료 구조 1
- 13 Sep: 실습 및 과제 2
- 제출 기한: 12:00, 16 Sep
W03: 자료 구조 2
- 15 Sep: 자료 구조 2
- 20 Sep: 실습 및 과제 #3
- 제출 기한: 12:00, 23 Sep
W04: 문자열
- 22 Sep: 문자열
- 27 Sep: 실습 및 과제 #4
- 제출 기한: 12:00, 7 Oct
- 해당 과제는 3일 내 제출 대상이 아님
W05: 추석 연휴
- 29 Sep: 추석 연휴
- 4 Oct: 실습 및 과제 #4 (연계)
W06: 정렬
- 6 Oct: 정렬
- 해당 일자는 출장으로 인해 e루리 동영상 강의로 진행
- 11 Oct: 실습 및 과제 #5
- 제출 기한: 12:00, 14 Oct
W07: 재귀 관계
- 13 Oct: 재귀 관계
- 18 Oct: 실습 및 과제 #6
- 제출 기한: 12:00, 21 Nov
W08: 중간고사
- 시험일시/시간: 2023년 10월 25일(수) 12:10 - 13:50
- 시험장소: 공학 6호관 608호
- 시험방법: 구름 EDU에서 "중간고사" 선택하여 풀이
- 시험문항: 4문항
- 주의사항:
- 실습실에 구비된 컴퓨터로만 시험 응시 가능(노트북, 태블릿 등의 개인 전자 기기로 응시 불가)
- 시험 시간에는 오직 구름 EDU만 실행해야 함. 이 외의 프로그램(예. 이클립스, VS CODE 등의 IDE, 메모장, 계산기 등) 또는 구름 EDU를 제외한 웹 페이지 실행 시 0점 처리.
- 시험 시작 시간인 12시 10분 내에 시험 장소에 입장하지 않을 시 0점 처리
- 시험 시간 내에는 화장실 사용 불가.
- 개인 전자 기기가 벨소리, 진동 등으로 울릴 시 0점 처리. 전원을 끌 것.
- 대리 시험, 컨닝 등 부정 행위 발견 시 0점 처리.
- 시험 종료 시간 전에 꼭 제출 버튼을 눌러 제출할 것. 제출 버튼을 누르지 않으면 시험 응시 내용이 기록되지 않음.
- 시험 문제 내용에 대한 질문은 허용되지 않으며, 문제 이 외의 사항(예. 구름 EDU 시스템 오류 등)에 대해서만 질문 허용.
- 팁:
- 첫 번째 문제가 가장 쉬우며, 나머지 세 문제는 비슷한 난이도임.
- 테스트케이스별로 부분 배점이 있으니, 한 문제에서 적당한 부분 점수를 얻었으면 다른 문제로 넘어가는 것도 전략.
W09: 되추적
- 27 Oct: 되추적
- 1 Nov: 실습 및 과제 #7
- 제출 기한: 12:00, 4 Nov
W10: 그래프 순회
- 3 Nov: 그래프 순회
- 8 Nov: 실습 및 과제 #8
- 제출 기한: 12:00, 11 Nov
W11: 최소 비용 신장 트리
- 10 Nov: 최소 비용 신장 트리
- 15 Nov: 실습 및 과제 #9
- 제출 기한: 12:00, 18 Nov
W12: 최단 경로 문제
- 17 Nov: 최단 경로 문제
- 22 Nov: 실습 및 과제 #10
- 제출 기한: 12:00, 25 Nov
W13: 동적 계획법
- 24 Nov: 동적 계획법
- 29 Nov: 실습 및 과제 #11
- 제출 기한: 12:00, 9 Dec
- 해당 과제는 3일 내 제출 대상이 아님
W14: 탐욕적 방법과 분기한정법
- 1 Dec: 탐욕적 방법
- 6 Dec: 실습 및 과제 #11 (연계)
W15: 기말고사
- 시험일시/시간: 2023년 12월 13일(수) 12:10 - 13:50
- 시험장소: 공학 6호관 517호
- 시험방법: 구름 EDU에서 "중간고사" 선택하여 풀이
- 시험문항: 3문항
- 주의사항:
- 실습실에 구비된 컴퓨터로만 시험 응시 가능(노트북, 태블릿 등의 개인 전자 기기로 응시 불가)
- 시험 시간에는 오직 구름 EDU만 실행해야 함. 이 외의 프로그램(예. 이클립스, VS CODE 등의 IDE, 메모장, 계산기 등) 또는 구름 EDU를 제외한 웹 페이지 실행 시 0점 처리.
- 시험 시작 시간인 12시 10분 내에 시험 장소에 입장하지 않을 시 0점 처리
- 시험 시간 내에는 화장실 사용 불가.
- 개인 전자 기기가 벨소리, 진동 등으로 울릴 시 0점 처리. 전원을 끌 것.
- 대리 시험, 컨닝 등 부정 행위 발견 시 0점 처리.
- 시험 종료 시간 전에 꼭 제출 버튼을 눌러 제출할 것. 제출 버튼을 누르지 않으면 시험 응시 내용이 기록되지 않음.
- 시험 문제 내용에 대한 질문은 허용되지 않으며, 문제 이 외의 사항(예. 구름 EDU 시스템 오류 등)에 대해서만 질문 허용.
- 팁:
- 첫 번째 문제가 가장 쉬우며, 나머지 두 문제는 비슷한 난이도임.
- 테스트케이스별로 부분 배점이 있으니, 한 문제에서 적당한 부분 점수를 얻었으면 다른 문제로 넘어가는 것도 전략.
W16: (보강) 특강
- 15 Dec: 특강