The target of the course is to introduce some fresh graduate with the unfulfilled skills in many courses:
- Day 1 (Agile Development)
- session (2 hours ) :
- understanding of philosophy of agile
- understanding of SCRUM , XP methods
- Exercise (2 hours ): participants will plan new project with the following outcomes:
- develop product backlog with some story cards
- agree that instructor will act as the customer proxy.
- write basic features using pair programming
- Assignment:
- Each participant will take home small task to finish.
- Day 2 (introduction to Linux )
- Session
- Exercise
- stand-up : what was done? , what will be done till next session ? , review blockers
- getting previous code running on Linux VMs
- using vi, make code changes , compile, run
- Day 3 (unit testing ):
- Session:
- understanding the importance of unit testing
- use unit testing framework
- Exercise
- stand-up : what was done? , what will be done till next session ? , review blockers
- implement unit testing for finished task
- implement unit test fist for new tasks
- Day 4 (code versing )
- Session
- understanding the importance of version control
- understating client server version control model
- understanding distributed version control model
- Exercise
- stand-up : what was done? , what will be done till next session ? , review blockers
- register new version control repo on googlecode or bitbuckets
- push code (of previous tasks ) to repo
- instructor ask participants for some tasks that results in code conflict
- learn how to handle conflict
- Day 5 (Continuous Integration )
- Session
- the need of integration
- overview of Hudson
- Exercise
- stand-up : what was done? , what will be done till next session ? , review blockers
- implement Hudson job that makes nightly build of source code
- make commit that break unit test and get notified by email
- Day 6 (Code quality )
- Session
- code standards
- code readability
- refactor a
- Exercise
- stand-up : what was done? , what will be done till next session ? , review blockers
- Demo of the finished story cards
- User acceptance test