Your SlideShare is downloading. ×
[Pl in c++] 1. 수업 내용 및 진행 방법
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

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

194
views

Published on


0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
194
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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

×