Foundations of Computer Science
|Class Hours - Lab Hours||4 - 0|
|Lecturers||Dimitris Fotakis, Vassiliki (Verena) Kantere, Aris Pagourtzis, Dimitrios Soudris, Giorgos Stamou, Stathis Zachos, Georgios Alexandridis (T & R Associates), Theodora Souliou (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.