Foundations of Computer Science

Code 3.4.3355.3
Semester 3rd
Category Obligatory
Credits 5
Class Hours - Lab Hours 4 - 0
Lecturers Aris Pagourtzis, Giorgos Stamou, Athanasios Voulodimos, Stathis Zachos, Theodora Souliou (T & R Associates), Paraskevi Tzouveli (T & R Associates)


The course aims at providing a complete introduction to the fundamental concepts and methods of Computer Science, across the entire spectrum from theory to applications. It comprises the following parts: Theory: computability and complexity, algorithmic performance, computation models: automata, Turing machines, Random Access Machines (RAM), formal languages and grammars, computer science logic. Algorithms: techniques and strategies, numerical computations, graph and network algorithms, text processing, encodings, hashing. System software and computing systems: Von Neumann, Harvard, Dataflow architectures, programming in assembly language, system software (operating systems, compilers), parallel/distributed systems, embedded systems. Applications: databases, cryptography, digital coins, computational biology, social networks.