Introduction to Algorithms, MSIN program, Fall – MSIN
Given a problem, how do we find an efficient algorithm for its solution? Given an algorithm, how can we compare it with other algorithms that solve the same problem? What are the criteria that help us judge the quality of an algorithm? Questions as the above are important from both a theoretical and a practical point of view. The objective of this course is to:
- Give students an introduction to the basics, as well as some advanced topics, in the area of designing effective algorithms,
- Familiarize them with existing algorithmic techniques and ongoing research, and (hopefully)
- Make them appreciate the beauty behind efficient algorithms (like Christos Papadimitriou once said, this is your chance to find out how "Angels program").
Introduction to Cryptography and Security, Spring, MSIN program and MSITT
This course aims to provide background knowledge on some of the fundamental issues in the field of cryptography and to serve as an introduction to its applications to secure networking and electronic commerce. In this course we will offer a guided tour in the design of both private key and public key encryption systems which meet the above minimal requirements of security against adversaries who not only can listen to messages but who can also intercept messages, alter them, and maybe have limited access to encryption equipments.
Our mission would be to
- Define security in the presence of adversaries of various capabilities.
- Evaluate current proposals of encryption systems
- Explain why "theory" can be different from "practice" when it comes to real-world applications. In particular, we will see why "in-class" crypto protocols and systems are vulnerable to real-life attacks and show how to convert them to ones that are "fit for application".
- Present practical examples throughout and provide all the required mathematical background.
Introduction to Sensor Networks, Spring, MSIN program
Sensor networks have attracted much scientific interest during the past few years. These networks use hundreds to thousands of inexpensive wireless sensor nodes over an area for the purpose of monitoring and capturing geographically distinct measurements over a long period of time.
Sensor networks differ from wireless networks in that their nodes are characterized by limited storage, computational and communication capabilities. The power of sensor networks, however, lies in the fact that their nodes are so small and cheap to build that a large number of them can be used to cover an extended geographical area, gather information in-site and propagate it to base stations, thus enabling an accurate and reliable monitoring process.
Example topics covered by this course include:
- Sensor network hardware,
- sensor and measurement models,
- localization and tracking of moving objects,
- routing protocols,
- infrastructure establishment (localization, time synchronization),
- sensor network data storage,
- security and privacy issues,
- sensor tasking and control,
- sensor network software and applications.
Hands-on experience includes laboratory work that considers issues described in class and a course project that gives students the opportunity to apply the knowledge acquired in the course to design innovative protocols and applications related to sensor networks and ubiquitous computing.
In addition to these academic courses, the following courses were designed for professionals and people who want to become familiar with the exciting field of network security:
- Short course on Cryptography and Data Security
- Executive course on Information Security
With regards to the Professional courses, one important aspect of this work is to help create "security aware" professionals because security cannot be taken as an afterthought when designing a system. Security is as strong as its weakest link and the tools used to enforce security are never the weakest link. In the professional courses we have designed we emphasize in the following facts:
- One should not base thinking only on today's threats as attacks grow in malevolence, automation and frequency. In recent years, we have seen a doubling in incidents per year. This means that in 5 years, we should expect about thirty times as many. Planning for the future must assume a more severe threat model.
- One should understand that security is really a management and not a technology issue as it requires top-to-bottom commitment and enforcement.
- One should realize the necessity for comprehensive security and defense in depth.
1. Polytechnic School of Crete – Department of Informatics
Have taught the following courses as a visiting Professor:
Theory of Algorithms and Computation (3rd year students – equivalent to CSE105 of the Univ. of California).
Software Technology (1st year students).
Sorting methods, Abstract Data Types and Elementary Data Structures (lists, stacks, queues, trees), files in C. Implementations using C.
Parallel Algorithms (4th year students).
Introduction to C Programming (1st year students).
2. University of Athens – Computer Science Department.
Theory of Algorithms and Computation (4th year students)
Introduction to Cryptography and Security.
3. University of Athens – Math Department.
Have taught the following courses for the Graduate Program "Logic and Algorithms":
Algorithms and Complexity, II.
Turing machines, Decidable – Undecidable Problems, Complexity classes (P, NP, RP, BPP, #P, PSPACE, etc.), Interactive Proof Systems and Inapproximability results.
Introduction to the design and analysis of algorithms. Basic techniques for the time analysis of an algorithm. Lower bounds. Algorithms for sorting, searching, algorithms for graphs and networks, NP-complete problems and Approximation Algorithms, Design methods (Divide & Conquer, Dynamic Programming, Greedy Algorithms, Amortized Analysis).
Algorithms and Complexity, II.
Algorithms and Complexity, I. (See description above).
Elements of the Probabilistic Method.
The method can be described as follows: to prove the existence of a combinatorial structure, with certain properties, we construct a suitable probabilistic space and show that an element of this space has the desired properties with positive probability. One of the reasons for the quick growth of the probabilistic method is its use in the development of Probabilistic "Techniques and Tools" that are used in the design and analysis of algorithms.
4. University of California, San Diego, USA
While studying for my PhD, I was a TA for the following courses:
CSE 20: Discrete Mathematics.
First and Second Order Logic. Proof Methods, Mathematical Induction. Number Theory. Discrete Structures, etc.
CSE 101: Design and Analysis of Algorithms.
Introduction to the design and analysis of effective algorithms. Basic techniques for the time analysis of an algorithm. Algorithms for sorting, searching, algorithms for graphs and networks, NP-complete problems.
CSE 105: Theory of Computation.
Introduction to formal languages, regular expressions and languages, finite automata, minimization of states, non-regular languages. Grammars and context free languages. Computable sets, Turing machines, recursive functions. Church thesis, undecidable sets and the problem of termination of a Turing machine (Halting problem).
CSE 141: Computer Architecture.
Introduction to Computer Architecture. Design of computer systems. Design of processors. Design of control units, memories and I/O systems.
- 1993: Teaching Award.
I consider myself lucky for having been able to work with these talented persons!
SUPERVISING MS Students
- Dimitrios Ketikidis: MSc thesis "DNA Computers: Capabilities and Limitations", Mathematics Department, University of Athens, 2001.
- Dimitrios Foteinakis: "Online Voting", Î‘Î™Î¤ 2003
- Ioannis Krontiris and Fotis Nikakis: "Secure and Efficient Data Delivery in Sensor Networks", Î‘Î™Î¤ 2003
- Mariana Marin: "A Single Sign-On Solution for Web Applications using WEB services", AIT 2004
- Panagiotis Papadimitriou: "A Comparative Study of Key Management protocols for Sensor Networks", AIT 2004
- Vassilis Gkatzioras: "e-Phaistos: an Identity based E-mail system", AIT 2005
- Vassilis Mylonakis: "Indoor monitoring using sensor networks", AIT 2005. Now pursuing a Ph.D degree at the National Technical University of Athens, Greece.
- Ioannis Kolokouris and Nikos Zarokostas, "SENSENET: Sensor network testbed", AIT 2006
- Ioannis Biternas, "VoIP security", AIT 2006
- Hamed Shoroush and Mastooreh Shalajegheh, "Securing Hierarchical Sensor Networks", AIT 2006. Now pursuing a Ph.D degree at the Computer Science Department of the University of Massachusetts, Amherst, USA.
- Ghassan Karame, "Reputation and Trust handling in P2P systems", AIT 2006. Now pursuing a Ph.D degree at System Security Group, ETH Zurich, SWITZERLAND.
- Aram Yegenian, "Disposable Email Addresses", AIT 2009
- Victor Dibia, "Efficient verification of integrity and authenticity of web resources using identity based cryptography: a RESTful web services implementation", AIT 2010
- Ahmad Sabouri, "Secure information retrieval and data authentication schemes for new generation wireless sensor networks", AIT 2010. Now pursuing a Ph.D degree at Goethe Universitaet Frankfurt am Main
SUPERVISING PhD Students
- Ioannis Krontiris: PhD thesis "Intrusion Prevention and Detection on Sensor Networks", in collaboration with the University of Mannheim, Germany. Degree awarded end 2008
- Thanassis Giannetsos: "Security Middleware for WSN: A framework against attacks in WSN", in collaboration with the University of Aalborg and Center for for TeleInFrastruktur (CTIF), Denmark. Degree awarded end 2011.
- Antonis Michalas [in part]: In collaboration with the University of Aalborg and Center for for TeleInFrastruktur (CTIF), Denmark. Degree expected end 2012.