introduction
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.
PREREQUISITES
- You must have completed either COSC 6318 or COSC 4351
- You must have completed COSC 1320 or equivalent
- You must have completed COSC 2320 or equivalent
Pre-requisites will be enforced (expected to have knowledge of OOA/D, Data Structures, Software Development Life Cycle, and Software Engineering). If you have any questions about them, please contact Dr. Subhlok or Dr. Shah. Everyone will be required to fill in a pre-requisite certification form that is available on the resources page. The form must be submitted to the instructors by 6PM by the end of first week of classes.
GRADING
Grades for project components will depend on the overall group effort as well as the individual contribution of students.
- Iteration demo and progress 45%
- First incremental deliverable 10%
- Final deliverable 10%
- Final demo 10%
- Student evaluation of project 5%
- Individual Peer review 10%
- Individual student report (details provided later) and interview 10%
Some details of grading may change but this should give you a good idea.
RECOMMENDED TEXTS
There are no required texts for this course. Some recommended texts are:
- Agile Software Development: Principles, Practices, and Patterns by Robert Martin
- Pragmatic Project Automation: How to Build, Deploy, and Monitor Java Apps by Mike Clark
- Test Driven Development: By Example by Kent Beck
- Pragmatic Unit Testing by Dave Thomas and Andy Hunt