SlideShare una empresa de Scribd logo
1 de 49
PL in C++
2014.7.7
박민근
1강 : 수업 내용 및 진행 방법, 평가 소개
수업전 질문
알콜코더 박민근(@agebreak)
NHN NEXT 게임 전공 교수
네오위즈 게임즈 - 야구의 신 개발
NTL-inc - 드래곤볼 온라인 개발
엔씨소프트 – PlayNC 빌링 서버 개발
‘신입 게임 개발자의 서울 상경기’
(http://agebreak.blog.me)
‘초중급 게임 개발자 스터디 (데브루키)’
(cafe.naver.com/devrookie)
게임 개발자 랩소디 (팟캐스트)
(http://www.podbbang.com/ch/3921)
게임 클라이언트 프로그래머
30대… 그리고 오타쿠 프로그래머...
언젠가는 우즈벡에.. 일류젼 우즈벡 지사를 설립할 예정
과학자는 배우기 위해 개발하지만
엔지니어는 개발하기 위해 배운다
- 프레드 브룩스
• 객체 지향 프로그래밍을 이해한다.
• C++로 객체 지향 프로그래밍을
작성할 수 있다.
• C++로 간단한 콘솔창 게임을 제
작할 수 있다.
• C++로 필요한 자료 구조와 알고리즘을
작성할 수 있다.
• 게임 개발에 필요한 알고리즘을 C++로
구현할 수 있다.
• C++의 기본을 이해한다.
물론…
전부 다 중요하지만...
• 객체 지향적으로 클래스를 제작
하고, 상속, 다형성등…
객체 지향 프로그래밍 기법을 활
용한다.
• 포인터를 이용하여 메모리의 할
당과 해제, 관리를 이해 한다.
• C++ 디버깅!
•학습
•PL in C++ 개념
•PL in C++ feature
•PL in C++ 스킬
월요일 (2시간)
•프로젝트 제작
•BattleShip Game
•배운 개념과 지식을 실제로 활용
•실제 게임을 구현하면서 학습
•학습한 내용들을 이해하여 적용
목요일 (3시간)
Flip Learnging
Project Based
Pair
Programming
강의 안해!!!
1. Flipped Learning - 무엇인가?
출처: http://www.washington.edu/teaching/teaching-resources/flipping-the-classroom/flippedclassroomuwcolors-1/
2. Flipped Learning - 어떤 원리인가?
Project Based Learning
• C++을 배워서 게임을 만드는 것이 아니라,
게임을 만들기 위해서 C++을 배운다.
• BattleShip Game 프로젝트를 제작하면서,
필요한 C++을 구문들을 이해해 간다.
Project Based Learning
• 수업 내에서 진행하는 BattleShip Game
프로젝트가 곧 실습 과제가 된다.
• 학기가 끝났을 때, 전원 BattleShip Game
프로젝트를 이해하고, 개발할 수 있다.
Project Based Learning
• How, What이 아닌, Why를 공부한다.
• 이것을 왜 공부해야 하는지, 이것을 어디에
사용해야 하는지에 중점을 둔다.
Pair Programming
• 실습은 짝 프로그래밍으로 진행된다.
• 2인 1조가 되어 하나의 PC로 같이 프로그
래밍 한다.
• 한사람은 드라이버, 한사람은 내비게이터가 된다.
Pair Programming의 목적 및 효과
• 코드의 품질을 향상 시킨다.
• 개발에 대하 집중력을 높인다.
• 팀 내 커뮤니케이션을 증진시킨다.
• 지속적인 코드 리뷰가 될 수 있다.
• 협업을 통해 서로가 서로를 발전 시킬 수 있다.
• 개발이 좀 더 즐거워 질 수 있다.
PP 기본 진행 방식
• 1대의 PC에서 두명의 팀원이 같이 작업을 진행한다.
• 키보드와 마우스를 잡고 있는 사람이 ‘드라이버’, 옆에 앉아서 함
께 작업하는 사람을 ‘네비게이터’라고 한다.
• 일반적으로 네비게이터가 주도적으로 작업을 진행하게 된다.
• 네비게이터는 자신이 할려는 일을 이야기 하고, 드라이버는 질문
과 제안을 한다.
PP 기본 마음 가짐
• 서로를 신뢰하며 공경한다.
• 대화를 논쟁으로 생각하지 않는다.
• Winner 와 Looser가 생겨서는 안된다.
• 코드에 대한 지나친 소유욕을 가지지 않는다.
• 우리는 ONE TEAM 이다.
PP시에 절대 하지 말아야 할것!
짜증!
PP 유의 사항
• 혼자 너무 오래 코딩 하지 말 것. 돌아가면서 한다.
• 즐겨라.
• 믿음을 가질 것.
• 자존심을 세우지 말자
• 옆에 있는 사람을 놔둔채 혼자 달리지 말자
• 자신보다 경혐이 많은 사람/적은 사람과 짝이 되어 본다
• 코드는 짝프로그래밍 하는 두 사람의 어느 누구 것도 아니다.
C++ PP 진행 방법
• 짝은 매번 랜덤으로 결정 한다.
• 짝은 매일 교체 한다. (4시간)
• 1시간마다 역할을 교대 한다.
• 실력이 뛰어난 사람, 실력이 부족한 사람과 같이 작업하
는 경험을 가진다.
수업 평가
•기말 프로젝트 평가 : 90%
• 기타(과제, 퀴즈,…) : 10%
10%는 가산점. 과제, 퀴즈등을 우수하게 수행한 경우의 + 점수
개인 프로젝트
• 수업중의 BattleShip Game을 개인 프로젝트로
완성하여 제출
• BattleShip 알고리즘을 적절하게 개선하여 C++
로 구현하여 완성
• 수업중의 짝 프로그래밍 코드와 별개 프로젝트
개인 프로젝트
• Optional
• BattleShip이 아닌 자신이 만들고 싶은 콘솔 게
임 프로젝트를 제작 가능
• 게임의 구현도에 따른 가산점
수업후 질문
BattleShip Game Rule
• 자신의 배를 임의의 위치에 배치
• 턴 순서를 결정
• 공격 턴에 상대방의 좌표를 지정
• 수비측은 결과를 통보
• 빗나감, 히트(종류는 알려주지 않는다)
• 격추 – 배의 영역이 모두 히트 하였을 때, 종류도 알려준다.
• 턴을 교대하면서 상대방의 모든 배를 격추 시키면 승리!
Are you Ready?

Más contenido relacionado

La actualidad más candente

개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호용호 최
 
게임 프로그래머로 살아남기 at 지스타 컨퍼런스 2013
게임 프로그래머로 살아남기 at 지스타 컨퍼런스 2013게임 프로그래머로 살아남기 at 지스타 컨퍼런스 2013
게임 프로그래머로 살아남기 at 지스타 컨퍼런스 2013영욱 오
 
[소프트웨어야 놀자] 개발, 그 참을수 없는 즐거움
[소프트웨어야 놀자] 개발, 그 참을수 없는 즐거움[소프트웨어야 놀자] 개발, 그 참을수 없는 즐거움
[소프트웨어야 놀자] 개발, 그 참을수 없는 즐거움MinGeun Park
 
[SCON9] 커뮤니케이션 in Game
[SCON9] 커뮤니케이션 in Game[SCON9] 커뮤니케이션 in Game
[SCON9] 커뮤니케이션 in GameMinGeun Park
 
[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐MinGeun Park
 
이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017
이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017
이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017devCAT Studio, NEXON
 
[1127 박민근] 일 잘하는 게임프로그래머 되기
[1127 박민근] 일 잘하는 게임프로그래머 되기[1127 박민근] 일 잘하는 게임프로그래머 되기
[1127 박민근] 일 잘하는 게임프로그래머 되기MinGeun Park
 
(책 소개) 한 권으로 읽는 컴퓨터 구조와 프로그래밍
(책 소개) 한 권으로 읽는 컴퓨터 구조와 프로그래밍(책 소개) 한 권으로 읽는 컴퓨터 구조와 프로그래밍
(책 소개) 한 권으로 읽는 컴퓨터 구조와 프로그래밍Jay Park
 
[IGC2015] 로드컴플릿 배정현-크루세이더 퀘스트 포스트모텀
[IGC2015] 로드컴플릿 배정현-크루세이더 퀘스트 포스트모텀[IGC2015] 로드컴플릿 배정현-크루세이더 퀘스트 포스트모텀
[IGC2015] 로드컴플릿 배정현-크루세이더 퀘스트 포스트모텀강 민우
 
[GPG스터디] 1.0 데이터 주도적 설계의 마법
[GPG스터디] 1.0 데이터 주도적 설계의 마법[GPG스터디] 1.0 데이터 주도적 설계의 마법
[GPG스터디] 1.0 데이터 주도적 설계의 마법Sehyeon Nam
 
개발자를 꿈꿨던, 꿈꾸는 개발자를 위한 개발하고 싶은 이야기
개발자를 꿈꿨던, 꿈꾸는 개발자를 위한 개발하고 싶은 이야기개발자를 꿈꿨던, 꿈꾸는 개발자를 위한 개발하고 싶은 이야기
개발자를 꿈꿨던, 꿈꾸는 개발자를 위한 개발하고 싶은 이야기Eunhyang Kim
 
[KASA] Game Engine???
[KASA] Game Engine???[KASA] Game Engine???
[KASA] Game Engine???changehee lee
 
[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?
[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?
[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?강 민우
 
NDC12 인디게임 개발 시 주의할 점
NDC12 인디게임 개발 시 주의할 점NDC12 인디게임 개발 시 주의할 점
NDC12 인디게임 개발 시 주의할 점Mingu Heo
 
유니티로 해보는 게임 프로토타이핑
유니티로 해보는 게임 프로토타이핑유니티로 해보는 게임 프로토타이핑
유니티로 해보는 게임 프로토타이핑Kiyoung Moon
 
Infra Engineer에서 Frontend Engineer가 되기까지
Infra Engineer에서 Frontend Engineer가 되기까지Infra Engineer에서 Frontend Engineer가 되기까지
Infra Engineer에서 Frontend Engineer가 되기까지Kyeongmo Noh
 
[IGC2015] 방영훈-반도의흔한기획자표류기
[IGC2015] 방영훈-반도의흔한기획자표류기 [IGC2015] 방영훈-반도의흔한기획자표류기
[IGC2015] 방영훈-반도의흔한기획자표류기 강 민우
 
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임Imseong Kang
 

La actualidad más candente (20)

개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호개발자로써 갖춰야할 스킬들 - 최용호
개발자로써 갖춰야할 스킬들 - 최용호
 
게임 프로그래머로 살아남기 at 지스타 컨퍼런스 2013
게임 프로그래머로 살아남기 at 지스타 컨퍼런스 2013게임 프로그래머로 살아남기 at 지스타 컨퍼런스 2013
게임 프로그래머로 살아남기 at 지스타 컨퍼런스 2013
 
[소프트웨어야 놀자] 개발, 그 참을수 없는 즐거움
[소프트웨어야 놀자] 개발, 그 참을수 없는 즐거움[소프트웨어야 놀자] 개발, 그 참을수 없는 즐거움
[소프트웨어야 놀자] 개발, 그 참을수 없는 즐거움
 
[SCON9] 커뮤니케이션 in Game
[SCON9] 커뮤니케이션 in Game[SCON9] 커뮤니케이션 in Game
[SCON9] 커뮤니케이션 in Game
 
[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐[데브루키] 이벤트 드리븐 아키텍쳐
[데브루키] 이벤트 드리븐 아키텍쳐
 
이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017
이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017
이승재, 일정대로 출시하기 왜 & 어떻게: 개발자를 위한 제작진행개론, NDC2017
 
[1127 박민근] 일 잘하는 게임프로그래머 되기
[1127 박민근] 일 잘하는 게임프로그래머 되기[1127 박민근] 일 잘하는 게임프로그래머 되기
[1127 박민근] 일 잘하는 게임프로그래머 되기
 
(책 소개) 한 권으로 읽는 컴퓨터 구조와 프로그래밍
(책 소개) 한 권으로 읽는 컴퓨터 구조와 프로그래밍(책 소개) 한 권으로 읽는 컴퓨터 구조와 프로그래밍
(책 소개) 한 권으로 읽는 컴퓨터 구조와 프로그래밍
 
Visual shock vol.2
Visual shock   vol.2Visual shock   vol.2
Visual shock vol.2
 
[IGC2015] 로드컴플릿 배정현-크루세이더 퀘스트 포스트모텀
[IGC2015] 로드컴플릿 배정현-크루세이더 퀘스트 포스트모텀[IGC2015] 로드컴플릿 배정현-크루세이더 퀘스트 포스트모텀
[IGC2015] 로드컴플릿 배정현-크루세이더 퀘스트 포스트모텀
 
[GPG스터디] 1.0 데이터 주도적 설계의 마법
[GPG스터디] 1.0 데이터 주도적 설계의 마법[GPG스터디] 1.0 데이터 주도적 설계의 마법
[GPG스터디] 1.0 데이터 주도적 설계의 마법
 
개발자를 꿈꿨던, 꿈꾸는 개발자를 위한 개발하고 싶은 이야기
개발자를 꿈꿨던, 꿈꾸는 개발자를 위한 개발하고 싶은 이야기개발자를 꿈꿨던, 꿈꾸는 개발자를 위한 개발하고 싶은 이야기
개발자를 꿈꿨던, 꿈꾸는 개발자를 위한 개발하고 싶은 이야기
 
[KASA] Game Engine???
[KASA] Game Engine???[KASA] Game Engine???
[KASA] Game Engine???
 
[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?
[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?
[IGC 2016] 컴투스 김동준 - 기획 지망생은 무엇을 준비하나요?
 
NDC12 인디게임 개발 시 주의할 점
NDC12 인디게임 개발 시 주의할 점NDC12 인디게임 개발 시 주의할 점
NDC12 인디게임 개발 시 주의할 점
 
유니티로 해보는 게임 프로토타이핑
유니티로 해보는 게임 프로토타이핑유니티로 해보는 게임 프로토타이핑
유니티로 해보는 게임 프로토타이핑
 
Infra Engineer에서 Frontend Engineer가 되기까지
Infra Engineer에서 Frontend Engineer가 되기까지Infra Engineer에서 Frontend Engineer가 되기까지
Infra Engineer에서 Frontend Engineer가 되기까지
 
Wecanmakeengine
WecanmakeengineWecanmakeengine
Wecanmakeengine
 
[IGC2015] 방영훈-반도의흔한기획자표류기
[IGC2015] 방영훈-반도의흔한기획자표류기 [IGC2015] 방영훈-반도의흔한기획자표류기
[IGC2015] 방영훈-반도의흔한기획자표류기
 
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
NDC17 게임 디자이너 커리어 포스트모템: 8년, 3개의 회사, 4개의 게임
 

Similar a [Pl in c++] 1. 수업 내용 및 진행 방법

[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법
[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법
[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법강 민우
 
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들MinGeun Park
 
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)Jaewon Choi
 
KGC2014 코딩을 몰라도 가능한 프로토타입 제작
KGC2014 코딩을 몰라도 가능한 프로토타입 제작KGC2014 코딩을 몰라도 가능한 프로토타입 제작
KGC2014 코딩을 몰라도 가능한 프로토타입 제작Seokho Lee
 
게임업계에서 내가 하고 싶은 일 찾는 방법
게임업계에서 내가 하고 싶은 일 찾는 방법게임업계에서 내가 하고 싶은 일 찾는 방법
게임업계에서 내가 하고 싶은 일 찾는 방법Donghun Lee
 
KeyValuePair 첫 모임 - XP와 Pair programming
KeyValuePair 첫 모임 - XP와 Pair programmingKeyValuePair 첫 모임 - XP와 Pair programming
KeyValuePair 첫 모임 - XP와 Pair programmingJaewon Choi
 
Kgc12발표문서
Kgc12발표문서Kgc12발표문서
Kgc12발표문서Mingu Heo
 
131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원NAVER D2
 
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)Kay Kim
 
쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다Jinho Jung
 
도도와 파이썬: 좋은 선택과 나쁜 선택
도도와 파이썬: 좋은 선택과 나쁜 선택도도와 파이썬: 좋은 선택과 나쁜 선택
도도와 파이썬: 좋은 선택과 나쁜 선택Jc Kim
 
Re:Zero부터 시작하지 않는 오픈소스 개발
Re:Zero부터 시작하지 않는 오픈소스 개발Re:Zero부터 시작하지 않는 오픈소스 개발
Re:Zero부터 시작하지 않는 오픈소스 개발Chris Ohk
 
[NDC17] Protocol:hyperspace Diver 개발 포스트모템
[NDC17] Protocol:hyperspace Diver 개발 포스트모템[NDC17] Protocol:hyperspace Diver 개발 포스트모템
[NDC17] Protocol:hyperspace Diver 개발 포스트모템Young Soo Kim
 
나는 요리를 오픈소스로 배웠다.
나는 요리를 오픈소스로 배웠다.나는 요리를 오픈소스로 배웠다.
나는 요리를 오픈소스로 배웠다.Rhio kim
 
[GAMENEXT] 클랜워즈 포스트모템 (큐빅스튜디오)
[GAMENEXT] 클랜워즈 포스트모템 (큐빅스튜디오)[GAMENEXT] 클랜워즈 포스트모템 (큐빅스튜디오)
[GAMENEXT] 클랜워즈 포스트모템 (큐빅스튜디오)GAMENEXT Works
 
프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법Lee Sangkyoon (Kay)
 
[GDC] Perry_POCBasedDesign_KOR
[GDC] Perry_POCBasedDesign_KOR[GDC] Perry_POCBasedDesign_KOR
[GDC] Perry_POCBasedDesign_KORJisang Yoon
 
Gamificated game developing
Gamificated game developingGamificated game developing
Gamificated game developingchangehee lee
 
만능 개발자를 위한 아틀리에 시스템
만능 개발자를 위한 아틀리에 시스템만능 개발자를 위한 아틀리에 시스템
만능 개발자를 위한 아틀리에 시스템KwangSam Kim
 

Similar a [Pl in c++] 1. 수업 내용 및 진행 방법 (20)

[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법
[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법
[IGC2018] 펄어비스 김광삼 - 대면 커뮤니케이션 주도의 게임 디자인과 게임 개발법
 
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들
[KGC2011_박민근] 신입 게임 개발자가 알아야 할 것들
 
게임강연정리
게임강연정리게임강연정리
게임강연정리
 
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
 
KGC2014 코딩을 몰라도 가능한 프로토타입 제작
KGC2014 코딩을 몰라도 가능한 프로토타입 제작KGC2014 코딩을 몰라도 가능한 프로토타입 제작
KGC2014 코딩을 몰라도 가능한 프로토타입 제작
 
게임업계에서 내가 하고 싶은 일 찾는 방법
게임업계에서 내가 하고 싶은 일 찾는 방법게임업계에서 내가 하고 싶은 일 찾는 방법
게임업계에서 내가 하고 싶은 일 찾는 방법
 
KeyValuePair 첫 모임 - XP와 Pair programming
KeyValuePair 첫 모임 - XP와 Pair programmingKeyValuePair 첫 모임 - XP와 Pair programming
KeyValuePair 첫 모임 - XP와 Pair programming
 
Kgc12발표문서
Kgc12발표문서Kgc12발표문서
Kgc12발표문서
 
131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원
 
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
쩌는 게임 기획서, 이렇게 쓴다(How to write great design documents) from GDC 2008 (Korean)
 
쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다쩌는게임기획서 이렇게 쓴다
쩌는게임기획서 이렇게 쓴다
 
도도와 파이썬: 좋은 선택과 나쁜 선택
도도와 파이썬: 좋은 선택과 나쁜 선택도도와 파이썬: 좋은 선택과 나쁜 선택
도도와 파이썬: 좋은 선택과 나쁜 선택
 
Re:Zero부터 시작하지 않는 오픈소스 개발
Re:Zero부터 시작하지 않는 오픈소스 개발Re:Zero부터 시작하지 않는 오픈소스 개발
Re:Zero부터 시작하지 않는 오픈소스 개발
 
[NDC17] Protocol:hyperspace Diver 개발 포스트모템
[NDC17] Protocol:hyperspace Diver 개발 포스트모템[NDC17] Protocol:hyperspace Diver 개발 포스트모템
[NDC17] Protocol:hyperspace Diver 개발 포스트모템
 
나는 요리를 오픈소스로 배웠다.
나는 요리를 오픈소스로 배웠다.나는 요리를 오픈소스로 배웠다.
나는 요리를 오픈소스로 배웠다.
 
[GAMENEXT] 클랜워즈 포스트모템 (큐빅스튜디오)
[GAMENEXT] 클랜워즈 포스트모템 (큐빅스튜디오)[GAMENEXT] 클랜워즈 포스트모템 (큐빅스튜디오)
[GAMENEXT] 클랜워즈 포스트모템 (큐빅스튜디오)
 
프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법프로그래머에게 사랑받는 게임 기획서 작성법
프로그래머에게 사랑받는 게임 기획서 작성법
 
[GDC] Perry_POCBasedDesign_KOR
[GDC] Perry_POCBasedDesign_KOR[GDC] Perry_POCBasedDesign_KOR
[GDC] Perry_POCBasedDesign_KOR
 
Gamificated game developing
Gamificated game developingGamificated game developing
Gamificated game developing
 
만능 개발자를 위한 아틀리에 시스템
만능 개발자를 위한 아틀리에 시스템만능 개발자를 위한 아틀리에 시스템
만능 개발자를 위한 아틀리에 시스템
 

Más de MinGeun Park

[CSStudy] 코딩인터뷰 완전 분석 #7.pdf
[CSStudy] 코딩인터뷰 완전 분석 #7.pdf[CSStudy] 코딩인터뷰 완전 분석 #7.pdf
[CSStudy] 코딩인터뷰 완전 분석 #7.pdfMinGeun Park
 
[Cs study] 코딩인터뷰 완전 분석 #6
[Cs study] 코딩인터뷰 완전 분석 #6[Cs study] 코딩인터뷰 완전 분석 #6
[Cs study] 코딩인터뷰 완전 분석 #6MinGeun Park
 
[Cs study] 코딩인터뷰 완전 분석 #5
[Cs study] 코딩인터뷰 완전 분석 #5[Cs study] 코딩인터뷰 완전 분석 #5
[Cs study] 코딩인터뷰 완전 분석 #5MinGeun Park
 
[Cs study] 코딩인터뷰 완전 분석 #3
[Cs study] 코딩인터뷰 완전 분석 #3[Cs study] 코딩인터뷰 완전 분석 #3
[Cs study] 코딩인터뷰 완전 분석 #3MinGeun Park
 
[Cs study] 코딩인터뷰 완전 분석 #2
[Cs study] 코딩인터뷰 완전 분석 #2[Cs study] 코딩인터뷰 완전 분석 #2
[Cs study] 코딩인터뷰 완전 분석 #2MinGeun Park
 
[Cs study] 코딩인터뷰 완전 분석
[Cs study] 코딩인터뷰 완전 분석[Cs study] 코딩인터뷰 완전 분석
[Cs study] 코딩인터뷰 완전 분석MinGeun Park
 
[데브루키_언리얼스터디_0525] 애니메이션 노티파이
[데브루키_언리얼스터디_0525] 애니메이션 노티파이[데브루키_언리얼스터디_0525] 애니메이션 노티파이
[데브루키_언리얼스터디_0525] 애니메이션 노티파이MinGeun Park
 
[데브루키 언리얼 스터디] PBR
[데브루키 언리얼 스터디] PBR[데브루키 언리얼 스터디] PBR
[데브루키 언리얼 스터디] PBRMinGeun Park
 
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.MinGeun Park
 
[데브루키] Color space gamma correction
[데브루키] Color space gamma correction[데브루키] Color space gamma correction
[데브루키] Color space gamma correctionMinGeun Park
 
유니티 팁&트릭 Unity Tip & Trick
유니티 팁&트릭 Unity Tip & Trick유니티 팁&트릭 Unity Tip & Trick
유니티 팁&트릭 Unity Tip & TrickMinGeun Park
 
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)MinGeun Park
 
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용 [Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용 MinGeun Park
 
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현MinGeun Park
 
[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기MinGeun Park
 
[160404] 유니티 apk 용량 줄이기
[160404] 유니티 apk 용량 줄이기[160404] 유니티 apk 용량 줄이기
[160404] 유니티 apk 용량 줄이기MinGeun Park
 
[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개MinGeun Park
 
[150523] live2d 그녀들을 움직이게 하는 기술
[150523] live2d 그녀들을 움직이게 하는 기술[150523] live2d 그녀들을 움직이게 하는 기술
[150523] live2d 그녀들을 움직이게 하는 기술MinGeun Park
 
[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리MinGeun Park
 
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기MinGeun Park
 

Más de MinGeun Park (20)

[CSStudy] 코딩인터뷰 완전 분석 #7.pdf
[CSStudy] 코딩인터뷰 완전 분석 #7.pdf[CSStudy] 코딩인터뷰 완전 분석 #7.pdf
[CSStudy] 코딩인터뷰 완전 분석 #7.pdf
 
[Cs study] 코딩인터뷰 완전 분석 #6
[Cs study] 코딩인터뷰 완전 분석 #6[Cs study] 코딩인터뷰 완전 분석 #6
[Cs study] 코딩인터뷰 완전 분석 #6
 
[Cs study] 코딩인터뷰 완전 분석 #5
[Cs study] 코딩인터뷰 완전 분석 #5[Cs study] 코딩인터뷰 완전 분석 #5
[Cs study] 코딩인터뷰 완전 분석 #5
 
[Cs study] 코딩인터뷰 완전 분석 #3
[Cs study] 코딩인터뷰 완전 분석 #3[Cs study] 코딩인터뷰 완전 분석 #3
[Cs study] 코딩인터뷰 완전 분석 #3
 
[Cs study] 코딩인터뷰 완전 분석 #2
[Cs study] 코딩인터뷰 완전 분석 #2[Cs study] 코딩인터뷰 완전 분석 #2
[Cs study] 코딩인터뷰 완전 분석 #2
 
[Cs study] 코딩인터뷰 완전 분석
[Cs study] 코딩인터뷰 완전 분석[Cs study] 코딩인터뷰 완전 분석
[Cs study] 코딩인터뷰 완전 분석
 
[데브루키_언리얼스터디_0525] 애니메이션 노티파이
[데브루키_언리얼스터디_0525] 애니메이션 노티파이[데브루키_언리얼스터디_0525] 애니메이션 노티파이
[데브루키_언리얼스터디_0525] 애니메이션 노티파이
 
[데브루키 언리얼 스터디] PBR
[데브루키 언리얼 스터디] PBR[데브루키 언리얼 스터디] PBR
[데브루키 언리얼 스터디] PBR
 
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.
[데브루키/페차쿠차] 유니티 프로파일링에 대해서 알아보자.
 
[데브루키] Color space gamma correction
[데브루키] Color space gamma correction[데브루키] Color space gamma correction
[데브루키] Color space gamma correction
 
유니티 팁&트릭 Unity Tip & Trick
유니티 팁&트릭 Unity Tip & Trick유니티 팁&트릭 Unity Tip & Trick
유니티 팁&트릭 Unity Tip & Trick
 
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
Live2D with Unity - 그녀들을 움직이게 하는 기술 (알콜코더 박민근)
 
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용 [Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
[Unite17] 유니티에서차세대프로그래밍을 UniRx 소개 및 활용
 
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
유니티의 툰셰이딩을 사용한 3D 애니메이션 표현
 
[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기[데브루키160409 박민근] UniRx 시작하기
[데브루키160409 박민근] UniRx 시작하기
 
[160404] 유니티 apk 용량 줄이기
[160404] 유니티 apk 용량 줄이기[160404] 유니티 apk 용량 줄이기
[160404] 유니티 apk 용량 줄이기
 
[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개[160402_데브루키_박민근] UniRx 소개
[160402_데브루키_박민근] UniRx 소개
 
[150523] live2d 그녀들을 움직이게 하는 기술
[150523] live2d 그녀들을 움직이게 하는 기술[150523] live2d 그녀들을 움직이게 하는 기술
[150523] live2d 그녀들을 움직이게 하는 기술
 
[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리[Unite2015 박민근] 유니티 최적화 테크닉 총정리
[Unite2015 박민근] 유니티 최적화 테크닉 총정리
 
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
[150124 박민근] 모바일 게임 개발에서 루아 스크립트 활용하기
 

[Pl in c++] 1. 수업 내용 및 진행 방법

  • 1. PL in C++ 2014.7.7 박민근 1강 : 수업 내용 및 진행 방법, 평가 소개
  • 3. 알콜코더 박민근(@agebreak) NHN NEXT 게임 전공 교수 네오위즈 게임즈 - 야구의 신 개발 NTL-inc - 드래곤볼 온라인 개발 엔씨소프트 – PlayNC 빌링 서버 개발 ‘신입 게임 개발자의 서울 상경기’ (http://agebreak.blog.me) ‘초중급 게임 개발자 스터디 (데브루키)’ (cafe.naver.com/devrookie) 게임 개발자 랩소디 (팟캐스트) (http://www.podbbang.com/ch/3921) 게임 클라이언트 프로그래머 30대… 그리고 오타쿠 프로그래머... 언젠가는 우즈벡에.. 일류젼 우즈벡 지사를 설립할 예정
  • 4.
  • 5. 과학자는 배우기 위해 개발하지만 엔지니어는 개발하기 위해 배운다 - 프레드 브룩스
  • 6.
  • 7. • 객체 지향 프로그래밍을 이해한다. • C++로 객체 지향 프로그래밍을 작성할 수 있다. • C++로 간단한 콘솔창 게임을 제 작할 수 있다.
  • 8. • C++로 필요한 자료 구조와 알고리즘을 작성할 수 있다. • 게임 개발에 필요한 알고리즘을 C++로 구현할 수 있다. • C++의 기본을 이해한다.
  • 9.
  • 11. • 객체 지향적으로 클래스를 제작 하고, 상속, 다형성등… 객체 지향 프로그래밍 기법을 활 용한다. • 포인터를 이용하여 메모리의 할 당과 해제, 관리를 이해 한다. • C++ 디버깅!
  • 12.
  • 13. •학습 •PL in C++ 개념 •PL in C++ feature •PL in C++ 스킬 월요일 (2시간) •프로젝트 제작 •BattleShip Game •배운 개념과 지식을 실제로 활용 •실제 게임을 구현하면서 학습 •학습한 내용들을 이해하여 적용 목요일 (3시간)
  • 15.
  • 17. 1. Flipped Learning - 무엇인가? 출처: http://www.washington.edu/teaching/teaching-resources/flipping-the-classroom/flippedclassroomuwcolors-1/
  • 18. 2. Flipped Learning - 어떤 원리인가?
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24. Project Based Learning • C++을 배워서 게임을 만드는 것이 아니라, 게임을 만들기 위해서 C++을 배운다. • BattleShip Game 프로젝트를 제작하면서, 필요한 C++을 구문들을 이해해 간다.
  • 25. Project Based Learning • 수업 내에서 진행하는 BattleShip Game 프로젝트가 곧 실습 과제가 된다. • 학기가 끝났을 때, 전원 BattleShip Game 프로젝트를 이해하고, 개발할 수 있다.
  • 26. Project Based Learning • How, What이 아닌, Why를 공부한다. • 이것을 왜 공부해야 하는지, 이것을 어디에 사용해야 하는지에 중점을 둔다.
  • 27.
  • 28.
  • 29. Pair Programming • 실습은 짝 프로그래밍으로 진행된다. • 2인 1조가 되어 하나의 PC로 같이 프로그 래밍 한다. • 한사람은 드라이버, 한사람은 내비게이터가 된다.
  • 30. Pair Programming의 목적 및 효과 • 코드의 품질을 향상 시킨다. • 개발에 대하 집중력을 높인다. • 팀 내 커뮤니케이션을 증진시킨다. • 지속적인 코드 리뷰가 될 수 있다. • 협업을 통해 서로가 서로를 발전 시킬 수 있다. • 개발이 좀 더 즐거워 질 수 있다.
  • 31. PP 기본 진행 방식 • 1대의 PC에서 두명의 팀원이 같이 작업을 진행한다. • 키보드와 마우스를 잡고 있는 사람이 ‘드라이버’, 옆에 앉아서 함 께 작업하는 사람을 ‘네비게이터’라고 한다. • 일반적으로 네비게이터가 주도적으로 작업을 진행하게 된다. • 네비게이터는 자신이 할려는 일을 이야기 하고, 드라이버는 질문 과 제안을 한다.
  • 32. PP 기본 마음 가짐 • 서로를 신뢰하며 공경한다. • 대화를 논쟁으로 생각하지 않는다. • Winner 와 Looser가 생겨서는 안된다. • 코드에 대한 지나친 소유욕을 가지지 않는다. • 우리는 ONE TEAM 이다.
  • 33. PP시에 절대 하지 말아야 할것! 짜증!
  • 34. PP 유의 사항 • 혼자 너무 오래 코딩 하지 말 것. 돌아가면서 한다. • 즐겨라. • 믿음을 가질 것. • 자존심을 세우지 말자 • 옆에 있는 사람을 놔둔채 혼자 달리지 말자 • 자신보다 경혐이 많은 사람/적은 사람과 짝이 되어 본다 • 코드는 짝프로그래밍 하는 두 사람의 어느 누구 것도 아니다.
  • 35. C++ PP 진행 방법 • 짝은 매번 랜덤으로 결정 한다. • 짝은 매일 교체 한다. (4시간) • 1시간마다 역할을 교대 한다. • 실력이 뛰어난 사람, 실력이 부족한 사람과 같이 작업하 는 경험을 가진다.
  • 36.
  • 37. 수업 평가 •기말 프로젝트 평가 : 90% • 기타(과제, 퀴즈,…) : 10% 10%는 가산점. 과제, 퀴즈등을 우수하게 수행한 경우의 + 점수
  • 38. 개인 프로젝트 • 수업중의 BattleShip Game을 개인 프로젝트로 완성하여 제출 • BattleShip 알고리즘을 적절하게 개선하여 C++ 로 구현하여 완성 • 수업중의 짝 프로그래밍 코드와 별개 프로젝트
  • 39. 개인 프로젝트 • Optional • BattleShip이 아닌 자신이 만들고 싶은 콘솔 게 임 프로젝트를 제작 가능 • 게임의 구현도에 따른 가산점
  • 40.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48. BattleShip Game Rule • 자신의 배를 임의의 위치에 배치 • 턴 순서를 결정 • 공격 턴에 상대방의 좌표를 지정 • 수비측은 결과를 통보 • 빗나감, 히트(종류는 알려주지 않는다) • 격추 – 배의 영역이 모두 히트 하였을 때, 종류도 알려준다. • 턴을 교대하면서 상대방의 모든 배를 격추 시키면 승리!