The course objective is to present software engineering concepts and principles in parallel with the software development life cycle, and to present software engineering as a body of knowledge. Students will master software engineering concepts, principles, and essential processes of the SDLC; and demonstrate that knowledge by creating UML artifacts for requirements gathering, analysis, and design phases using an object-oriented methodology.