Curriculum and Majors

BSc in Computer Engineering

​Majors

During the final third of their studies, students select one of five majors, each of which includes at least two advanced courses and an advanced lab.

Computer systems: This major delves into the development of computer systems. Students learn computer system architecture as well as the architecture of computer-embedded systems and real-time systems. The courses include parallel computing, computer architecture, VHDL, real-time operating systems, and an advanced lab in computer-embedded systems and the internet of things.

Signal and image processing: This major, which is based on the required course, Introduction to Digital Signal Processing, provides alumni with the toolbox required to handle data that comes from speech and audio signals, images, radio and communications signals, acoustic signals, or any other signal that arrives via sensors or other input systems and translated to an electronic medium. Students learn how to use digital methods to interpret, analyze, improve, code, present, and even to broadcast this data. The courses offered in this major are: signal and image processing; principles of speech processing; neural networks; computer graphics; an advanced lab in signal and image processing; random signal processing; data compression; and introduction to computer vision.

Computer communication: This major delves into topics that deal with developing communication networks between computers, decentralized computer networks, and data security for networks. The courses offered in it are: distributed computing; introduction to forecasting, introduction to cyber security, an advanced lab in computer communication networks, data compression; and computer communication networks.

Software systems: This major delves into the theory and methodologies of software development and focuses on advanced, large-scale software systems. The courses offered include database systems; hardware and software design verification; computer graphics; programming languages; a lab in database management; advanced algorithms; and storage systems.

Medical systems: The major grants students the tools to understand clinical language and introduces them to medical systems and their requirements in developing hardware and software. The topics studied include introduction to physiology, introduction to biomedical engineering and medical equipment, biological signal processing, imaging methods in medicine, and a lab on medical systems and biological signal processing.