Computer Engineering BE Program
A few decades ago, the computer engineering discipline was virtually nonexistent. Today, it is one of the most rapidly growing fields in engineering. The ever-increasing use of computers in almost every sphere of our society has created high demand for engineers with balanced knowledge of hardware and software. In the heart of every computer is electronics, which supports the execution of programs that perform tasks for intended objectives. Therefore, computer engineers must have skills that are not only used for design and manufacturing of central processing units, memory systems, peripheral devices, or design of digital systems in general, but also for software development and systems programming.
The curriculum of computer engineering provides a solid education in the fundamentals of electrical engineering and an extensive study of digital hardware and software. In the first two years students take courses that prepare them with the necessary background in mathematics, physics and the fundamental concepts and principles in circuit theory, electronics, digital systems, embedded microprocessor system design and computer science. In the third and fourth years, students take courses in computer architecture, software engineering, operating systems, and software tools.
Many of the courses require laboratory work where students are trained to go through entire design cycles. For example, in a course on design of embedded microprocessor systems, whose topics include system level architecture, microprocessors, ROM, RAM, I/O subsystems, address decoding, programmable integrated circuits, assembly language programming and decoding, students design, implement, and test microprocessor controlled circuits. In a follow-up course, they study subjects such as real-time requirements, timing, multi-module and multi-language systems, then design a complete system, and finally, prototype it in a laboratory.
In the senior year, students take a one-year senior design course in which they team-up with a partner, and work on a project to design and build a prototype of a particular system. The students use their skills and knowledge acquired previously to complete their system, which besides operational requirements must satisfy other constraints, including economic factors, reliability, and safety. The students write a series of technical reports on their work, give oral presentations, and at the end, demonstrate the performance of their system.