Teaching
This page contains details on all the courses I have taught in postgraduate and graduate level.
Postgraduate Courses
Visual perception — Basic principles for creating good visualizations — Visualization types depending on the data type and dimension — Interactive visualizations — Communicating data through visualizations — Practice using Tableau and R.
Taught in collaboration with Professor D. Karlis.
Co-ordinator of this course (all courses in this MSc programme are taught by several lecturers, each presenting topics of his/her specialization in a number of lectures).
Contents of my lectures: Principles of Visualization — Data Visualization techniques and tools, with applications for the environment and Cultural Heritage — Information Visualization techniques and tools, with applications for Cultural Heritage — Reconstruction of archaeological objects and sites.
Review of selected topics in Information Visualization — Study and presentation of research papers within these topics.
Review of selected topics in Computer Graphics — Study and presentation of research papers within these topics.
Overview of basic programming structures — Introduction to object-oriented programming with C++ — Classes, objects — Inheritance — Polymorphism, overriding — The C++ Standard Library — Event-driven programming — The Qt library.
Taught in collaboration with Assistant Prof. G. Lepouras.
Graph algorithms — Divide-and-conquer algorithms — Greedy algorithms — Elements of computational complexity — Implementations in C++.
Taught in collaboration with Assistant Prof. Th. Malamatos.
Topics of the Graphics part: Overview of basic Graphics topics — Lighting models and algorithms — Ray tracing — Shadow generation — Animation techniques — Surface simplification.
Topics of the Visualization part: Principles of Visualization — Scalar data visualization: isosurfaces, Marching Cubes, direct volume visualization (ray casting, splatting) — Vector data visualization: hedgehog plots, particle advection techniques (streamlines, pathlines, streaklines).
Taught in collaboration with Dr Amalia Foka.
Organisation and teaching of the “Graphics” and “Visualization” parts of this course (the “Fractals” part was tought by Dr V. Drakopoulos).
Topics of the Graphics part: Lighting models and algorithms — Ray tracing — Shadow generation — Animation techniques — Surface simplification.
Topics of the Visualization part: Principles of Visualization — Scalar data visualization: isosurfaces, Marching Cubes, direct volume visualization (ray casting, splatting) — Vector data visualization: hedgehog plots, particle advection techniques (streamlines, pathlines, streaklines).
Undergraduate Courses
Introduction to object-oriented programming and Java — Classes, objects, fields, methods — Access specifiers: public/private/protected, package access — Inheritance, polymorphism, abstract methods and classes, interfaces — Generics, Java collections — File manipulation — Elements of the Java Class Library.
C++ — Code optimization — Profiling — Object-oriented design — Event driven programming — GUI applications.
Basic notions — Rasterization of basic shapes — Clipping algorithms — Transformation matrices in two and three dimensions — Projections — Parametric curves (Bézier curves) — Z-buffer algorithm — Local lighting models and algorithms — Basic texture mapping — OpenGL lab.
Introduction to Visualization — Similarities and differences between data and information visualization — Principles of Visualization — Multidimensional data visualization — 3D Computer Graphics techniques for data visualization — Techniques based on focus, projection, warp — Trees, hierarchies, graphs — Evaluation of visualization methods.
Advanced programming in C — Multidimensional arrays — Advanced string manipulation — Pointers, arrays as pointers — Structures, pointers to structures — Files — Dynamic memory management, simple data structures — Searching and sorting algorithms — Pointers to functions — Event-driven programming — Advanced use of the preprocessor.
General characteristics of multimedia — Principles of data compression — Digital image: principles, file formats, the JPEG algorithm — Digital sound: principles, file formats, MP3 compression, MIDI — Digital video: principles, file formats, MPEG compression — Animation techniques — Optical storage media (CD, DVD) — Multimedia applications on the Internet, Streaming technologies — Development methodologies for multimedia applications.
Teaching of the “Multimedia” part of this course (the “Virtual Reality” part was taught by Assistant Professor G. Lepouras).
The content of this module is similar to the one of the newer course “Multimedia Technology” in abridged form.
Introductory course aiming to present to the students several aspects of Computer Science.
Computer architecture (software, hardware) — Number systems — Digital data representation (text, image, sound) — Basic compression techniques — Error detection and correction — Machine language — Principles of operating systems — Basic algorithmic structures — Algorithm design — Data structures — Computational complexity — Program translation — Fundamentals of computer networks — Fundamentals of database systems — HTML lab.
Computer security — Data encryption — Internet applications — Statistical processing of data — Practice in the use of Word, Excel and Internet applications.
Organisation and teaching of this introductory programming course for officers of the Greek Army; preparation of complete course notes (see publication [B3]).
Supervision of Theses
PhD Theses
- 2017 – today
- Co-supervisor (with V. Drakopoulos) of the PhD thesis of M. Nastakou on applications and visualization of fractals.
- 2014 – today
- Member of the advisory board for the PhD thesis of S. Kontogeorgakos, Creation of User Profiles through Games, Department of Informatics and Telecommunication, University of the Peloponnese (supervisor: G. Lepouras).
- 2012 – today
- Member of the advisory board for the PhD thesis of G. Kouyoumtzoglou, Virtual Reality Environments with Applications on Security Issues, Department of Informatics and Telecommunication, University of the Peloponnese (supervisor: G. Lepouras).
- 2012 – 2016
- Member of the advisory board for the PhD thesis of K. Vardis Real time production of cinematic quality virtual environments, Department of Informatics, Athens University of Economics and Business (supervisor: G. Papaioannou).
Postgraduate Theses
- 2018
- D. Spyrelis, Reporting & Advanced Visualization of Match/Teams’ Results. MSc in Data Science, Athens University of Economics and Business.
- 2013
- M. Nastakou, L-Systems and implementation in Scratch.
- 2013
- S. Choraiti, Game Theory and optimization problems.
- 2012
- A. Papageorgiou, Simplification of triangular models on the GPU.
- 2010
- A. Danelakis, E. Saiti, Ray casting of tetrahedral meshes on the GPU. Computer Graphics Lab, Department of Informatics and Telecommunications, University of Athens.
- 2001
- A. Agathos, Surface Reconstruction and Simplification. Computer Graphics Lab, Department of Informatics and Telecommunications, University of Athens (in collaboration with T. Theoharis) (2001).
Graduate Theses
- 2017
- A. Vamvakaris, A system for the management of undergraduate theses.
- 2016
- G. Lakkas, A system for the support of a private medical practice.
- 2016
- G. Parthenios, A system for the management of undergraduate theses.
- 2015
- C. Tziastas, A system for the support of a private medical practice.
- 2013
- D. Giouroukis, ChordViz, a Chord protocol visualization (in collaboration with Chr. Tryfonopoulos).
- 2013
- G. Kallivokas, Visualization methods for text corpora analysis tools.
- 2012
- A.-I. Kolios, Implementation and Comparison of Ray-Tetrahedron Intersection Algorithms on the GPU.
- 2006
- A. Danelakis, E. Saiti, Multiresolution Visualization of Vector Fields over Tetrahedral Meshes. Computer Graphics Lab, Department of Informatics and Telecommunications, University of Athens.
- 2002
- A. Vlachou, A. Dellis, Visualization of 4D Fractal Sets Using Multiresolution Techniques. Computer Graphics Lab, Department of Informatics and Telecommunications, University of Athens (in collaboration with T. Theoharis and Dr V. Drakopoulos).
Teaching Assistance
Tutorial exercises (transformations, projections, clipping, Bézier curves) — OpenGL lab (introduction to the OpenGL model and GLUT, basic shapes, projections, transformations, hierarchical transformations for animated scenes, back-face culling, Z-buffer) — Coursework assignment and marking — Contribution to examination preparation and marking.
Tutorial exercises on the Pascal language — Coursework assignment and marking — Contribution to examination preparation and marking.
Preparation of full set of slides for teaching the Pascal language — Tutorial exercises — Coursework assignment and marking.
Setup and administration of the lab computers — Teaching of introductory courses on MS-DOS, Windows and Word to first-year students — Coursework marking for modules offered by the Department of Mathematics (Computer Science I / II, Data Structures, Numerical Analysis).
Secondary Education Teaching
The International Baccalaureate Diploma Programme is a two-year programme for entrance to international universities. It is designed and supervised by the International Baccalaureate Organization and offered in over 1500 schools worldwide.
The Computer Science course is offered in two levels (Standard and High Level). The Standard Level course covers basic elements of Computer Science (Computer Architecture — Number systems — Digital data representation — Operating Systems — Computer Networks — Compilers — Software Engineering) and programming in Java. The High Level course additionally includes further details on all the above subjects, covers further areas of Computer Science (File and Database Organization — Computational Complexity) and of programming (Object Oriented programming — Data Structures). Within the course, students develop a complete Java application and fully document the development process.