ผลต่างระหว่างรุ่นของ "01219245-58"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
 
(ไม่แสดง 22 รุ่นระหว่างกลางโดยผู้ใช้คนเดียวกัน)
แถว 4: แถว 4:
  
 
== Lectures ==
 
== Lectures ==
* Week 1 (Jan 22): Introduction.  ([http://theory.cpe.ku.ac.th/wiki/images/01219245-01-intro.pdf slides])
+
* Week 1 (Jan 22):  
 +
** Introduction.  ([http://theory.cpe.ku.ac.th/wiki/images/01219245-01-intro.pdf slides])
 
** Modern software development:
 
** Modern software development:
 
*** [https://www.youtube.com/watch?v=QoAOzMTLP5s Business Model Canvas Explained] is a nice clip that tells you what business thinks when developing a new product.
 
*** [https://www.youtube.com/watch?v=QoAOzMTLP5s Business Model Canvas Explained] is a nice clip that tells you what business thinks when developing a new product.
 
**** A more detailed introduction on how to creating business model [https://www.youtube.com/watch?v=wwShFsSFb-Y Ep1], [https://www.youtube.com/watch?v=wlKP-BaC0jA Ep2], [https://www.youtube.com/watch?v=iA5MVUNkSkM Ep3], [https://www.youtube.com/watch?v=7O36YBn9x_4 Ep4], [https://www.youtube.com/watch?v=-2gd_vhNYT4 Ep5], [https://www.youtube.com/watch?v=SshglHDKQCc Ep6]
 
**** A more detailed introduction on how to creating business model [https://www.youtube.com/watch?v=wwShFsSFb-Y Ep1], [https://www.youtube.com/watch?v=wlKP-BaC0jA Ep2], [https://www.youtube.com/watch?v=iA5MVUNkSkM Ep3], [https://www.youtube.com/watch?v=7O36YBn9x_4 Ep4], [https://www.youtube.com/watch?v=-2gd_vhNYT4 Ep5], [https://www.youtube.com/watch?v=SshglHDKQCc Ep6]
 
*** [http://blog.crisp.se/2012/10/25/henrikkniberg/agile-product-ownership-in-a-nutshell Agile Product Ownership in a Nutshell] (by Henrik Kniberg) gives an overall view on how software development is a collaboration between developers and stakeholders (users) and how important communication is.
 
*** [http://blog.crisp.se/2012/10/25/henrikkniberg/agile-product-ownership-in-a-nutshell Agile Product Ownership in a Nutshell] (by Henrik Kniberg) gives an overall view on how software development is a collaboration between developers and stakeholders (users) and how important communication is.
 +
** Coding convention. ([http://theory.cpe.ku.ac.th/wiki/images/01219245-03a-coding-convention.pdf slides])
 +
** Practice on task breakdown. ([http://theory.cpe.ku.ac.th/wiki/images/01219245-03c-task-breakdown-practice.pdf slides])
 +
 +
* Week 2 (Feb 12):
 +
** Incremental & iterative development ([http://theory.cpe.ku.ac.th/wiki/images/01219245-02-incremental-development.pdf slides])
 +
** Planning 1. ([http://theory.cpe.ku.ac.th/wiki/images/01219245-04c-planning1.pdf slides])
 +
 +
* Week 3 (Feb 19):
 +
** Game design principles.  ([http://theory.cpe.ku.ac.th/wiki/images/01219245-03b-game-design-principles.pdf slides])
 +
*** Game design slides by [http://www.slideshare.net/resmini Andrea Resmini]: [http://www.slideshare.net/resmini/game-design-lecture-1 lecture1], [http://www.slideshare.net/resmini/game-design-lecture-2-15128133 lecture2], [http://www.slideshare.net/resmini/game-design-lecture-3 lecture3], [http://www.slideshare.net/resmini/game-design-lecture-4 lecture4]
 +
** Clean code: Meaningful names. ([http://theory.cpe.ku.ac.th/wiki/images/01219245-04b-meaningful-names.pdf slides])
 +
** Software testing, Unit testing, TDD ([http://theory.cpe.ku.ac.th/wiki/images/01219245-04a-test-principles-unit-testing.pdf slides])
 +
** Unit testing in JavaScript ([http://theory.cpe.ku.ac.th/wiki/images/01219245-04b-unit-testing-javascript.pdf slides])
 +
 +
* Week 4 (Mar 4):
 +
** Project planning ([http://theory.cpe.ku.ac.th/wiki/images/05a-planning2-58.pdf slides])
 +
** Clean code: functions ([http://theory.cpe.ku.ac.th/wiki/images/01219245-05b-functions.pdf slides])
 +
** Unit testing in JavaScript (cont.)
 +
*** Template for TDD practice: [http://theory.cpe.ku.ac.th/wiki/images/219245-practice.zip 219245-practice.zip]
 +
 +
* Week 5 (Mar 11):
 +
** Project-related practices: remote repository setup, 1st iteration task breakdown, time tracking, game mechanic test cases.
 +
 +
* Week 6 (Mar 18):
 +
** Test design techniques ([http://theory.cpe.ku.ac.th/wiki/images/07-test-design-technique-1.pdf slides])
 +
** Practice: [[01219343/testcase/KU Student status|KU Student status]]
 +
 +
* Week 7 (Apr 1):
 +
** Estimation ([http://theory.cpe.ku.ac.th/wiki/images/01219245-06a-estimation-data-collection.pdf slides])
 +
** Planning for the 2nd iteration ([http://theory.cpe.ku.ac.th/wiki/images/01219245-06b-planning-2nd-iteration.pdf slides])
 +
** Code cleaning practice
 +
 +
* Week 8 (Apr 8):
 +
** Software estimations
 +
*** [http://www.mountaingoatsoftware.com/presentations/agile-estimating Agile estimating] from Mountain Goat Software
 +
*** [http://www.construx.com/Resources/Presentation/Agile_Estimation__Key_Principlies_and_Practices_for_Successful_Agile_Practices/ Agile Estimation: Key Principles and Practices for Successful Agile Projects] from Construx.
 +
** Code smells [http://www.industriallogic.com/blog/smells-to-refactorings-cheatsheet/ cheat sheet] from Industrial Logic.
 +
 +
* Week 9 (Apr 22):
 +
** Planning for the 3rd iteration ([http://theory.cpe.ku.ac.th/wiki/images/01219245-08a-planning-3rd-iteration.pdf slides])
 +
** Practice TDD for objects with states ([http://theory.cpe.ku.ac.th/wiki/images/01219245-09a-tdd-practice2.pdf slide])
 +
*** Template: [http://theory.cpe.ku.ac.th/wiki/images/219245-practice2.zip 219245-practice2.zip]
  
 
== Labs ==
 
== Labs ==
แถว 38: แถว 81:
 
** [[01219245/javascript1/tutorial3|Tutorial 3: 21 Game]]
 
** [[01219245/javascript1/tutorial3|Tutorial 3: 21 Game]]
 
** [[01219245/javascript1/tutorial4|Tutorial 4: Hangman]]
 
** [[01219245/javascript1/tutorial4|Tutorial 4: Hangman]]
 +
 +
=== Cococs2d-JS ===
 +
We will use [http://www.cocos2d-x.org/wiki/Cocos2d-JS Cocos2d-JS] as a game development framework.
 +
 +
* [[01219245/cocos2d-js/getting started|Getting started]]
 +
* [[01219245/cocos2d-js/Sprites|Tutorial 100]] - sprites
 +
* [[01219245/cocos2d-js/Sprites2|Tutorial 101: Sprites 2 - Flappy Dot]]
 +
** [[01219245/cocos2d-js/Actions|Small Tutorial 102: Actions, spritesheets, sound effects]]
 +
* [[01219245/cocos2d-js/Maze|Tutorial 103: PacMan]]
 +
* [[01219245/cocos2d-js/Platform1|Guide 200: Platform game without physics engine]]
 +
 +
* Empty template: [http://theory.cpe.ku.ac.th/~jittat/cocos/templates/cocos-emptyproject.zip cocos-emptyproject.zip]
  
 
== Video clips ==
 
== Video clips ==

รุ่นแก้ไขปัจจุบันเมื่อ 02:09, 22 เมษายน 2559

This is a course homepage for 01219245/01219246 Individual Software Process and Individual Software Process Lab for 2nd semester, academic year 2558.

Announcements

Lectures

  • Week 1 (Jan 22):
    • Introduction. (slides)
    • Modern software development:
    • Coding convention. (slides)
    • Practice on task breakdown. (slides)
  • Week 2 (Feb 12):
    • Incremental & iterative development (slides)
    • Planning 1. (slides)
  • Week 5 (Mar 11):
    • Project-related practices: remote repository setup, 1st iteration task breakdown, time tracking, game mechanic test cases.
  • Week 7 (Apr 1):
    • Estimation (slides)
    • Planning for the 2nd iteration (slides)
    • Code cleaning practice

Labs

Preparations

Various practical skills (we will discuss these topic in class as well.)

  • Command-line shell: In the modern era of computing, we usually enjoy using nice GUI program to work with our files and folder. However, command-line interface still wins in many aspects. It can be much faster and more accurate. In many cases, e.g., in server maintenance and in many DevOps's activities, command-line interface is the only choice. Here are a few how-to:
  • Master your Editor/IDE:

Git

JavaScript

Cococs2d-JS

We will use Cocos2d-JS as a game development framework.

Video clips

  • Git
    • Part 1 - covers the following commands: init, status, add, commit, diff, log
    • Part 2 - covers how to ignore files
    • Part 3 - covers basic branching mode and how to move the HEAD around the commit graphs
  • JavaScript: basic
    • Part 1 - introduction, variables, control flows.
    • Part 2 - functions, I/O with alert() and prompt()
    • Part 3 - how to generate random numbers

Links