ผลต่างระหว่างรุ่นของ "01219245-56"
ไปยังการนำทาง
ไปยังการค้นหา
Jittat (คุย | มีส่วนร่วม) (→Labs) |
Jittat (คุย | มีส่วนร่วม) (→Labs) |
||
(ไม่แสดง 48 รุ่นระหว่างกลางโดยผู้ใช้คนเดียวกัน) | |||
แถว 1: | แถว 1: | ||
− | This is a course homepage for 01219245/01219246 '''Individual Software Process and Individual Software Process Lab | + | This is a course homepage for 01219245/01219246 '''Individual Software Process and Individual Software Process Lab,''' for semester 2556/2. |
== Announcements == | == Announcements == | ||
+ | * Make sure you have your project setup. (see below) | ||
+ | * [https://tinyurl.com/219245handles Register your handle] | ||
+ | * [https://tinyurl.com/219245progress Inform the instructor about your progress] | ||
+ | * Students' Achievements: [[01219245-56/achievements450|Section 450]], [[01219245-56/achievements451|Section 451]] | ||
== Lectures == | == Lectures == | ||
− | * Week 1: Introduction. (slides | + | * Week 1 (Jan 24): Introduction. ([http://theory.cpe.ku.ac.th/wiki/images/01219245-01-intro.pdf slides]) |
** Modern software development: | ** Modern software development: | ||
*** [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. | ||
*** [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. | ||
*** [https://www.facebook.com/publications/514128035341603 Development and Deployment at Facebook] is a paper describe how things work at Facebook, i.e., how Facebook can develop new features at a rapid rate while having increasingly large number of engineers. | *** [https://www.facebook.com/publications/514128035341603 Development and Deployment at Facebook] is a paper describe how things work at Facebook, i.e., how Facebook can develop new features at a rapid rate while having increasingly large number of engineers. | ||
+ | |||
+ | * Week 2 (Jan 31): Incremental & iterative development ([http://theory.cpe.ku.ac.th/wiki/images/01219245-02-incremental-development.pdf slides]) | ||
+ | |||
+ | * Week 3 (Feb 21): | ||
+ | ** 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] | ||
+ | ** 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 4 (Feb 28): | ||
+ | ** Project idea discussion. | ||
+ | ** Planning 1. ([http://theory.cpe.ku.ac.th/wiki/images/01219245-04c-planning1.pdf slides]) | ||
+ | ** Clean code: Meaningful names. ([http://theory.cpe.ku.ac.th/wiki/images/01219245-04b-meaningful-names.pdf slides]) | ||
+ | |||
+ | * Week 5 (Mar 7): | ||
+ | ** Project planning ([http://theory.cpe.ku.ac.th/wiki/images/01219245-05a-planning2.pdf slides]) | ||
+ | ** Clean code: functions ([http://theory.cpe.ku.ac.th/wiki/images/01219245-05b-functions.pdf slides]) | ||
+ | |||
+ | * Week 6 (Apr 4): | ||
+ | ** Estimation 1 ([http://theory.cpe.ku.ac.th/wiki/images/01219245-06a-estimation-data-collection.pdf slides]) | ||
+ | ** Iteration 2 planning ([http://theory.cpe.ku.ac.th/wiki/images/01219245-06b-planning-2nd-iteration.pdf slides]) | ||
+ | |||
+ | * Week 7/8 (Apr 6): | ||
+ | ** Template for TDD practice: [http://theory.cpe.ku.ac.th/wiki/images/219245-practice.zip 219245-practice.zip] | ||
+ | |||
+ | * Week 9 (Apr 11): | ||
+ | ** Martin Fowler's slide on [http://codecourse.sourceforge.net/materials/Refactoring-Presentation-from-JavaOne.pdf Refactoring] | ||
+ | |||
+ | * Week 10 (Apr 18): | ||
+ | |||
+ | * Week 11 (Apr 25): | ||
+ | |||
+ | * Week 12 (May 2): | ||
== Labs == | == 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 [https://en.wikipedia.org/wiki/DevOps DevOps]'s activities, command-line interface is the only choice. | ** 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 [https://en.wikipedia.org/wiki/DevOps DevOps]'s activities, command-line interface is the only choice. | ||
*** Various how-to: | *** Various how-to: | ||
แถว 20: | แถว 57: | ||
** Master your Editor/IDE: | ** Master your Editor/IDE: | ||
− | + | * [[01219245/git|Version control system with Git]] | |
− | + | * Getting Started with JavaScript | |
− | + | ** [[01219245/javascript1/tutorial1|Tutorial 1: Number guessing game]] | |
− | + | ** [[01219245/javascript1/tutorial2|Tutorial 2: Event-driven programming]] | |
− | + | ** [[01219245/javascript1/tutorial3|Tutorial 3: 21 Game]] | |
− | + | ** [[01219245/javascript1/tutorial4|Tutorial 4: Hangman]] | |
− | * | + | * Cocos2d-x |
− | ** [[01219245/javascript1/ | + | ** ''Notes:'' If you want to work with cocos2d-x, you'll need to use firefox if you want to run your game from URL <tt>file://</tt>. If you want to use Chrome, follow these [[01219245/cocos2d chrome setup|instructions]]. Don't forget to disable JavaScript cache. |
− | + | ** [[01219245/cocos2d-html5/Sprites|Tutorial 100: Sprites]] | |
− | * ''' | + | ** (optional) [[01219245/cocos2d/Gozilla Shoot Game|Tutorial 100.5: Gozilla Shoot Game]] |
− | ** [[01219245/ | + | *** No tutorial text right now, but you can study it from the commit logs and changes from its Git repo at [https://bitbucket.org/jittat/cocos-cannon bitbucket.org]. |
+ | ** [[01219245/cocos2d/Sprites2|Tutorial 101: Sprites 2 - Flappy Dot]] | ||
+ | ** [[01219245/cocos2d/Actions|Small Tutorial 102: Actions, spritesheets, sound effects]] | ||
+ | ** [[01219245/cocos2d/Maze|Tutorial 103: PacMan]] | ||
+ | ** [[01219245/cocos2d/Platform1|Guide 200: Platform game without physics engine]] | ||
+ | * Project setup/review | ||
+ | ** [[01219245/repository setup|Project repository setup]] | ||
+ | ** [[01219245/trello setup|Trello board setup]] | ||
+ | ** [[01219245/iteration review|Iteration review]] | ||
+ | * Manual testing | ||
+ | ** [[01219245/manual testing|Manual testing]] | ||
== Links == | == Links == | ||
* JavaScript | * JavaScript | ||
** Style guides: [https://github.com/rwaldron/idiomatic.js idiomatic.js], [http://contribute.jquery.org/style-guide/js/ jQuery style guide], [http://javascript.crockford.com/code.html Crockford's code convention], [https://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml Google JavaScript Style Guide] | ** Style guides: [https://github.com/rwaldron/idiomatic.js idiomatic.js], [http://contribute.jquery.org/style-guide/js/ jQuery style guide], [http://javascript.crockford.com/code.html Crockford's code convention], [https://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml Google JavaScript Style Guide] |
รุ่นแก้ไขปัจจุบันเมื่อ 16:27, 27 มกราคม 2558
This is a course homepage for 01219245/01219246 Individual Software Process and Individual Software Process Lab, for semester 2556/2.
เนื้อหา
Announcements
- Make sure you have your project setup. (see below)
- Register your handle
- Inform the instructor about your progress
- Students' Achievements: Section 450, Section 451
Lectures
- Week 1 (Jan 24): Introduction. (slides)
- Modern software development:
- 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.
- Business Model Canvas Explained is a nice clip that tells you what business thinks when developing a new product.
- Development and Deployment at Facebook is a paper describe how things work at Facebook, i.e., how Facebook can develop new features at a rapid rate while having increasingly large number of engineers.
- Modern software development:
- Week 2 (Jan 31): Incremental & iterative development (slides)
- Week 3 (Feb 21):
- Week 4 (Feb 28):
- Week 7/8 (Apr 6):
- Template for TDD practice: 219245-practice.zip
- Week 9 (Apr 11):
- Martin Fowler's slide on Refactoring
- Week 10 (Apr 18):
- Week 11 (Apr 25):
- Week 12 (May 2):
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.
- Various how-to:
- Windows:
- Linux:
- Various how-to:
- Master your Editor/IDE:
- 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.
- Version control system with Git
- Getting Started with JavaScript
- Cocos2d-x
- Notes: If you want to work with cocos2d-x, you'll need to use firefox if you want to run your game from URL file://. If you want to use Chrome, follow these instructions. Don't forget to disable JavaScript cache.
- Tutorial 100: Sprites
- (optional) Tutorial 100.5: Gozilla Shoot Game
- No tutorial text right now, but you can study it from the commit logs and changes from its Git repo at bitbucket.org.
- Tutorial 101: Sprites 2 - Flappy Dot
- Small Tutorial 102: Actions, spritesheets, sound effects
- Tutorial 103: PacMan
- Guide 200: Platform game without physics engine
- Project setup/review
- Manual testing
Links
- JavaScript