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

825 views
621 views

Published on

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

Published in: Software
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
825
On SlideShare
0
From Embeds
0
Number of Embeds
41
Actions
Shares
0
Downloads
2
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

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

×