Department of Computer Engineering

About

Today, employing computers to solve different problems in various aspects of human life has become a necessity in the developed and developing countries, and hence, graduates in computer engineering play an important role in this field.
The Department of Computer Engineering was established in 2007 and officially began admitting undergraduate students in two majors, “Software” and “Hardware”. The department’s graduate studies program was initiated by the introduction of the “Software Engineering” MS major in 2011; the program was later expanded through the introduction of the “Computer Architecture” MS major in 2016.
The department continuously updates its research programs and course syllabi, enhances the academic and practical quality of the faculty and advances knowledge boundaries according to the latest advances in this rapidly evolving field.

Majors and Programs

  • Computer Engineering (B.Sc.)

    To educate specialists capable of solving different problems in computing technology, the BS degrees of “Computer Engineering” is offered at the department.
    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 the second 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 major related 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 major specific courses. 
  • Computer Engineering- Software (M.Sc.)

    This MS program focuses on preparing students for conducting research on applied aspects of software development, including formal specification of software systems, analysis and design of large software systems, software development processes, knowledge engineering, operating systems, information databases, and security issues. It also focuses on preparing students for conducting research on theoretical aspects of software development, including advanced algorithms and data structures, parallel algorithms, game theory, computational geometry, and learning algorithms.
  • Computer Engineering- Computer Archoitecture (M.Sc.)

    This MS program focuses on preparing students for conducting research on various fields of computer architecture, including computer networks, design and implementation of advanced architectures for computer systems, VLSI design, Low Power Design, Real-Time Systems, Embedded Systems, Reconfigurable Computing, Electronic System-Level Design, Data Storage Systems, Hardware/Software Co-design and dependable systems.
  • (Ph.D.)

    The PhD degree is offered in various fields of Computer Engineering, including Computer Architecture, Artificial Intelligence, Software Engineering, Network and Computation.

Facilities and Equipment

  • Teaching

    Teaching
  • Research

    Research Groups

    Software
    Software engineering is a systematic engineering approach to software development. A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term programmer is sometimes used as a synonym, but may also lack connotations of engineering education or skills.

    Computer Architecture
    In computer engineering, computer architecture is a set of rules and methods that describe the functionality, organization, and implementation of computer systems. The architecture of a system refers to its structure in terms of separately specified components of that system and their interrelationships.

    Artificial Intelligence
    Artificial intelligence (AI) is intelligence demonstrated by machines, as opposed to the natural intelligence displayed by animals including humans. AI research has been defined as the field of study of intelligent agents, which refers to any system that perceives its environment and takes actions that maximize its chance of achieving its goals.

    Laboratories
    To conduct graduate study and research on various aspects of computer engineering, the department is equipped with a substantial number of specialized research laboratories directed by faculty members. A number of these laboratories are listed below.
    Natural language processing (NLP) – Dr. Mirrosahndel
    Enterprise architecture (EA) – Dr. Ahmadifar
    Internet of Things and Smart Systems Laboratory (IoTSSL) – Dr. Salehi

        Research Areas
    To facilitate in-depth practical study of different aspects of computer engineering, several educational laboratories are devoted to providing hands-on laboratory experience to undergraduate and graduate students. A number of these laboratories are listed below.
    Algorithms and Computations
    Architectural Support for Emerging Technologies
    Circuit and VLSI Design
    Cloud and Green Computing
    Data Mining
    Database Systems
    Dependability and Fault-Tolerant Systems
    Distributed and Pervasive Computing
    Electronic Design Automation and HW/SW Co-design
    Embedded and Real-time Systems
    Hardware Security
    Hardware Test and Testability
    High Performance Computing and Parallel Processing
    Image and Video Processing
    Low-Power Design
    Machine Learning
    Micro-architecture and Multicore Processors
    Natural Language Processing (NLP)
    NoC, SoC, and Interconnection Networks
    Operating Systems
    Reconfigurable Computing
    Security, Privacy, and Cryptography
    Smart Buildings (Cyber-Physical Systems)
    Social Networks
    Software Engineering
    Systems and Networking
  • Publication

    Publication

Academic Members

Mohammad Salehi, Ph.D.
Head of Department
Assistant Professor of Computer Engineering 

Research interests:
•    Real-time and Embedded Systems
•    Low-power Design
•    Fault-tolerant Systems
•    Cyber-physical Systems
•    Internet of Things (IoT)
Home Page
Asadollah Shahbahrami, Ph.D.
 Professor
Computer Engineering

Research interests:
•    Parallel Processing
•    Image and Video processing
•    Advanced Computer Architecture
•    Code optimization
•    Explainable Artificial Intelligence
•    Big Data Processing
•    Embedded System Design
Home Page
HamidReza Ahmadifar, Ph.D.
Assistant Professor
Computer System Architecture

Research interests:
•    Computer Arithmetic
•    Approximate Computing
•    Residue Number System
•    Cloud Computing
Home Page
Reza Ebrahimi Atani, Ph.D.
Associate Professor
Computer Engineering
​​​​​​​
Research interests:
•    Cryptographic algorithms and protocols
•    Computer Network Security
•    VLSI design
Home Page
Seyed Abolghasem Mirroshandel, Ph.D.
Associate Professor
Computer Engineering

Research interests:
•    Natural Language Processing
•    Machine Learning
•    Deep Learning
•    Data Mining
Home Page
Mahdi Aminian, Ph.D.
Assistant Professor
Computer Engineering 

Research interests:
•    Image sensors and Photodetector devices
•    Embedded systems
•    Digital Systems Design
•    VLSI Physical Design
•    VLSI Systems
Home Page
Seyed Mohammadhossein Shekarian, Ph.D.
Assistant Professor
Computer Engineering 

Research interests:
•    Dependability in hardware and IoT (security, fault tolerance and test)
Home Page
Farid Feyzi, Ph.D.
Assistant Professor
Computer 

Research interests:
•    Software Testing and Debugging
•    Software and Systems Modelling and Evaluation
•    Mining Software Repositories
•    Source Code Analysis
Home Page

Gallery