The educational activities of the Laboratory cover a wide range of courses of the Undergraduate and Postgraduate program "Computer Science and Engineering" of the CEID.

### Undergraduate

### Introduction to Procedural Programming

Introduction (problem, algorithm, program). Execution process of a program. Definition of a programming language, the language C. C. Program structure

Alphabet, vocabulary, constants, variables. Basic data types. Key input and output commands. Operators and Expressions categories. Program flow control and selection and iteration structures. Type table and type of indicator. Subprograms and functions in C. Advanced functions issues (scope, parameter passing). Structures in C and access archeion.To course contains a series of exercises in the programming language C. These exercises undertaken by students in order to consolidate what has been learned in theory.

Details: Y131, Compulsory Courses 1st Semester

Instructor: Makris Ch., Assistant Professor

### Multidimensional Data Structures and Computational Geometry

Computer graphics: Introduction, Classification of applications, History, Technology exit, Technology input, standard graphic software, lines and nodes in Raster Display, Lines, The basic incremental algorithm, The Bresenham algorithm for lines, Circles. The Bresenham algorithm for cycles, two-dimensional transformations, Window and clipping algorithms A segment-clipping algorithm , polygons' cutting, transformation in Photorealistic Computer graphics. Algorithmic Geometry: Introduction, Orthogonal data The tree interval (DD), The planesweep technique, An application DD, The Priority tree (QI), Stable Universe, Freedom Universe Applications . II., The tree line segments (D.ET) Stable Universe, Freedom Universe An application, The area tree (Range-tree), Fractional Cascading. Separating level trails and Sweep-technique for non-orthogonal objects. The problem of total area of simple polygons. Delete invisible lines (Hidden line elimination problem).

Details: 4338 Acquisition, Fall Semester

Instructor: Tsakalidis A., Professor

### Principles of Programming Languages and Translators

Introduction. Evolution of Programming Languages. Design criteria. Variables, Events and Commands. Data Types and Systems definition types.

Scope and timing of the memory allocation. Procedures. Handling exceptions. Concurrency. Functional Programming. Purpose-Turn Programming Languages. Introduction to the organization and operation of translators. Lexical Analysis. Syntax elements of programming languages. Basic detection techniques. Symbol Tables. Intermediate code. Automatic generation Dictionaries analysts.

Details: Y132, Mandatory Course, 2nd Semester

Instructor: Garofalakis C., Professor

**Object oriented programming II**

Main objectives of this course are (a) the acquaintance with a second strong language object-oriented / object-oriented programming such as C ++, and (b) the design of advanced object-oriented programs / object-oriented programming.

Contents: Introduction to C ++. Basics of C ++. Remove data-classes. Class Hierarchies and Inheritance. Derived classes. Interconnections. Operator overloading. Standards. Handling exceptions. Library C ++ (organization, established and containing formulas, algorithms, functions, objects, iterators, BREAKDOWN, eisodouexodou currents). Implementation of data structures in C ++. Design object oriented / object-oriented programs. Objectives and design process. Design-class hierarchies and interconnections. Using subunits. Reuse.

Details: Y231, Compulsory Course 3rd semester

Instructor: Asst. Professor Ch. Makris, Asst. Professor I. Hatzilygeroudis

**Data structures**

Ordered data in main memory, Bubblesort, Heapsort, , Quicksort with analysis, data to secondary memory. Structured data types, array, record, file, stacks and queues, priority queues, slopes, trees. Linear Median-Algorithm. The problem of the Dictionary. Compressed data structures, binary searching, interpolation-searching, binary interpolation-search, Interpolation-searching for unknown non equiprobably distributions. Dynamic summary data structures. Explicit data structures, Balanced Trees, AVL-tree Red-Black Tree or BB-tree, the BB [a] tree, hybrid data structures, tries, dynamic interpolation fumbling, the interpolation search tree (IST), The fumbling in interpolation search tree. Union-find, Hashing, Hashing with chains, Discussion of assumptions and space, Hashing with open direction (open addressing), Extendible Hashing.

Details: Y233, Compulsory Course 4th Semester, Department of Engineering / Computers & Informatics - University of Patras

Instructor: Tsakalidis A., Professor

**Advanced Information Systems**

Introduction to Information Systems. The Strategic Role of Information Systems. Information Systems, Organizations and Operating Procedures. Support in Decision Making.

Architecture for Advanced Information Systems. Knowledge Management and Information Systems. Technical representation (OLAP, Data Visualisation) and data analysis (Regression, Forecasting, Data Mining). Search Engines, semantics and ontologies for Advanced CP. Technologies .NET, Web Services and Mobile Internet for MS. Semantic Web and Information Systems. Special applications (ERPs, Document Management, Workflow, etc.). Information systems large - GRID.

Details: 5367 Acquisition, Fall Semester

Instructor: Tsakalidis A., Professor

**Web programming and technologies**

Introduction - History. What is the Internet - What is the World Wide Web (WWW). Basic Web Services - Web. Internet Architecture - Protocols. Servers Web (WWW Servers), Proxy Servers, Browsers Web (WWW Browsers).

Basic Programming Languages Web: HTML, CSS, Dynamic HTML, JavaScript, VBScript. Interface Web servers with databases (Server Side Scripting Programming Languages: PHP, ASP). Extending HTML with use XML and XSL. Web Services (SOAP, WSDL, UDDI). Ontologies and semantics online. Security: Firewalls, Secure HTTP, Digital Signatures, Secure HTML.

Details: Y538, Mandatory Spring Semester

Instructor: Garofalakis C., Professor

**Introduction to Bioinformatics**

Introduction to algorithms for efficient management and storage of strings (strings) and biological data sequences. Algorithms exact matching model (Boyer-Moore, Knuth-Morris-Pratt, Karb-Rabin) and multiple standards.

Introduction to suffix tree and applications. Algorithms of approximate pattern matching and alignment strings/sequences (Sequence Alignment). Introduction to sequences Databases and their uses. Algorithms finding sequences in databases (FASTA, BLAST, PAM, PROSITE, BLOCKS, BLOSUM). Introduction to drug design using computer (Computer-aided Drug Design). Designing drugs based on the structure (Structure based drug design), presentation of the structure-activity relationship. Representation models of biological molecules in three-dimensional level, internal coordinate system, computational methods of finding optimal conformational (Conformational Search), and algorithms for determining binding sites (binding sites). Algorithms exploration Biological Databases finding small molecules in three-dimensional level (Geometry-based similarity search). Technical classification of biological data (Clustering Techniques) to predict the behavior of biological molecules, such as classification algorithms that combine experiential learning techniques (Neural Networks, Genetic Algorithms, SVMs, etc.)

Details: 548, Elective Spring Semester

Instructor: Tsakalidis A., Professor, Makris Ch., Assistant Professor

**Information Retrieval**

Introduction (user process, logical representation of texts, recovery process). Metric recovery performance assessment (recall, precision, medium accuracy, R-precision, histograms accuracy, harmonic mean, metrics-oriented user).

Models Information Retrieval. Theoretic models (Boolean model, model fuzzy sets, expanded Boolean Model), Algebraic models (model vector space model of latent semantic indexing), Probabilistic models. Information Retrieval on the Web. Search Engines on the Web (Crawler, Indexer, deiktodotitis). The algorithm HITS (Hyperlink-Induced Topic Search). The search engine Google (the scoring method PageRank). O algorithm SALSA. Lexical Indexing (inverted files, signature files, bitmaps). Full Indexing (patches of trees, table pads, directed acyclic graphs (DAWG) strings). Indexing strings in the secondary memory (yperpinakas suffixes, prefixes B-tree, B-tree strings). Search XML and Web Services.

Details: 5597 Acquisition, Fall Semester

Instructor: Christos Makris, Assistant Professor

**Topics Computational Vision & Graphic**

Part A: Computational Vision Formation images and optical sensors. Data Perspective Geometry. Calibrate camera orthographic scene viewing, linear and non-linear estimation algorithms internal and external camera parameters. Photometry, Shading and Color. Multidimensional (two-dimensional and three-dimensional) treatment systems. Multidimensional Linear Systems and Fourier analysis with emphasis on Gabor filters and wavelets. Analysis of images at multiple scales, image pyramids. Texture Analysis: fractals, Gabor filters, size distributions. Image Segmentation. Basic non-linear systems analysis for shapes and images. Stereopsis and multi-image geometry, scene reconstruction from two images and multiple images. Alignment-alignment, Mosaic, Metamorphosis images. Synthesis of high-definition image, a sequence of low-resolution images. Rating optical flow and Motion.

Part B: Computer Graphics: Introduction to Graphics: Areas, applications, interfaces, 3d-models, graphics pipeline, performance, image storage. Modeling Items: Lines, surfaces, spheres, polygons, curves, curved surfaces -Bezieer, B-splines, Hermite, Rational. Advanced topics, trees, soil, liquids, gases, fire. Visibility: Cut invisible objects. Hide non-visible surfaces of objects (algorithms: painter, depth sort, z-buffer, back face elimination, Warnock, binary space partitioning, polygon clipping). Geometric Data Structures. Photorealistic: Shading Surfaces, light sources, reflection / refraction etc. Texture, texture performance in two and three dimensions.

Details: 471, Elective Spring Semester

Instructors: Psarakis E., Tsakalidis A.

### Postgraduate

**Theory of Basic Data Structures**

The course is aimed at students who want to acquire basic knowledge about the area of data structures and algorithmic techniques have been proposed for the efficient design and implementation. The course is a continuation of the undergraduate course Data Structures, Algorithms, Advanced Structures and provides students with the necessary tools for designing complex data structures that may find use in various applications.

Topics covered in this course are:

1. Models of Computation and metric temporal and spatial complexity

2. Longitudinal Data Structures

3. Algorithms and Data Structures in management problems dendritic graphs.

4. Priority Queues and self-organized Trees

5. Layout Algorithms and Structures rummage in RAM Models of Computation.

Professor Athanasios Tsakalidis

Assistant Professor Christos Makris

**Methods & Technologies for Managing Large-Scale Data.**

Material: The course will be taught for the seventh consecutive year and is aimed at students who want to acquire basic knowledge in the area of data structures and algorithmic techniques relating to the management and processing of large amounts of data. The course presents a fairly wide (compared to the number of applications and the techniques) region in the field of Computer Science, and is directly related to other undergraduate and postgraduate courses of the Curriculum as: Data Structures, Advanced Data Structures and Graphical Theory Basic Data Structures, Algorithms, Implementation Technologies Algorithms. Digital Processing and Image Analysis, Information Retrieval, Data Bases I, II.

Topics covered in this course are:

Secondary Memory Models (two-level model, hierarchical model, Cache Oblivious models), Algorithms and Data Structures for two-level models (B-Trees, R-trees, Algorithms Computational Geometry in Secondary Memory, String Processing Algorithms in Secondary Memory), Algorithms and Data Structures for Cache Oblivious Models (Cache Oblivious B-Tree, Cache Oblivious Priority Queues, Geometric Algorithms in Cache Oblivious Model Calculation), Algorithms in Data Flow Model, Applications (Temporal Databases, Spatiotemporal Databases, Multimedia Databases)

Cited literature to be used for the course:

J. Abello, P. Pardalos, Handbook of Massive Data Sets, Kluwer Academic Publishers, 2001

Dinesh Menta, Sartaj Sahni, Handbook of Data Structures and Application, 2005

External Memory Geometric Data Structures. L. Arge, Duke University Lecture notes

Details: Spring, Thursdays, 16: 00-18: 00, P200, start: 03.05.2015

Instructor: Makris Ch., Assistant Professor