Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Resume
1. Dimitrios Morogiannis
Summary
Software development enthusiast, with a bachelor’s degree from the University of Ioannina, I
would like to join an international environment to enrich my development experience. Creative
thinking, organized and able to work under pressure, eager to join a team striving to deliver
valuable projects and products for the company. Currently experimenting in small Java and web
developing projects, I would like to apply for a Java development position to deepen my
knowledge in small and large scope web applications.
Professional Experience
02.2018-08.2018 Network and System Administrator, Hellenic Army (1st
Infantry
Division)
Responsibilities:
Administration of local network with MS Windows 2003 Enterprise Edition server and
Windows 7/XP/2000 clients (~150 hosts)
Administration and maintenance of PCs and local/network printers
Maintenance and improvement of strict security standards
Training and support of military personnel (e.g., Microsoft Windows 2000/XP/7, Microsoft
Office XP/2003/2007, military information systems)
24-hour help desk
06.2016-08.2016 Web Developer, FACEtoFACE® - https://www.f2f.gr/ (Educational
Center)
Responsibilities:
Development and maintenance of websites using CMS Joomla, HTML, CSS, Javascript and
Bootstrap
Creation and maintenance of an Access Database to persist information of potential clients
Education
2011 – 2017 Bachelor's degree in Computer Science at University of Ioannina, Dept. of
Computer Science & Engineering
Contact 6987368238 / dimorogiannis@gmail.com
Birthdate 23 / 02 / 1993
Languages Greek, English (C2 Level), Spanish
Military Service Ends at 15 of September
2. Projects held at University
Operating Systems Unit
1) Multithreaded server of key-value saving
Implementation in C language with POSIX threads, of a multithreaded server, used for a
client server architecture. The client can either set the key-value pair or input the key
through a network socket, which makes the request to the server. The server either persists
the key value pair or returns the value of the input key. Response time statistics of the
requests can be monitored. The client visualizes the results on the screen.
2) Fair-share scheduling at MINIX 3.2.0
Source code modification in C language of MINIX 3.2.0 in order to support fair-share
scheduling.
Computer Graphics Unit
1) “ΒραΧαΨα” game (Candy crush like)
Through this game, implemented in C++ and OpenGL/GLUT libraries, the player can swap
squares with other nearby ones, at a matrix. The player’s goal is to make triads of same
squares either in a row or a column and perform the highest score.
2) 3D Maze type game
A labyrinth game was implemented in C++, OpenGL/GLUT and SOIL libraries, with NxNxL
dimensions where L is the number of levels and NxN is the size of each level. Each level has
NxN square spaces that are either empty or filled with one of the six different cube types.
When the game starts, the player is placed at a random empty space and he moves through
the labyrinth by either going to nearby empty spaces or by destroying cubes with hammers,
to find empty space and jump to the upper level. The game ends when the player reaches
the highest level or exits by using X or E.
Compilers Unit
Through 6 phases, a compiler in Java was implemented for a pseudocode named “Strange”. The
phases were the following by order: Lectical Analyzer, Grammar, Syntax Analyzer, midway code,
symbol matrix and final code compilation.
Artificial Intelligence Unit
1) Using the A* algorithm, a project in Java was implemented to reach a better given state of a
random 4x4 matrix with the least number of slips.
2) Using the Simulated Annealing method, a project in Java was implemented to optimize a
sequence of integers, which were split in two symbols, based on predefined rules.
Computational Intelligence Unit
Given a sorting and two clustering problems, a project was implemented in Java based on the
Multilayer perceptron, the K-means algorithm and lastly on the LVQ algorithm.
Software Technology Unit
Software development in Java for the “Software Evolution Monitor” which is a software that
monitors and evaluates other software's evolution through time, based on the Lehman's laws.
3. Technical competences
Front end languages : HTML5, CSS3, Javascript, jQuery, AJAX, Bootstrap
Back end languages: SQL, .NET framework, Java, C, C++, PHP
Development Methodologies: Agile Scrum
Seminars & Certifications
Young Achievers Learning Series: Preparing talent for the digital era, ALBA Business School
(2017)
SETN Hellenic Conference on Artificial Intelligence (Ioannina 2014)
University of Michigan, Certificate of Proficiency in English (C2)
Activities & Hobbies
Constantly enriching my knowledge on History and Philosophy
Learning about quantum physics and astrophysics