Teaching
Recent courses taught
Human Computer Interactions (2011)
The course is designed to equip graduate level students with the latest developments in the Human Computer Interaction. The main objective is to get students to think constructively and analytically about how to design and evaluate interactive technologies. Basically, the course will introduce them to key areas, theoretical frameworks, approaches and major developments in HCI. Finally, students will gain a broad understanding of the most challenging problems and what progress has been made towards solving these problems. . Expanded description
Taxonomies, Ontologies and Semantic Web (2011)The course is designed to equip graduate level students with the latest developments in the Semantic Web scenario. Semantic Web is an exciting new development for the future of the WWW. Semantic technologies represent a fascinating combination of web technology, database technology, modeling, formal logic, and artificial intelligence. Students will be introduced to many useful Semantic Web concepts and tools. Finally, students will gain a broad understanding of the most challenging problems and what progress has been made towards solving these problems. . Expanded description
The
Semantic Web is not a well established field yet. It is a new
ongoing international initiative. The concepts, the ideas and
the tools are still in the forming state. Computer Scientists
from industry and academia are exploring the possibility of
creating a "Semantic Web," in which meaning is made explicit,
allowing machines to process and integrate Web resources
intelligently. In this course, we will study the world of the
next generation Web. Topics will include World Wide Web
Consortium (W3C) standards such as the Extensible Markup
Language (XML) and the Resource Description Framework (RDF),
as well as Description Logic and Ontologies. Expanded description
Web
Mining (2006)
Web
mining aims to discover useful knowledge from the Web, e.g.
Web hyperlink structure, Web page content and Web usage
log. Based on the fundamental type of data used in the mining
process, Web mining tasks are classified into three main
types: Web structure mining, Web content mining and Web usage
mining. The goal of this course is to present these tasks, and
their essential algorithms. The course assumes that students
are familiar with basic concepts in data mining. Expanded description
Data Mining (2003/2005/2007)
Knowledge
discovery is the process of discovering useful regularities in
large and complex data sets. The field encompasses techniques
from artificial intelligence (representation and search),
statistics (inference), and databases (data storage and
access). When integrated into useful systems, these techniques
can help human analysts make sense of vast stores of digital
information. This course presents the fundamental principles
of the field, familiarizes students with the technical details
of representative algorithms, and connects these concepts to
applications in industry. The course assumes that students are
familiar with basic concepts and algorithms from probability
and statistics. Expanded description
Artificial Intelligence (1998-2003/2006)
Includes
an introduction to artificial intelligence as well as current
trends and characterization of knowledge-based systems.
Search, knowledge representation schemes, production systems,
and expert systems will be examined. Additional areas include
knowledge discovery and neural learning. Expanded description
Software Engineering (2004/2005)
Software
life cycle processes including analysis, design, modifying and
documenting large software systems. Topics include software
development paradigms, system engineering, function-based
analysis and design, and object-oriented analysis and design.
Students will implement a working software system in a team
environment. Expanded description
Information Retrieval & Extraction (2006/2008/2011)
The objective
of this course is to elaborate on the fundamentals of
information retrieval and extraction (IR & IE), study of
indexing, search, relevance, classification, organisation,
storage, browsing, visualisation, etc. Focus on prominent
computer algorithms and methods used in the field from a
computer scientist's perspectives. Expanded
description
Methods
and procedures for managing a software development project.
Includes notions of project planning; time, cost and resource
estimation; project organizational types, staffing (team
assembly) and training considerations, leading and motivating
computer personnel, and methods for monitoring and controlling
the progress of a project. Quality management and risk
assessment are considered. Case Studies of successes and
failures will be studied. Expanded
description
Operating Systems Principles (2004/2005)
The
organization and structure of modern operating systems and
concurrent programming concepts. Operating system concepts:
concurrent processes, basic synchronization techniques,
deadlock, memory management, file systems, security, networks,
distributed processing. Expanded
description
Database Systems (2004/2006)
Relational
query languages. Semantic data models. Logical and physical
database design. Privacy issues. Implementation techniques
(catalogs, query optimization, concurrency control, security and
integrity enforcement). Expanded
description
Internet Application, Design and Development (2005/2006)
Issues
in application design specific to Internet hardware, software
and users. Students will develop a variety of projects and a
final project. Topics will include HTML integration, CGI
programming, XML, Java servlets, internationalization issues,
client-server and database connectivity. Expanded
description
Analysis and Design of Data Systems (2005)
Review of data systems and
data processing functions, technology, organization and
management, emphasizing industrial and commercial
application requirements and economic performance criteria.
Survey of systems analysis, design, modeling and
implementation tools and techniques. Design-oriented term
project. Expanded description
Scientific
Communication Techniques (2001/2003/2004/2007)
This course will provide students
with a conceptualized framework from which to develop
well-organized, meaningful scientific presentations. Graduate
level overview of techniques for reading, speaking and writing
scientifically. Emphasis will be on oral presentation delivery,
proposal development, content organization and audience
perspective. The course consists of lectures, student
presentations and constructive critiques that takes place
intensively over the 6 week course period. Expanded description
Discrete Mathematics (1996 - 2004)
The goal of this course is to introduce students to ideas and techniques from discrete mathematics that are widely used in Computer Science. The course aims to present interesting ideas; each one will be geared towards a particular well-known application. Thus, students will see the purpose of the techniques at the same time as learning about them. Expanded description