- Eligibility for Participation
The admission of graduates is carried out in the 1st semester, exclusively through qualifying examinations. Admitted graduates are exempted from the three (3) examined subjects.
The percentage of placement of graduates of Universities, Technological Educational Institutes (T.E.I.), or their recognized equivalents, including ASPAITE, either from Greece or abroad (recognized by DOATAP), as well as holders of diplomas from higher educational schools of two-year or more-than-two-year programs under the authority of the Ministry of Education and Religious Affairs or other Ministries, is set at 12% of the number of admitted students per academic year, for each university or T.E.I. department.
- Application and Required Documents
Applications along with the necessary documents must be submitted exclusively via email to the Department Secretariat (gramds@unipi.gr) from November 1st to 15th of each academic year.
The required documents are:
- Application form (available under communication forms)
- Copy of degree or certificate of graduation. For graduates of foreign institutions, a recognition of equivalence by DOATAP or another competent recognition authority must also be submitted.
- Copy of ID card or passport
- Examinations – Evaluation – Other Regulations
The qualifying examinations are conducted between December 1st and 20th of each academic year. The examination schedule is announced by the Department Secretariat.
The Qualifying Examinations Committee is responsible for overseeing the examinations. It is a seven-member committee appointed by the Department Assembly.
- Examined Subjects and Examiners
Candidates are examined in the following four (4) subjects:
The C Programming Language
- Examiners: Professor I. Maglogiannis, Professor D. Kyriazis
- Reviewer: Associate Professor D. Apostolou
Computer Architectures
- Examiners: Professor K. Lambrinoudakis, Professor A. Meliones
- Reviewer: Professor D. Kyriazis
Object-Oriented Programming
- Examiners: Professor A. Prentza, Assistant Professor A. Menychtas
- Reviewer: Professor C. Doulkeridis
The syllabus for the three (3) courses includes the following:
The C Programming Language
Objective:
Introduction to structured programming and its fundamental principles using the C programming language.
Syllabus:
- Basic components of a C program
- Program Flowcharts
- Data types, variables, operators, and expressions
- Data types, declarations, and variable initialization
- Complex data types
- Control flow statements (if, if…else, for, while, do, etc.)
- Functions – Recursion
- Arrays (one-dimensional and multi-dimensional) – Management
- Strings – Usage, creation, and management
- Pointers – Passing variables by reference and value – Linked Lists
- Formatted input/output – Defensive programming
- File management
Books:
- Deitel H.M. & Deitel P.J. (2003): C Programming (translated), Giourdas Publications.
- Schildt H. (2001): The C Guide, 3rd Edition (translated), Giourdas Publications.
- G. S. Tselikis – N. D. Tselikas (2nd Edition, 2012) C: From Theory to Application
Computer Architectures
Objective:
Familiarization with binary logic, basic methods and procedures of digital circuit design, and the fundamental structure and organization of computer systems.
Syllabus:
- Number systems: Binary, Octal, Hexadecimal, Conversions between systems
- Binary arithmetic, use of complements
- Logic gates. Boolean Algebra (Axioms – Logic Operations – Key Theorems)
- Sum-of-Products and Product-of-Sums expressions
- Truth Tables, Karnaugh Maps for logic simplification
- Complex Logic Circuits (Adders, Comparators, Multiplexers, Encoders, Decoders)
- Sequential Circuits. Flip-Flops (D, T, RS, JK types). Design of Counters – Registers – Shift Registers
- Design and Analysis of Sequential Circuits
- Structure, Organization, and Function of Computers
- Von Neumann Architecture. Data Representation (Fixed and Floating Point)
- Instruction Set Structure and Features
- CPU Organization and Operation
- Control Unit
- Memory Hierarchy, CPU-Memory Interface
- Virtual Memory, Paging, Segmentation
- Cache Memory, Cache Organization Techniques
Books:
- Digital Design, Mano, A. Papasotiriou & Co.
- Computer Organization and Design, Vol. A, Patterson & Hennessy, Kleidarithmos Publications
Object-Oriented Programming
Objective:
Understanding the basic principles of object-oriented technology, in-depth knowledge of an object-oriented programming language (Java), familiarization with its use, and awareness of the challenges in developing network-centric systems using object-oriented approaches.
Syllabus:
- Introduction to Object-Oriented Technology
- Object-Oriented Programming and Core Modeling Concepts
- Introduction to the Java Programming Language
- Java Program Development Process
- Class – Object
- Methods
- Data Types
- Operators
- Control Flow Statements
- Arrays
- Java Standard Library
- Inheritance
- Polymorphism
Books:
- Paul Deitel, Harvey Deitel, Java Programming, 8th Edition, Giourdas Publications