01219245-57
ไปยังการนำทาง
ไปยังการค้นหา
- This is an old homepage from last year. For the recent offering, please see 01219245.
This is a course homepage for 01219245/01219246 Individual Software Process and Individual Software Process Lab for 2nd semester, academic year 2557.
Announcements
- 1/14: In the lab today, we will practice source code version control, using Git. See the material. If you are fast, you can proceed to practice on JavaScript. See JavaScript tutorial 1.
Lectures
- Week 1 (Jan 16): 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.
- Modern software development:
- Week 2 (Jan 23): Incremental & iterative development (slides)
- Week 3 (Feb 13):
- Week 4 (Feb 20):
- Software testing, Unit testing, TDD (slides)
- Unit testing in JavaScript (slides)
- Template for TDD practice: 219245-practice.zip
- Week 6 (Mar 13):
- Test design techniques (slides)
- Practice: KU Student status
- Week 8 (Apr 10):
- Planning for the 3rd iteration (slides)
- Code smells cheat sheet from Industrial Logic.
- Week 9 (Apr 17):
- Practice TDD for objects with states (slide)
- Template: 219245-practice2.zip
- PSP
- Week 10 (Apr 24) Software Estimation:
- Slides:
- Agile estimating from Mountain Goat Software
- Agile Estimation: Key Principles and Practices for Successful Agile Projects from Construx.
- Slides:
- Week 11 (May 1) Software Design:
- DRY, SLAP, SRP from Principles Wiki
- Principles of OOD by Robert Martin
- Slides:
- SOLID: software design principles by Jon Kruger (slideshare)
- SOLID, DRY, SLAP by Сергей Карпушин (slideshare)
- Week 12 (May 8) Project fair
- Week 13 Soft skills for software engineers
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
- After you finish each tutorial, you should try to work on its quiz to make sure that you grasp core concepts of each tutorial.
- Tutorial 1: Number guessing game
- Self quiz after finishing the tutorial: self-quiz-tut1.pdf
- Tutorial 2: Event-driven programming
- Self quiz: self-quiz-tut2.pdf
- Tutorial 3: 21 Game
- Tutorial 4: Hangman
- Cococs2d-JS
- We will use Cocos2d-JS as a game development framework.
- Installation
- Tutorial 100 - sprites
- Tutorial 101: Sprites 2 - Flappy Dot
- Tutorial 103: PacMan
- Guide 200: Platform game without physics engine
- Project setup/review
Video clips
- Git
- JavaScript: basic
Links
- Course home page from last year
- JavaScript