These short-presentations allow groups of students (or individual students) to explore a new tool or system and present it to their fellow students in a conscise and clear manner. All presentations are required to follow a specific structure that will be outlined in this page. For each presentation you are required to build a small application that demonstrates the features of the language, tool or system you aim to present. The title of each application is outlined next to each application.The presentations will be logged under this page in order to allow easy access to other students and practitionaires that want to explore the respective tool, language or technology.
Year | Topics | Group Members | Demo Implementation | Source Files |
---|---|---|---|---|
2023b | ||||
G2: Rust Programming Language Γεώργιος Ευαγγέλου, Λουκία Χριστίνα Ιωάννου G3: Dart Programming Language Παναγιώτης Λιοτατής, Κυριάκος Δημητρίου G4: Julia Programming Language Παναγιώτης Κουρκουλής, Κωνσταντίνος Καραμάνος G6: Windows Systems Programming Ανδρέας Αριστείδης, Σωτήρης Μελετίου G7: Windows Powershell Μάριος Δημητρίου, Μάριος Στυλιανού G8: Mac Repository Management (MacPorts, Homebrew, NIX) Γιώργος Πεττεμερίδης, Χρίστος Ζαχαριάδης G9: Linux Repository Management Ανδρέας Χατζουλλής, Μιχαήλ Παναέτοβ |
||||
2023 | ||||
G2: RUST - a multi-paradigm, high-level, general-purpose programming language that emphasizes performance, type safety, and concurrency. Christoforos Nicolaou G3: XMPP -a set of open technologies for instant messaging, presence, multi-party chat, voice and video calls, collaboration, lightweight middleware, content syndication, and generalized routing of XML data. Nikolas Venizelou G4: Fabric - an open source blockchain framework hosted by The Linux Foundation Eleanna Nikolaou: Fabrik G5: PyDATA (Numpy, scikit-learn, Jupyter) Nikolas Constantinides G6: Scalable PyDATA (Pandas, DASK) Leonidas Lampiritis |
||||
2022 | ||||
G2: REACT - Javascript Library for user interfaces Ilias Kalaitzidis, Ionut - Cristian Canciu G3: Gradle, Maven and Jenkins: Build automation tools Stelios Evagorou, Andreas Chrysanthou G4: Python and Framework (Django, Web2Py, Flask, Bootle or CherryPy) Kyriakos Kyprianou, Andreas Naziris G5: Package Managers (maven, homebrew, npm, pip) Panayiotis Vasiliou, Nicolas Polycarpou G6: PHP and Laravel Framework Chrystalla Anastasiou, Katerina Erodotou G7: DART: Client-optimized language for fast apps on any platform by Google Andreas Hadjivasili, Constantinos Georgiou G8: Flutter: Cross Platform Apps by Google Christophoros Efstathiou, Sotiris Kasinidis G9: VUE: Progressive Javascript Library Georgia Zavou, Myrianthi Spyrou G10: RUST: multi-paradigm, general-purpose programming language designed for performance and safety, especially safe concurrency. Dimitris Papazachariou |
||||
2021 | ||||
G2: kotlin: OAUTH Implementation Christos Fesas, Chrisdan Charalambous, Stefanos Theodosiou G3: python/sqlite: webhook implementation George Christoforou, Panos Marinou G4: Hyperledger Fabric blockchain / docker containers Marios Papadiomedous, Pantelis Mikelli, Michail Bofos G5: scala/play: Anyplace Component Theofanis Ioakim, Demetris Shimitras, Leonidas Achilleos G6: GO (Docker / Kubernetes / Custom implementation) Andronikos Charalambous, Christina Hadjizorzi, Joanna Georgiou G7: Script/Bootstrap/HTML5 Andreas Komis, Alexandros Kleanthous, Panagiotis Kyriakou |
||||
2019 | ||||
G1 |
[ HAProxy ]: is a free, very fast and reliable solution offering high availability, load balancing, and proxying for TCP and HTTP-based applications. Tool: HaProxy Objective: Provide complete coverage of tool, options and scenarios (e.g., filtering bots, distribution). |
2019-g1.pptx | ||
G2 |
[ Nagios ]: is a free and open source computer-software application that monitors systems, networks and infrastructure. Nagios offers monitoring and alerting services for servers, switches, applications and services. Objective: Provide complete coverage of tool, options and scenarios. |
2019-g2.pptx | ||
G3 |
[ IaaS ]: Infrastructure as a service are online services that provide high-level APIs used to dereference various low-level details of underlying network infrastructure like physical computing resources, location, data partitioning, scaling, security, backup etc. A hypervisor, such as Xen, Oracle VirtualBox, Oracle VM, KVM, VMware ESX/ESXi, or Hyper-V, LXD, runs the virtual machines as guests. Tools to Cover: KVM, XEN and OpenStack |
2019-g3.pptx | ||
G4 |
[ PaaS ]: Platform as a Service or Application Platform as a Service (PaaS) or platform-based service is a category of cloud computing services that provides a platform allowing customers to develop, run, and manage applications without the complexity of building and maintaining the infrastructure typically associated with developing and launching an appDocker is a set of platform-as-a-service products that use OS-level virtualization to deliver software in packages called containers. Tools to Cover: Kubernetes, Docker and Proxmox |
2019-g4.pptx | ||
G5 |
[AUTOMATION]: Build Automation Tools and Continuous Integration (CI): Build automation is the process of automating the creation of a software build and the associated processes including: compiling computer source code into binary code, packaging binary code, and running automated tests. Continuous integration (CI) is the practice of merging all developers' working copies to a shared mainline several times a day. Toolchain: Jenkins + SBT/Maven/Gradle/Ivy/Ant + Github Cover what these tools are, provide step-by-step guide on how to setup a complete toolchain for CI using Github |
2019-g5.pptx | ||
G6 |
[ AnyplaceLib ]: Implement a multimodal (Wi-Fi, LTE, Magnetic, etc.) fingerprint collection and localization library (SDK) that enables any IoT device to interact with the Anyplace JSON API. Know-how: Java necessary, Some Android Familiarity, Github usage |
2019-g6.pptx | ||
G7 |
[KAFKA]: Apache Kafka is an open-source stream-processing software platform developed by LinkedIn and donated to the Apache Software Foundation, written in Scala and Java. The project aims to provide a unified, high-throughput, low-latency platform for handling real-time data feeds. |
2019-g7.pptx | ||
G8 |
[InfluxDB + Anyplace IoT Backend]: InfluxDB is an open-source time series database (TSDB) developed by InfluxData. It is written in Go and optimized for fast, high-availability storage and retrieval of time series data in fields such as operations monitoring, application metrics, Internet of Things sensor data, and real-time analytics. Know-how: SCALA necessary, Web 2.0 JSON, InfluxDB, Github usage and Integration to Anyplace. |
2019-g8.pptx | ||
2015 | ||||
G1 |
Swift Language (Anyplace) |
Koushi Andria, Papacosta Irene, Pavlides Panagiotis, Fragkou Andreas | 2015-ios.pptx 2015-ios-code.zip |
|
G2 |
Python (Cyclemaps) |
Alexandrou Savvas, Andreou
Andreas, Papaphillipou Philippos, Stefanides Demosthenis |
2015-python-crawler.pdf 2015-python-crawler-code.zip |
|
G3 |
Powershell |
Stylianou Iacovos, Samatas
Michael, Achilleos Panagiotis, Kastanas Andreas |
2015-powershell.pdf 2015-powershell-code.zip |
|
G4 |
Rayzit Paper and Web System |
Aziz Philipos, Paschalides
Demetris, Charalambous Theodoros, Papaioannou Varnavas |
2015-rayzit.pptx 2015-rayzit-code.zip |
|
G5 |
Apache Spark |
Vladimirou Marios, Voutouri
Charis, Sergey Mpaktaskar, Tiggiri Evanthia |
2015-spark.pptx 2015-spark-code.zip |
|
2014 | ||||
G1 |
Airplace Logger |
Kyriakos Georgiou Athena Pafitou Maria Christodolou |
2014-airplace.pptx 2014-airplace.zip |
|
G2 |
Scala |
Constantinou Stella Janet Sixouan Stefanos Christodoulides |
2014-scala.pptx 2014-scala.zip |
|
G3 |
Rayzit Widget |
Patroklos Patroklou Constantinos Kyprianou George Antoniou |
2014-widget.pptx 2014-widget.zip |
|
G4 |
Powershell |
Anastasios Chatzidimitris Panayiotis Achilleos Constantinos Solomonides |
2014-powershell.pptx 2014-powershell.zip |
|
G5 |
D Programming Language |
Despiana Antoniou Nikolas Chatzitheofanous Giannis Constantinou |
2014-dlanguage.ppt 2014-dlanguage.zip |
|
G6 |
Python |
Christiana Agathonos Zachariou Xanthi George Kakkoulis |
2014-python.pptx 2014-python.zip |
|
G7 |
Rayzit (Web GUI) |
Christoforou Stefanos Constantinos Charalambous Panayides Adonis |
2014-webgui.pdf 2014-webgui.zip |
|
G8 |
Storm and AKNN Implementation |
Anastasiou Chrysovalantis Tsoutsouki Chrystalla |
2014-storm.pptx 2014-storm.zip |
|
2013 | ||||
G1 |
PHP / Joomla Module |
Stefanos Taranto Xanthi Zachariou Marielli Asprou Agathwnos Christiana |
2013-php-joomla.pptx 2013-php-joomla-src.zip |
|
G2 |
Apache Zookeper |
Giorgos X''Giannis Gavrilis Koshiaris Argyris Argyrou Andreas Konstantinou |
2013-zookeeper-crawler.pptx 2013-zookeeper-crawler-src.zip |
|
G3 |
PhoneGap (Apache Cordova) |
Timotheos Constambeys Vakis Christoforou Antwniou Despiana Panayiotis Kyriakou |
||
G4 |
Android (IMU) |
Rafael Constantinou Kyriakos Andreou Marios Mintzis Argyris Konstantinides |
2013-android-imu.pptx 2013-android-imu-src.zip |
|
G5 |
Android (NAV) |
Lambros Petrou Giwrgos Koumettou Andreas Hadjidemetris Giannis Evagorou |
2013-android-nav.pptx 2013-android-nav-src.zip |
|
2012 | ||||
G1 |
Perl |
Maria
Charalambous Loucas Neocleous Vladimiros Theodosiou |
2012-perl.pptx 2012-perl-code.zip |
|
G2 |
Python |
Aristos
Karafotias Zacharias Zachariou Paschalis Veis |
2012-python.pptx 2012-python-code.zip |
|
G3 |
Spamassassin |
Giorgos
Iniatis Elsi Praioriti Marios Michael |
2012-spamassassin.pptx 2012-spamassassin-code.zip |
|
G4 |
Time
Management for System Administrators |
Ioulia
Metochi Kalypso David Eleni Philippou |
2012-time-management-for-sysadmins.pptx 2012-time-management-for-sysadmins-code.zip |
|
G5 |
Android -
SmartLab and a Distributed Game |
Paschalis
Mpeis Andreas Konstantinou Charalambos Charalambous |
2012-android-marble-game-smartlab.pptx 2012-android-marble-game-smartlab-code.zip |
|
G6 |
Android
Development Bridge (ADB) and on-the-go Management |
Zacharias
Chatzilambrou Theofilos Phocas Andreas Lympouras |
2012-android-tools-and-adb.pptx 2012-android-tools-and-adb-code.zip |
|
G7 |
Android
Gaming Libraries and a Distributed Game |
Charis
Maragos Giorgos Panagiotou Chrysi Sea |
2012-android-game-library-and-game.pptx 2012-android-game-library-and-game-code.zip |
|
G8 |
iOS and a
Game |
Andreas
Dimitriou Christos Vassiliou Myria Chatzitheori Margarita Papaeythymiou |
2012-ios-and-game.pptx 2012-ios-and-game-code.zip |
|
2011 | ||||
G1 | Python: a dynamic object-oriented scripting language | Veis
Pasxalis Ioakeim Eustathios |
BIBEL
Bibliography Tool with Python. The aim of this
project is to develop a full-fledge tool that enables
users to search for bibliographic references over DBLP. |
2011-python.ppt 2011-python-code.zip |
G2 | PHP: a scripting
language originally designed for producing dynamic web pages Requires previous knowledge of Web Technologies |
Xrusi Sea Nikolas Kleathnous Stefanos Georgiou |
CS Colloquium Series Administration site with PHP. The aim of this project is to develop a full-fledge administration panel | 2011-php.ppt 2011-php-code.zip |
G3 | (Android) Comparing Indoor Localization Algorithms with Android | Marios Constantinides Giorgos Constantinou Silouanos Nicolaou |
AndroidRSS Description | 2011-rss.ppt 2011-rss-code.zip |
G4 | (Android) A Peer-to-Peer Keyword Search Protocol for Android | Stylianou Giannos Vasiliou Vasilis Aplitsiotis Christos Taliadoros George |
AndroidP2P Description | 2011-p2p.ppt 2011-p2p-code.zip |
G5 | Applescript & Cocoa:
Offers the use of English-like commands to build scripts. This combined with Mac OS X's Cocoa frameworks allows user to build entire applications using AppleScript & Cocoa objects. [ Requires MacOS-X platform ] AppleScript |
Theodoros Ioannou | Extend the Finder Interface with additional functionality | 2011-applescript.ppt 2011-applescript-code.zip |
2010 | ||||
Scripting Language Programming | ||||
G1 |
Perl: One of the most respectable general-purpose scripting languages | Elli
Zavou Nikos Demetriou Theodoros Demetriou |
Implement AS2 in Perl | 2010-perl.ppt 2010-perl-code.zip |
G2 |
Python: a dynamic object-oriented scripting language | Giorgos
Mathaiou Antonis Mavris Christos Kyriakou |
Implement AS2 in Python | 2010-python.ppt 2010-python-code.zip |
G3 |
Google's GO Language: Go attempts to combine the
development speed of working in a dynamic language like
Python with the performance and safety of a compiled
language like C or C++. Google go language |
Maria
Stylianou Georgia Christodoulidou Nikos Odysseos |
Implement AS2 with GO | 2010-go.ppt 2010-go-code.zip |
Programming
Linux-based Mobile Devices |
||||
G5 |
Android SDK, NDK and ASE Android SDK: A software stack for mobile
devices that includes an operating system, middleware and
key applications. This is Google's Operating System for
Mobile Devices
Android NDK is a companion tool to the Android SDK that lets Android application developers build performance-critical portions of their apps in native code Android Scripting Environment (ASE): brings scripting languages to Android by allowing you to edit and execute scripts and interactive interpreters directly on the Android device. These scripts have access to many of the APIs available to full-fledged Android applications, but with a greatly simplified interface. Link 1 Link 2 Link 3 |
Giorgos
Nikolaides Konstantinos Christoforou Diomedes Papadiomedous Konstantinos Kosta |
Talk to Instructor about Application | 2010-android.ppt 2010-android-code.zip |
G6 |
Maemo: is software platform developed
by Nokia for smartphones and Internet Tablets. It is based
on the Debian Linux distribution. |
Lefteris
Eleftheriades Koula Hadjikosta Giorgos Panagiotou |
Implement a GPS logging tool that records data in a Mysql relational database. | 2010-maemo.ppt 2010-maemo-code.zip |
G7 |
QT Toolkit: is a cross-platform application
development framework, widely used for the development of
GUI programs. Also cover Android-Lighthouse, QT's
implementation of Qt toolkit Android Lighthouse |
Savvoula
Christou Eleni Skittidou Marios Papachristodoulou |
Build
a GUI for a simple lexicon on Android that will read
its information from a text file. |
2010-qt.ppt 2010-qt-code.zip |
2009 | ||||
Scripting Language Programming | ||||
G1 | Perl: One of the most respectable general-purpose scripting languages | Froso Selari Paris Iona Andreas Diavastos |
Web Crawler: Implement AS2 in Perl | 2009-perl.ppt 2009-perl-code.zip |
G2 | Python: a dynamic object-oriented scripting language | Panayiota Yianni
Marios Agathokleous Michalis Yiallouros |
Web Crawler: Implement AS2 in Python | 2009-python.ppt 2009-python-code.zip |
G3 | PHP: a scripting
language originally designed for producing dynamic web pages PHP Process Control Extensions: file process |
Eleutheriou
Eirini Kwnstantinos Kwnstantinidis Antigoni Xatzidimitriou |
A Web-based Process Management Utility (like "ps -aux"). Use the PHP Process Control Extensions. | 2009-php.ppt 2009-php-code.zip |
G4 | Ruby: a dynamic, reflective, general purpose object-oriented programming language that combines syntax inspired by Perl | Xanthi Markou Rea Archeou Euthumia Papadopoulou |
Web Crawler: Implement AS2 in Ruby | 2009-ruby.ppt 2009-ruby-code.zip |
Cloud-Computing Programming | ||||
G5 | Hadoop: A software
platform that lets one easily write and run applications
that process vast amounts of data that are stored on a
cluster of machines (although for the demo implementation
you can use a single machine). Web: Hadoop Core Wiki: Hadoop |
Charis Panayi Orestis Agathokleous Achilleas Kyrou |
Distributed Grep: Install it on Ubuntu Linux (Single-Node Cluster) and show how to run a Grep on a large dataset generated with RandomWriter | 2009-hadoop.ppt 2009-hadoop-code.zip |
G6 | Android: A
software stack for mobile devices that includes an operating
system, middleware and key applications Web: Android Wiki: Android wiki |
Eleni Skittidou Savvoula Christou Marios Papachristodoulou |
A simple GPS trajectory logging application (using the Android Emulator / Eclipse) | 2009-android.ppt 2009-android-code.zip |
G7 | OpenMoko: A
project dedicated to delivering mobile phones with an open
source software stack. Web: Open moko Wiki: Open Moko Wiki |
Giorgos Mixail Maria Efthimiou Philippos Hadjimichael |
A simple GPS trajectory logging application (request the OpenMoko smartphone from the instructors) | 2009-openmoko.ppt 2009-openmoko-code.zip |
2008 | ||||
Scripting & Other Languages | ||||
G1 | Ruby | Marios Hadjipollas, Katerina Kounouni | N/A | 2008-ruby.pdf |
G2 | Hancock | Exarchakos Nikolaos, Zografakis Ioannis | N/A | 2008-hancock.pdf |
Grid Computing | ||||
G3 | Managing the EGEE Grid Infrastructure | Christodoulos Efstathiades, Doros Georgiou | N/A | 2008-egee.pdf |
G4 | The gLite Grid Middleware | Marinos Argyrou, Aristodimos Pipis | N/A | 2008-glite.pdf |
Windows Systems Programming | ||||
G5 | Windows: Threads and Concurrency | Orestis Spanos, Christos Kyriakou | N/A | 2008-windows-threads.pdf |
2007 | ||||
Scripting Language Programming | ||||
G1 | Perl | Dimitris Kouzapas , Dimos Paulou | N/A | 2007-perl.pdf |
G2 | Python / PHP | Asterios Katsifodimos , Georgios Nikolaou , Kostantin Vruoni | N/A | 2007-python.pdf |
G3 | TCL/TK | Maria Papa , Marianna Zannetti | N/A | 2007-tcltk.pdf |
Windows Systems Programming | ||||
G4 | Windows Shells with an emphasis on PowerShell (Vista) | Nikolas Ladas, Panagiotis Voutouris | N/A | 2007-shells.pdf |
G5 | Threads and Concurrency in Windows | Christos Konstantinou , Vasos Tziogkouros | N/A | 2007-threads.pdf |
G6 | Process Management and IPC in Windows | Iakovos Pitharas , Kyriakos Ioannou | N/A | 2007-process.pdf |
G7 | Windows Sockets | Neofutos Iliadis, Marios Papas | N/A | 2007-sockets.pdf |
All presentations need to adhere to the following strict rules:
All sources (presentation & demo sources) should be turned-in using Moodle.
Στόχος των σύντομων παρουσιάσεων είναι να επεξηγήσετε στο ακροατήριο τα σημαντικότερα στοιχεία του εργαλείου ή της βιβλιοθήκης που καλείστε να παρουσιάσετε. Υποθεστε ότι το ακροατήριο ήδη γνωρίζει τις έννοιες του μαθήματος, αλλά όχι συγκεκριμένες πληροφορίες για το αντικείμενο που θα παρουσιάσετε. Οι σημειώσεις πρέπει να είναι πολύ σαφείς και αυτό-επεξηγηματικές, εφόσον οι συμφοιτητές σας θα τις πάρουν για να δοκιμάσουν το συγκεκριμένο εργαλείο στο σπίτι. Σημειώστε ότι το περιεχόμενο των παρουσιάσεων θα αποτελέσει μέρος της εξεταστέας ύλης. Πιο κάτω σας δίδεται ένα γενικό πλάνο το οποίο μπορείτε να ακολουθήσετε.
Αυτό είναι ένα από τα δυο κυριότερα μέρη της παρουσίασης. Εδώ θα πρέπει να δείξετε τις διαφορές δυνατότητες του εργαλείου (ή βιβλιοθήκης), αυτές οι οποίες κάνουν το εργαλείο (ή βιβλιοθήκη) τόσο ξεχωριστό/ή. Για κάθε δυνατότητα, αναμένετε να παρουσιάσετε τόσο την ιδέα (εντολή), ένα μικρό πρόγραμμα και το αποτέλεσμα της εκτέλεσης του προγράμματος. Αυτό θα δώσει την δυνατότητα στους συμφοιτητές σας να εκτιμήσουν την πολυπλοκότητα χρήσης του εργαλείου ή της βιβλιοθήκης. Εννοείται ότι δεν είναι τόσο σημαντικό να κατανοήσουν την κάθε επί μέρους εντολή των παραδειγμάτων σας, παρά μόνο να πάρουν μια αρκετά καλή ιδέα για το τι μπορεί να επιτευχθεί με τον συγκεκριμένο κώδικα.
Αυτό είναι το δεύτερο κυριότερο μέρος της παρουσίασης. Αναφέρατε συνοπτικά το θέμα του προγράμματος που κληθήκατε να υλοποιήσετε, ευκολίες/δυσκολίες με την εν λόγω γλώσσα/πλατφόρμα/σύστημα, σύντομα στατιστικά (π.χ., πόσες γραμμές κώδικα χρειαστήκατε, πόσο χρόνο σας πήρε η υλοποιήση, κτλ), ο κώδικας των κυριοτέρων κομματιών της υλοποίησης σας, screenshots εκτέλεσης και οτιδήποτε άλλο θεωρήσετε σημαντικό.
Παρακαλώ συμβουλευθείτε τον ακόλουθο οδηγό στην προετοιμασία της παρουσίασης σας.
PowerPoint Presentation Tips: tips.
Special thanks to Prof. Michalis Faloutsos, Univ. of California, for the following points (source)
Η βαθμολόγηση της παρουσίασης θα γίνει βάση όλων των πιο πάνω κριτηρίων, δηλαδη: Παρουσίαση, Περιεχόμενο, Μορφοποίηση και του Προγράμματος επίδειξης. Σημειώστε ότι είναι παραίτητη προϋπόθεση να είναι κατανεμημένος ισοδύναμα ο χρόνος ομιλίας μεταξύ των μελών της ομάδας κατα τη διάρκεια της παρουσίασης.
Καλή Επιτυχία!