[nhn next 14] [pl in c++] 1. 수업 내용 및 진행 방법

49
PL in C++ 2014.7.7 박박박 1 박 : 박박 박박 박 박박 박박 , 박박 박박

Upload: mingeun-park

Post on 20-Jun-2015

386 views

Category:

Software


0 download

DESCRIPTION

NHN NEXT 2014년도 2학기 PL in C++ 강의 자료

TRANSCRIPT

Page 1: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

PL in C++

2014.7.7박민근

1 강 : 수업 내용 및 진행 방법 , 평가 소개

Page 2: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

수업전 질문http://agebreak.clbnow.com

Page 3: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

알콜코더 박민근 (@agebreak)

NHN NEXT 게임 전공 교수네오위즈 게임즈 - 야구의 신 개발NTL-inc - 드래곤볼 온라인 개발엔씨소프트 – PlayNC 빌링 서버 개발

‘ 신입 게임 개발자의 서울 상경기’(http://agebreak.blog.me)

‘ 초중급 게임 개발자 스터디 ( 데브루키 )’(cafe.naver.com/devrookie)

게임 개발자 랩소디 ( 팟캐스트 )(http://www.podbbang.com/ch/3921)

게임 클라이언트 프로그래머30 대… 그리고 오타쿠 프로그래머 ...

언젠가는 우즈벡에 .. 일류젼 우즈벡 지사를 설립할 예정

Page 4: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

Visual Studio 2013설치

Page 5: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

과학자는 배우기 위해

개발하지만

엔지니어는 개발하기 위해

배운다- 프레드 브룩스

Page 6: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

수업의 목표

Page 7: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

• 객체 지향 프로그래밍을 이해한다 .

• C++ 로 객체 지향 프로그래밍을

작성할 수 있다 .

• C++ 로 간단한 콘솔창 게임을

제작할 수 있다 .

Page 8: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

• C++ 로 필요한 자료 구조와

알고리즘을 작성할 수 있다 .

• 게임 개발에 필요한 알고리즘을 C+

+ 로 구현할 수 있다 .

• C++ 의 기본을 이해한다 .

Page 9: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

핵심 목표

Page 10: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

물론…

전부 다 중요하지

만 ...

Page 11: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

• 객체 지향적으로 클래스를 제작하고 , 상속 , 다형성등…객체 지향 프로그래밍 기법을 활용한다 .

• 포인터를 이용하여 메모리의 할당과 해제 , 관리를 이해 한다 .

• C++ 디버깅 !

Page 12: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

진행 방법

Page 13: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

• 학습• PL in C++ 개념• PL in C++ feature• PL in C++ 스킬

월요일 (2 시간 )

• 프로젝트 제작• BattleShip Game• 배운 개념과 지식을 실제로 활용• 실제 게임을 구현하면서 학습• 학습한 내용들을 이해하여 적용

목요일 (3 시간 )

Page 14: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

Flip Learng-ing

Project Based

Pair Pro-gramming

Page 15: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

Flip Learn-ing

Page 16: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

강의 안해 !!!

Page 17: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

1. Flipped Learning - 무엇인가 ?

출처 : http://www.washington.edu/teaching/teaching-resources/flipping-the-classroom/flippedclassroomuw-colors-1/

Page 18: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

2. Flipped Learning - 어떤 원리인가 ?

Page 19: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

Project Based

Page 20: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

목표 C++ 로 게임 만들

자 !!

Page 21: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법
Page 22: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법
Page 23: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법
Page 24: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

Project Based Learning

• C++ 을 배워서 게임을 만드는 것이

아니라 , 게임을 만들기 위해서 C++ 을

배운다 .

• BattleShip Game 프로젝트를

제작하면서 , 필요한 C++ 을 구문들을

이해해 간다 .

Page 25: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

Project Based Learning

• 수업 내에서 진행하는 BattleShip

Game 프로젝트가 곧 실습 과제가 된다 .

• 학기가 끝났을 때 , 전원 BattleShip

Game 프로젝트를 이해하고 , 개발할

수 있다 .

Page 26: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

Project Based Learning

• How, What 이 아닌 , Why 를 공부한다 .

• 이것을 왜 공부해야 하는지 , 이것을

어디에 사용해야 하는지에 중점을 둔다 .

Page 27: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

Pair Pro-gramming

Page 28: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법
Page 29: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

Pair Programming

• 실습은 짝 프로그래밍으로 진행된다 .

• 2 인 1 조가 되어 하나의 PC 로 같이

프로그래밍 한다 .

• 한사람은 드라이버 , 한사람은 내비게이터가

된다 .

Page 30: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

Pair Programming 의 목적 및 효과• 코드의 품질을 향상 시킨다 .

• 개발에 대하 집중력을 높인다 .

• 팀 내 커뮤니케이션을 증진시킨다 .

• 지속적인 코드 리뷰가 될 수 있다 .

• 협업을 통해 서로가 서로를 발전 시킬 수 있다 .

• 개발이 좀 더 즐거워 질 수 있다 .

Page 31: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

PP 기본 진행 방식• 1 대의 PC 에서 두명의 팀원이 같이 작업을 진행한다 .

• 키보드와 마우스를 잡고 있는 사람이 ‘드라이버’ , 옆에

앉아서 함께 작업하는 사람을 ‘네비게이터’라고 한다 .

• 일반적으로 네비게이터가 주도적으로 작업을 진행하게 된

다 .

• 네비게이터는 자신이 할려는 일을 이야기 하고 , 드라이버는

질문과 제안을 한다 .

Page 32: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

PP 기본 마음 가짐• 서로를 신뢰하며 공경한다 .

• 대화를 논쟁으로 생각하지 않는다 .

• Winner 와 Looser 가 생겨서는 안된다 .

• 코드에 대한 지나친 소유욕을 가지지 않는다 .

• 우리는 ONE TEAM 이다 .

Page 33: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

PP 시에 절대 하지 말아야 할것 !

짜증 !

Page 34: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

PP 유의 사항• 혼자 너무 오래 코딩 하지 말 것 . 돌아가면서 한다 .

• 즐겨라 .

• 믿음을 가질 것 .

• 자존심을 세우지 말자

• 옆에 있는 사람을 놔둔채 혼자 달리지 말자

• 자신보다 경혐이 많은 사람 / 적은 사람과 짝이 되어 본다

• 코드는 짝프로그래밍 하는 두 사람의 어느 누구 것도 아니다 .

Page 35: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

C++ PP 진행 방법• 짝은 매번 랜덤으로 결정 한다 .

• 짝은 매일 교체 한다 . (4 시간 )

• 1 시간마다 역할을 교대 한다 .

• 실력이 뛰어난 사람 , 실력이 부족한 사람과 같이

작업하는 경험을 가진다 .

Page 36: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

수업 평가

Page 37: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

수업 평가

•기말 프로젝트 평가 : 90%

•기타 ( 과제 , 퀴즈 ,…) : 10%10% 는 가산점 . 과제 , 퀴즈등을 우수하게 수행한 경우의 + 점수

Page 38: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

개인 프로젝트

• 수업중의 BattleShip Game 을 개인

프로젝트로 완성하여 제출

• BattleShip 알고리즘을 적절하게 개선하여

C++ 로 구현하여 완성

• 수업중의 짝 프로그래밍 코드와 별개

프로젝트

Page 39: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

개인 프로젝트

• Optional

• BattleShip 이 아닌 자신이 만들고 싶은 콘솔

게임 프로젝트를 제작 가능

• 게임의 구현도에 따른 가산점

Page 40: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

휴식 시간 !

Page 41: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

수업후 질문http://agebreak.clbnow.com

Page 42: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

짝프로그래밍짝만들기

Page 43: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

짝 만들기- 랜덤 카드

Page 44: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

BattleShip Game

Page 45: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법
Page 46: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

BattleShip Game숫자야구의 2차원 버전

Page 47: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법
Page 48: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

BattleShip Game Rule• 자신의 배를 임의의 위치에 배치

• 턴 순서를 결정

• 공격 턴에 상대방의 좌표를 지정

• 수비측은 결과를 통보

• 빗나감 , 히트 (종류는 알려주지 않는다 )

• 격추 – 배의 영역이 모두 히트 하였을 때 , 종류도

알려준다 .

• 턴을 교대하면서 상대방의 모든 배를 격추 시키면 승리 !

Page 49: [NHN NEXT 14] [Pl in c++] 1. 수업 내용 및 진행 방법

Are you Ready?