Description
The objective of this course is to bring the students up to speed on the pragmatics of software development. In this hands-on course, the students will work towards developing industrial strength software systems using state of the art techniques and tools. Emphasis will be placed on estimation, planning, risk management, testing, development and deployment. Standardized good practices in software development, including pragmatic programming and agile software development practices will be emphasized.
TOPICS
- Agile Software Development
- Principles and Practices
- Tools for Agile Development
- Unit Testing
- Continuous Integration
- Continuous Feedback
- Estimation
- Measuring Progress
- Measuring Quality
COURSE ORGANIZATION
There will be a few lectures (3 or 4) through the semester and students will be expected to attend some relevant seminars. The course will primarily be driven by student project iterations. There will be a project progress review every two weeks with deliverables at the middle and end of the semester.