Software Engineering

Principles and Practices

October 01, 2018
Salahaddin University-Erbil
Electrical Engineering Dept.
BSc
2018-2020
5 mins read

General Information

Course Description

This course provides a comprehensive introduction to software engineering principles, methodologies, and practices. Software engineering is the systematic approach to developing, operating, and maintaining software systems, transforming coding activities into manageable, repeatable processes that can be effectively managed and transferred between development teams.

The curriculum covers the entire software development lifecycle, from initial requirements analysis through design, implementation, testing, deployment, and maintenance. Students will learn various software development methodologies, design patterns, and best practices that enable the creation of high-quality, maintainable software systems.

Through case studies, group projects, and hands-on exercises, students will gain practical experience in applying software engineering principles to real-world development scenarios, preparing them for professional software development careers.

Prerequisites

Course Objectives

Upon completion of this course, students will be able to:

Course Outline

Week 1: Introduction to Software Engineering

Week 2: Software Development Lifecycle Models

Week 3: Project Management and Planning

Week 4: Requirements Engineering

Week 5: Software Design Principles

Week 6: Software Implementation and Coding

Week 7: Midterm Exam and Review

Week 8: Software Testing and Quality Assurance

Week 9: Software Deployment and Delivery

Week 10: Software Documentation

Week 11: Software Maintenance and Evolution

Week 12: Agile Development and Modern Practices

Week 14: Final Exam Preparation and Review

Week 15: Final Project and Course Wrap-up

Textbooks

Assessment