Bilkent University has been founded with the aim of establishing a center of excellence in higher education and research. The Department of Computer Engineering is responsible for the implementation of this mission in the area of computer engineering, and is dedicated to serving society and the advancement of knowledge through excellent teaching and scholarship.
Educational Objectives for Undergraduate Program:
In our undergraduate program, our department is committed to prepare our alumni to
Hallmarks of our Graduates
Beyond the Educational Objectives, we expect our alumni to be known for their
Educational Objectives for Graduate Program:
The educational objectives of the graduate program are that our graduates achieve a successful career in industry, academia, or government through their ability in disseminating new knowledge through research and publications in core and emerging areas of the computer engineering discipline.
The program contributes to the development of dedicated scholars, devoted educators, and innovative researchers.
The undergraduate program provides a state-of-the-art educational environment that promotes open interaction with experienced faculty and staff through a dynamic, rigorous, and well-balanced curriculum. The program of four years consists of technical and non-technical required courses, technical and non-technical elective courses, two summer trainings, and a two-semester senior design project with its presentation.
The program starts with an orientation that acquaints students with the system of the university, the faculty of the department, and the facilities on campus. Students are urged to take advantage of the excellent infrastructure at Bilkent, especially the library, the computer laboratories, and the Internet connections in the dormitories, in learning how to learn and to develop themselves intellectually. They are also informed about the existence of a variety of seminars on different subjects and clubs for different interests on campus in which they can participate. These instill in the students knowledge of diverse cultures, contemporary issues, and awareness of the needs and benefits of involvement in professional and social activities. In their sophomore years, students take two more mandatory courses, in which they are expected to involve a diverse set of activities outside their coursework. This helps students improve themselves in noncurricular activities as well as broaden their perspectives.
The four courses on languages and composition in the freshman year help students to develop their communication skills; the technical report writing and presentation course in the senior year improves these skills. The two courses on national history and the two courses on civilizations, cultures, and ideas in the sophomore year, the course on science, technology, and society in the junior year, and the course on principles of engineering management in the senior year develop in the students an understanding of professional and social responsibilities including ethical values, the need for life-long learning, and the significance of multidisciplinary work.
The five courses on calculus, general physics, and modern biology in the freshman and sophomore years lay the foundations in sciences of the engineering discipline that lies ahead of students. These courses also help students to communicate and interact effectively with engineers and scientists in different areas of specialization. The four courses on discrete and combinatorial mathematics, probability, linear algebra, and differential equations in the first three years of the program provide the firm mathematical foundations for the pursuit of a successful computer engineering career.
In the freshman and sophomore years, students study and practice two high-level computer programming languages (currently, Java and C++) in a series of three courses that emphasize algorithm design using a structured, modular, and object-oriented approach. In a fourth course in the sophomore year, students learn and practice the basics of algorithm design and analysis on fundamental data structures. In the junior year programming languages course, students learn the fundamental concepts of programming languages by identifying the design issues of the various language constructs, examining the design choices in some of the most common languages, and critically comparing design alternatives. In the object-oriented software engineering course in the same year, students develop the necessary knowledge and skills to work in teams on large projects. They are expected to perform an object-oriented modeling through a careful analysis and design using state-of-the-art CASE tools, and implement in an object-oriented language. In a series of two courses in the junior year, students study data organization and database management systems that develop the knowledge and skills to organize, maintain, and retrieve information from large data sets and to design and implement database applications. In this year, with the operating systems principles course, students are exposed to software that drives computers. In the senior year course on algorithms, students develop the knowledge and skills in analyzing the time and space complexity of algorithms using mathematical and statistical methods, and acquire skills and proficiency in developing algorithms using the modern algorithm design paradigms. In the same year, students also study theory of computing in the course on automata theory and formal languages, which ends the series of required courses related to software systems and theory.
With the series of digital design and computer organization courses in the sophomore year, students develop knowledge to understand and design hardware of computer systems. These courses are followed by a course on signals and systems and a course on microprocessors in the junior year. Altogether these four hardware courses provide the foundations for understanding the functioning of digital devices, the design of computer subsystems formed of these devices and their integration.
Through the required computer engineering courses in the program, students learn how computers can be used to solve problems in a unified hardware/software view. Through five technical elective courses (such as artificial intelligence, compiler design, computer architecture, computer graphics, computer networks, eBusiness, logic for computer science, software engineering project management, and user interface design) in the junior and senior years, students are able to improve their knowledge and skills in areas that are of interest to them. It is also possible to take technical elective courses from other departments in engineering and science. On the other hand, students must take at least two non-technical elective courses in their last two years of the program. The non-technical elective courses complement the undergraduate program by broadening the horizon of students and their knowledge of contemporary issues to understand the impact of computer engineering solutions in a global and social context.
With the help of two required summer trainings each of which must be at least four weeks long, junior and senior students practice their knowledge, learn to function in a collaborative and most of the time multi-disciplinary environment, and improve their communication skills. For two semesters in the senior year, students work on a design project that requires creative thinking and present their work at the end of their study in the department.
In light of the Mission Statement and Educational Objectives given above, the Program Outcomes of the undergraduate program have been determined as