Other achievements

This page presents some other of my achievements, apart from the publications and invited talks.



Teaching Assistant:



Below is a list of some of my research interests (as much as one's interests can be safely put into a list):

Below is a list of some of my relevant computer skills (same disclaimer applies):


Below is a list of some projects I have completed as part of advanced undergraduate or graduate courses in the University of Crete:

Post-graduate courses and projects

CS-523 ASIC Design using EDA Tools

Project : Implementation of a complete system-on-chip in a 5 person group. We implemented a hardware and software sound filtering SoC using many projects from www.opencores.org as processing elements. This system passed through the whole ASIC design flow, including stuck-at fault verification. I was assigned as project manager in this project, coordinating everyone s work and planning some aspects of the design. I was also in charge of the interconnection bus (wishbone). For this purpose, a switch with various features, such as round robin arbitration for conflicting requests, was implemented.

CS-527 Parallel Computer Architecture


Project : In a 2 person team, implementation of a MESI-like snoop-based cache coherency protocol with enhancements such as request interleaving. We used a DLX CPU which I acquired from a previous project of mine for another class, and built everything else from scratch. This project consisted of a custom bus (protocol specification and implementation of components), shared RAM module with bus interfacing, and finally CPU interfacing with the bus and ordering, buffering and prioritizing incoming and outgoing messages. For the purposes of testing, we developed primitive software and used it accordingly to generate many test cases. This project was simulated and verified in post place and route FPGA simulation with 8 CPU instances.

CS-555 Parallel Systems and Grids


CS-534 Packet Switch Architecture

Exercises: Weekly exercise sets

CS-577 Machine Learning

Project : Implementation of a k-means variant algorithm for grouping XML elements.

Advanced undergraduate courses and projects

CS-425 Computer Architecture

Project: An implementation of a two-scalar RISC processor with instruction set similar to that of DLX. Pipeline of five stages with internal forwarding between stages to resolve most of the dependencies.

CS-435 Network Technology Laboratory

Exercises : Weekly laboratorial exercise sets covering topics such as TCP performance measurement, sockets programming, Frame Relay simulation using COMNET, ATM PVCs and traffic contracts, IP over ATM, IP policing and shaping, and IP queuing.

CS-422 Introduction to VLSI Systems

Exercises : Exercise sets using SPICE simulation toolkit and MAGIC designing tool.

Project : Implementation using SPICE and MAGIC of a 16-bit carry look-ahead adder with emphasis on low power consumption.

CS-467 Information Representation and Processing

Exercise : Implementation in groups of 2 of a chess-like game in prolog featuring the computer versus a human player. The computer played according to some predefined rules that took into account the current game state and possible movements made by the human player.

CS-439 Mobile Computing

Project : Study of past research and publications on wireless network security, both infrastructure and ad-hoc. Categorization of recent attacks and wireless network flaws. Implementation of an ARP poisoning tool in wireless network environment with many kinds of man-in-the-middle attack capabilities. This project almost led us to a publication regarding ARP poisoning, it s effects, it s importance and how to detect and prevent it.

CS-454 Game Programming

Project : Implementation in C++ and in groups of 3 people the space invaders computer game. This implementation followed all the basic principles of game and C++ programming, such as inheritance, STL usage, collision detection, sprites, movement, refresh rate, game loop, garbage collection, sound playback, bitmap design, player keyboard input, game start menu, and modular implementation of classes to accommodate different difficulty levels. Allegro game programming library was used.

CS-474 Multimedia & Applications

Exercises :

CS-490.51 Network Security Seminar

Project : Implementation of a RSA/AES network communication library. Development of a secure e-voting web page.

CS-340 Programming Languages and Compilers

Project : Implementation of a compiler for a subset of the C programming language (named toy), featuring almost all of C s features but excluding structures. LEX and YACC were used for the lexical and syntactical analysis. After the phase of the intermediate code generation binaries were produced compatible for execution on SPARC architectures. Some code optimization techniques were also implemented.