Introduction to modern software development principles and practices, including
the use of software processes in actual product development: life cycle models, IDE, version control system, user requirements gathering, object oriented software and UML, software architecture, software design and implementation, testing, software refactoring.
