Our group is heavily involved in educational activities related to its research activities. These include university courses, tutorials, summers schools, as well as supervising undergraduate dissertations, Masters projects, and Ph.D. theses.
Educational and Employment Opportunities
There are several educational and employment opportunities within our group.
Undergraduate Students of the Computer Science Department, University of CreteUndergraduate students in CSD, Univ. of Crete that are interested in our research activities should come into contact regarding undertaking an undergraduate dissertation with Dr. Ioannis Tsamardinos. The dissertation topics are jointly decided with the student so as to better match their interests and abilities, as well as the current activities and needs of the group.
Students Interested in Masters or Ph.D. DegreeStudents interested in obtaining a Masters or Ph.D. degree from the Computer Science Department of University of Crete supervised by Dr. Ioannis Tsamardinos should contact him directly via email. To obtain a graduate degree a student should first be admitted to the Masters or Ph.D. Program of the CSD, Univ. of Crete. Please, inquire the department directly for details on the admission procedure. There are many possible projects and theses falling within the research activities of our group. Typically, the joint goal of student and advisor is for the work performed towards a masters’ degree to be published in peer-reviewed scientific conference and journals.
Students from Other Departments and DisciplinesOur group is involved in interdisciplinary research and is happy to accept members from other disciplines. A computer science background is desired but not necessary. Intelligence, analytic thinking, and self-motivation for hard work are highly valued. Particularly, students from mathematics, applied mathematics, engineering, physics, biology, computational biology, bioinformatics, medicine and related fields are welcome.
Post-Doctoral StudentsPost-doctoral students may and join our group without the need to be accepted by the Graduate Program of CSD, Univ. of Crete. Post-doctoral positions highly depend on availability of funding through current research grants. The expected salary is above 1500 euro/month.
- CS577 Machine Learning
- CS387 Introduction to Artificial Intelligence
- CS482 Algorithms in Bioinformatics
- BC203 Introduction to R for Bioinformatics
- CS390.50 Introduction to Programming for Bioinformatics
CS577 Machine Learning
- Machine Learning
- Course Number
- Machine Learning is a vibrant area of Computer Science with thousands of applications to real problems, ranging from predicting the stock-market, diagnosing disease, teaching autonomous helicopters to fly, and understanding biological mechanisms. The goal of the course is to introduce the theory, main principles, methods, and algorithms of Machine Learning, but also the tools and practical aspects of data analysis. The students become familiar with the subject by a series of practical assignments, theory exercises, and a course project. The main content of the course is:
- Supervised learning and learning through examples: algorithms for learning classification models, including the Simple Bayes Classifier, Decision Trees, K-Nearest Neighbors, Artificial Neural Networks, and Support Vector Machines.
- Methods for measuring performance, particularly the Area Under the Receiving Operating Characteristic Curve, model selection and parameters optimization, as well as estimation of model performance, using cross-validation and nested cross-validation techniques.
- Causal Discovery based on Bayesian Networks and Maximal Ancestral Graphs, and single statistical hypothesis testing.
- Other subjects depending on time availability such as variable selection, unsupervised learning, clustering, and others.
- Exposition to other types of learning problems, areas, techniques and approaches, such as Reinforcement learning, and relational learning.
- Ioannis Tsamardinos
CS387 Introduction to Artificial Intelligence
- Introduction to Artificial Intelligence
- Course Number
- Junior (third year)
- Artificial Intelligence (AI) refers to a corpus of techniques developed to simulate or emulate natural intelligence or to enhance reasoning capabilities in software agents. AI is a vibrant area of Computer Science with thousands of applications to designing intelligent systems or to solving problems in other areas of Computer Science. The goal of the course is to introduce the theory, main principles, methods, and algorithms of AI, but also to present some of the tools and practical aspects of the application of AI algorithms and techniques. The students become familiar with the subject by a series of practical assignments and theory exercises. The main content of the course is:
- Problem solving using search: uninformed search, informed search and constraint-satisfaction techniques
- Propositional and First Order Logic based agents and reasoning
- Introduction to Probabilistic reasoning and Decision Making for agents.
- Ioannis Tsamardinos
CS482 Algorithms in Bioinformatics
- Algorithms in Bioinformatics
- Course Number
- Senior (fourth year)
- Bioinformatics is the branch of Computer Science that applies computational methods to enable, improve, complement, and facilitate biological research. Modern biology, and particularly molecular biology, is virtually impossible without the use of computational methods. Bioinformatics, in conjunction with progress in biology and bioengineering, is continuously our shaping our society through new discovering. The goal of the course is to introduce provide an introduction to the subject and present some of the basic algorithms in the field. The students become familiar with the subject by a series of practical assignments and theory exercises. The main content of the course is:
- Dynamic Programming algorithms for single and multiple sequence alignments
- Graph algorithms in bioinformatics for optimization and visualization of biomedical networks (such metabolic networks, gene interaction networks, evolutionary trees)
- Single and multiple hypothesis testing for identifying differentially expressed genes
- Modern and basic clustering algorithms and applications to the analysis of biological data
- Hidden Markov Models
- Invited lecturers will present their state-of-the-art research
- Ioannis Tsamardinos and Ioannis Tollis
BC203 Introduction to R for Bioinformatics
- Introduction to R for Bioinformatics
- Graduate corse
- The course will introduce the R statistical software as a tool for performing data analysis tasks in the bioinformatics field. At the beginning, the basics of the R language will be explained, along with the main concepts related to the R software and its modular architecture. Most advanced concepts will then be introduced, as for example data structure in R, functional programming, graphical visualization and the creation of R packages. The second part of the course will focus on the Bioconductor initiative and its repository of R packages for bioinformatics. Particularly, functionalities for analyzing RNA-seq and microarray data will be explored in detail
- Vincenzo Lagani and Christoforos Nikolaou
CS390.50 Introduction to Programming for Bioinformatics
- Introduction to Programming for Bioinformatics
- Course Number
- Junior (third year)
- Modern biology, both molecular and evolutionary, is virtually impossible without computational methods. The amount of biological data, obtained from re-sequencing projects, genomics, gene expression, or phylogenetics require specialized software for data handling and analysis. The R language is a statistical language that facilitates data handling and analysis. R is a free software for statistical computing and graphics. It compiles and runs on UNIX platform, Windows or MacOS. R is quite similar to the popular language Matlab. Both are interpreted languages that can run in a shell-like environment, and both are fast when running vectorized code. They are both very popular in engineering and statistical computing. In contrast to Matlab, R is open source, thus it develops very fast and is used widely in bioinformatics applications and publications. We expect that this new course will help students consolidating their knowledge in scientific computing, and thus will help them with courses that use Matlab as programming language. The new course will be synergistic and not overlapping with HY482: Algorithms in Bioinformatics. Prof. Tsamardinos who is teaching the HY482 focuses on the algorithms and theory; the new course focuses on the programming tools and public repositories and data-bases such as GEO, and Array Express.
At the end of this course we expect that students will be familiar with a range of bioinformatics concepts, analyses types and tools. More specifically students will:
- learn basic programming using the statistical language R
- be able to handle modern datasets, for example RNA-Seq, ChIP-Seq, microarrays
- perform common statistical analyses such as hypothesis testing, detection of differential expressed genes etc
- be able to use databases such as Gene Expression Omnibus (GEO) to download publicly available datasets
- learn the basic concepts of Gene Ontology analysis (GO)
- be able to design simple bioinformatics analyses
- Vincenzo Lagani, Pavlos Pavlidis
Tutorials and Summer Schools
- Ioannis Tsamardinos, Sofia Triantafillou, Introduction to Causal Discovery: A Bayesian Network Approach, Hellenic Artificial Intelligence Summer School 2009, International Hellenic University