Faculty of Engineering and Natural Sciences

Software Engineering

About the Department

Dr. Öğr. Üyesi Funda Özdemir

Computer Science is a discipline arising from the need for computation in physics. Early computer scientists were trying to solve differential equations that modeled physical phenomena such as nuclear fission, aerodynamics, and statistical physics. Early computers were programmed by choosing key positions on a large slab of keys, where each row represented a line of code in the program.

Imagine the difficulty of programming a computer like this for any computer project like a game with complex graphics or an Internet browser! However, it is interesting that the original mathematical model put forward by John von Neumann, who is considered one of the most genius mathematicians of the 20th century, is the computer model we still use today. The basic philosophy of the Computer Science Department is to develop open access and open source software development methods independent from the platform as well as to conduct training, research and development on such platforms. We aim to make our students develop software by working on operating systems that are independent of the platform and unproprietary. Thus, for example, an application developed in the Android operating system will be provided to run on operating systems such as Linux and Mac.

In order for a computer science graduate to easily learn a new programming tool or platform, he/she must have learned both permanent theory and popular practices together. As Computer Science faculty members, our aim is to teach our students both the theory and application of the programming, and graduate and prepare them for the profession. Our curriculum has been prepared meticulously in this direction. In the first two years of the education, programming on Python and C/C++, and mathematical topics such as logic, computational algebra and graph theory are included. In the next two years, our curriculum consists of courses on algorithms and data structures, object oriented programming, operating systems, databases, computer networks, computer security, cryptography and machine learning.