Computers and algorithms, the hierarchy of software-hardware, algorithm design, computability, correctness and complexity of algorithms, structure and operation of computing systems, categories of programming languages, compilers of programming languages, operating systems, artificial intelligence, social effects of computers. Computer networks. Network architecture in layers and basic design principles. Methods of data transfer. Internet technologies. High speed networks, mobile and personal networks. Signals and systems, time and frequency domain, sampling, signal and image compression.