Teaching
Throughout my career, my teaching activity has been mainly focused on Programming, Automata Theory, Text Mining and Natural Language Processing, spanning from undergraduate to master and doctoral degrees.
Currently, together with other members of my research group, we are forming part of the European-Asian consortium of the project CLASS: Development of an interdisciplinary master program on Computational Linguistics at Central Asian universities (Erasmus+ Capacity Building in Higher Education 585845-EPP-1-2017-1-ES-EPPKA2-CBHE-JP). The aim of this project, funded by the European Commission, is to develop the capabilities of Uzbek and Kazakhstani universities by implementing a computational linguistics master program for students with linguistics and computational science background.
Schedule
My current teaching schedule, including tutorial hours, can be checked here.
Courses (current)
- 614G01006 - Programming 2, Degree in Computer Engineering: [virtual campus]
- 614G01014 - Programming Paradigms, Degree in Computer Engineering: [virtual campus]
- 614G01065 - Programming Language Design, Degree in Computer Engineering: [virtual campus]
- 613836044 - Linguistic Information in Internet, (Inter-University) Master in Applied Linguistics: [virtual campus]
Courses (past)
- *extinct* 614111625 - Natural Language Processing, Computer Science Engineering: [virtual campus] [public web]
- *extinct* 614111406 - Discrete Mathematics 2, Computer Science Engineering
- *extinct* 614111102 - Data Structures, Computer Science Engineering
- *extinct* 614311302 - Formal Languages and Automata Theory, Technical Engineering in Computer Systems
- *extinct* 613445007 - Information Retrieval on the Internet, Master in Language and Professional Uses: [public web]
- *extinct* 614434003 - Information Extraction and Retrieval, Master in Computer Science: [public web (II)]
- *extinct* 614451220 - Natural Language Processing, Master in Computer Systems Engineering
Final Degree Projects
Apart from those projects regularly offered by the teachers of our group, students are encouraged to propose their own. Our group works in a field within Artificial Intelligence called Natural Language Processing (NLP). In simple terms, NLP deals with how computers process human language and involves many different tasks: from "low-level" tasks such as morphosyntactic analysis, entity identification or syntactic analysis, for example, to "high-level" tasks such as information retrieval (e.g. web search engines), natural language generation, automatic translation or sentiment analysis. Recent final degree projects we have offered/advised are available here, and most of our past past projects can be found at the so-called xestor.
Apart from them, students might find our initiative TOP PLAYER LYS interesting. The objective of this initiative, developed within our research group, is the development of computer games accessible to visually-impaired users by applying NLP techniques. These games would be developed within the framework of Final Degree Projects. So far we have focused on roguelike-genre games. You can find more information about it in this site [in English] [in Spanish].
Teaching Resources
Apart from the slides available in the public webs of the courses above, I have made freely available the Java code libraries I employed in the lab sessions of the course Formal Languages and Automata Theory. These Java code libraries, named TALFJava, contain classes corresponding to the major formalisms studied in the theory classes (finite state automata, context-free grammars and regular expressions), with basic methods for their generation and management, together with interfaces for their graphical visualization and storage. TALFJava can be downloaded here.
Teaching-Related Publications
You can find them listed in Publications.