Introduction to Computer Science

Code 3.4.3355.3
Semester 3rd
Category Obligatory
Credits 4
Class Hours - Lab Hours 4 - 0
Lecturers Dimitris Fotakis, 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.