Undergraduate Program
To educate specialists capable of solving different problems in computing and information technology, two BS degrees of “Computer Engineering” and “Information Technology Engineering” are offered at the department.

Outlines of these programs are provided below.
  • BS in Computer Engineering

    The 4-year undergraduate Computer Engineering program focuses on the essentials of computer engineering knowledge, encompassing the organization, design, analysis, programming, application, and theoretical aspects of digital computers and computing systems. The aim of this program is to prepare students for further work in software and hardware technology, either in the industry or in pursuit of a graduate degree. A key theme of this curriculum is the hardware/software interaction in computer systems design, a theme reflected in the balance between computer hardware and computer software aspects in the course requirements. To provide an in-depth study, the program is offered in two majors, “Software” and “Hardware”. During the first year and most of thesecond year, students take courses in basic mathematics and physics, general engineering, and computational sciences. To provide the students with essential background knowledge of computer engineering, a majorrelated combination of basic software and hardware courses is offered during the rest of the second year and throughout the third year. The fourth year provides a specialized line of study consisting of advanced majorspecific courses. The two majors are briefly outlined below.


    The Software major focuses on the analysis, design, implementation and evaluation of efficient software systems and processes, and deals with information acquisition, storage, processing and retrieval. To educate effective specialists in these areas, a combination of theoretical and engineering courses is offered to provide students with the following capabilities and skills:

    • In-depth knowledge of analysis and design of software systems

    • Proper insight into the algorithmic aspects of software systems

    • Adequate acquaintance with software development processes

    • High programming skills, and proficiency in working with software development tools

    Additionally, due to the significant interaction between the software and hardware components of many computing systems, such as robots and real-time systems, students are also provided with a preliminary knowledge of computer hardware.


    The main goal of the Hardware major is to provide a specialized BS-level study program to cover the following two areas:

    • Design, implementation and deployment of hardware-dependent systems and architectures, capable of performing digital computations and signal processing, which could be utilized in industrial automation projects, advanced microprocessors, control systems, computer networks, embedded systems, and data communications.

    • Reengineering of existent hardware systems, and proposing effective methods for their maintenance and dependability testing.

    Due to the practical nature of this major, the curriculum reflects the importance of laboratory work alongside classroom activities, thus covering both applied and theoretical aspects.

  • BS in Information Technology Engineering

    The rapid growth of computer networks, information databases, and multimedia systems poses serious challenges to the processing, management, and exploitation of the information available. This demands an indepth knowledge of complicated theoretical and practical issues. Accordingly, the Information Technology Engineering program aims at educating specialists equipped with the essential management and problem solving skills to keep up with the rapid growth of information technology. Concerning this, in addition to a set of core computer engineering courses, students are introduced to a set of courses on communication networks, information management systems, and the applications of information technology in various related disciplines.