The Software Engineering Undergraduate Program at Eskişehir Osmangazi University, Faculty of Engineering and Architecture, is a four-year program designed to equip students with the knowledge and skills required for the analysis, design, development, testing, and management of software systems. The program aims to provide both a strong theoretical foundation and practical competencies in software engineering.
The curriculum is structured on the fundamentals of mathematics, basic engineering sciences, and computer science. Within this scope, students gain comprehensive knowledge in core areas such as algorithm design, data structures, object-oriented programming, software requirements engineering, software testing, software project management, and theory of computation.
In the early years of the program, students develop analytical thinking and problem-solving skills through courses such as Calculus, Physics, Linear Algebra, and Discrete Computational Structures. At the same time, they are introduced to the field through foundational courses like Introduction to Programming and Introduction to Software Engineering.
In the following semesters, students deepen their professional knowledge through courses such as Object-Oriented Programming, Data Structures, Algorithms and Complexity, Software Testing, and Software Requirements Engineering, gaining hands-on experience in software development processes.
The program also aims to develop essential engineering competencies, including:
teamwork,
project management,
effective communication,
ethical responsibility,
lifelong learning.
The Software Engineering Undergraduate Program is structured over 8 semesters (4 years) in accordance with the Bologna Process and the European Credit Transfer System (ECTS).
📌 Current status of the program:
Course contents and course information packages for the 1st and 2nd years have been completed and published.
Course contents for the 3rd and 4th years are currently under development and will be added to the system in the upcoming periods.
The program has a dynamic and continuously improving structure, updated regularly in line with academic advancements and industry needs.
The program integrates:
theoretical courses,
laboratory sessions,
project-based learning,
problem-solving oriented activities.
Students actively participate in all phases of the software development lifecycle and gain experience through both individual and team-based projects.
Graduates of the program can pursue careers in various fields such as:
software development,
systems analysis,
software testing,
data engineering,
artificial intelligence and machine learning.
They may also continue their education through graduate studies and pursue academic careers.