The very first computers used an electromechanical relay element as the basic unit of switch which required a great deal of energy and burned up too frequently. The computers had to be placed in large basements of hundreds of square meters. The vacuum tubes were only a slight improvement, but the real revolution started when transistor was invented that was not only small (a few micrometers then and less than a nanometer now) but also required a lot less energy, and they are also highly resilient.
The field of computer engineering focuses on the design and development of computers, while computer science focuses on the design and development of programs. This dichotomy between computer engineering and computer science has been the motor of the computing revolution. However, both fields are not at all isolated, in fact there are several overlapping fields that create the planes of communication: digital logic design, computer architecture, and operating systems. Historically, the computer science departments started as small groups in the science colleges of universities, while computer engineering departments started within the colleges of engineering, more specifically in the department of electrical engineering. Therefore, there is some amount of overlap in computer engineering and electrical engineering fields as well. In fact, any device that has digital or discrete nature in electrical engineering has a particular use in computer engineering.
Computer engineering education is placed right between computer science and electrical engineering, however facing towards computer science with the ultimate goal of designing computers systems from small devices (microwave ovens, watches, thermostats) to medium-size devices (phones, tablets, laptops) to large-scale systems (industrial control, cyber-physical systems). These computers need to operate fast, spend as little energy as possible, take minimal amount of physical space, be resilient against faults, as well as equipped with security measures against attacks.
The computer engineering education at Istinye University start with foundational preparation courses in logic, algebra, combinatorics, and graph theory, and move into digital logic design, computer networking, computer architecture, operating systems, microprocessor system design, embedded systems, VLSI design, and fault-tolerant systems. There are also courses in Python and C programming, as part of computer system design.