Personal tools

Informatics Engineering (MSc) - Course Units

From Computer Science, Informatics and Information Technology at the University of Lisbon, Portugal

Jump to: navigation, search
Lective year 2009/2010
Animation and Virtual Environments
CodeSymbolArea

425109

AAV

MC

Objectives

Students will be able to identify the demanding challenges that involve the creation of virtual humans in virtual environments and the solutions that have been conceived to accomplish them.

Students will be capable of creating 3D virtual environments (using X3D) and simple animated models of characters (using Blender or a similar software tool)

Study plan
Theoretical Component

Virtual Humans: face and body modelling and animation.
Cloth and hair simulation.
Behavioral Animation.
Crowd simulation
Virtual reality.

Theoretical-Practice Component

Introduction to X3D.
Introduction to Blender (or other 3D modelling software)

Bibliography

"Handbook of Virtual Humans" editado por N. Magnenat-Thalmann, D. Thalmann, John Wiley & Sons, 2004

"Virtual Reality Technology", 2ª ed.,G. C. Burdea, P. Coiffet, John Wiley & Sons, 2003

Other study elements

Diversos artigos sobre os temas estudados.
Guiões das aulas (escritos em Inglês).

Teaching Method

Teaching lessons including lab classes

Evaluation Method

One paper research assignment and Exam

or

One paper research assignment and one implementation assignment.

Teaching Language

Portuguese and, occasionally, English ( if classes are attended by Erasmus students that are not able to understand Portuguese)

Department

Dep. de Informática

Precedences
Web Applications
CodeSymbolAreaURL

425110

AW

SI

http://mocho.di.fc.ul.pt/p/AW
Objectives

The course presents, from an integrated perspective, several topics on the architecture and development of current web applications, spanning protocols (HTTP), formats (XML) and services (SOA/REST/SOAP), the Semantic Web and Web 2.0, and Information Retrieval techniques.

Study plan
Theoretical Component

- Service oriented architecture: SOA
- Web Services
- Writing Web Service Clients
- Designing Resource Oriented Services
- Ajax Applications as REST Clients
- Semantic Web
- Information Retrieval

Theoretical-Practice Component

Examples of implemented SOAP and RESTful webservices.

Use and integration of webservices. Example mashups.

Practical Component

Analysis, Design and Construction of RESTful Webservice.
Analysis, Design and Construction of a AJAX mashup

Bibliography

SOA Design Patterns, Thomas Erl, Prentice Hall, 2009
RESTful Web Services, Leonard Richardson and Sam Ruby, O'Reilly, 2007
A Semantic Web Primer, Grigoris Antoniou, Frank van Harmelen, The MIT Press, 2010
Introduction to information retrieval, Christopher, D. Manning, Prabhakar Raghavan, Hinrich Schütze, Computers, 2008
Ajax design patterns, Michael Mahemoff, Computers, 2006

Other study elements

Desenvolvimento de Sistemas de Informação baseados em PHP e MySQL, Francisco M. Couto, DI-FCUL Learning Object, DOI:10455/3167, 2009
Desenvolvimento de Aplicações na Web baseados em SOA e AJAX, Francisco M. Couto, DI-FCUL Learning Object, DOI:10455/3334, 2010

Teaching Method

Expositive, demonstrative, and active-participative methods

Evaluation Method

Exam and Project

Teaching Language

Portuguese

Department

Dep. de Informática

Precedences
    None
Machine Learning
CodeSymbolAreaURL

425216

AP

MC

http://mocho.di.fc.ul.pt/p/AP
Objectives

The aim of this course is the study of several paradigms and methods os machine learning.
After a general introduction to basic concepts in this field and the presentation of classical methods of supervised and unsupervised machine learning, specific methods for learning sequences od actions are studied, such as reinforcement learning.
At the end of this course the student should be able to develop new applications, involving the programming of learning algorithms or the combination and extension of existing ones.

Study plan
Theoretical Component

- Introduction to the different paradigms of machine learning.
- Induction of decision trees.
- Instance based learning.
- Evaluating learned models.
- Clustering.
- Recomendation Systems
- Reinforcement learning.
- Learning Temporal Series.
- Learning Sets of Rules.
- Genetic Algorithms and Classifier Systems

Theoretical-Practice Component

Solution of exercises applying the learned algorithms.
Use of the machine learning algorithms available in the Weka software tool.

Bibliography

- Data Mining - Practical Machine Learning Tools and Techniques with Java Implementations, Second edition, Ian H Witten e Eibe Frank, Morgan Kaufmann, 2005.

- Machine Learning, Tom M. Mitchell, McGraw-Hill, 1997

Other study elements

- notas de apoio às aulas teóricas.

- Reinforcement Learning: an Introduction, R. S. Sutton and A. Barto, MIT Press,1998.

- Introduction to Genetic Algorithms, Melanie Mitchell, MIT Press, 1998.

- Introduction to Machine Learning, Ethem Alpaydyn, MIT Press, 2004.

Teaching Method

Lectures, lab classes, and conventional classroom classes for applying and clarifying the learned concepts.

Evaluation Method

Mini-tests solved in class, one data classification project using Weka and a reinforcement learning project.

Teaching Language

The lectures will be in English if there are non Portuguese students
registered. Otherwise, lectures will be in Portuguese.

Department
Precedences
Bioinformatics
CodeSymbolAreaURL

425194

BI

SI

http://mocho.di.fc.ul.pt/p/BI
Objectives

The goal is to give an appreciation of the nature of the vast amount biomedical data that is nowadays publicly available, and how to use this information in an efficient way. Thus, the course unit will offer a sense of the range of bioinformatics applications that can be used to exploit this information. It will also offer basic skills to develop an information system based on web programming and relational databases.

Study plan
Theoretical Component

- Bioinformtics Introduction
- Information Systems Introduction
- Sources of Biomedical Information
- Biomedical Ontologies
- Primary Archives
- Secondary archives
- Text Mining
- Information Retrieval
- Proteomics/Chemoinformatics
- Molecular Interactions: Intact
- Protein Classification: InterPro

Theoretical-Practice Component

Exercises about the subjects given in the theoretical component.
Tutorials about how to use PHP to access the database management system MySQL and other external informations sources.

Practical Component

Elaboration of a project, where is requested the development of a information system that integrates various external sources of information.

Bibliography

Introduction to Bioinformatics, Arthur Lesk, Second Edition, Oxford, 2005, ISBN-13 978-0199208043
Semantic Web: Revolutionizing Knowledge Discovery in the Life Sciences, Christopher J.O. Baker (Editor), Kei-Hoi Cheung (Editor), Springer, 2006. ISBN: 0387484361
C. Pesquita, D. Faria, T. Grego, F. Couto, and M. Silva,Untangling Bioontologies for Mining Biomedical Information, In Handbook of Research on Text and Web Mining Technologies, IGI Global Publishing, 2008
F. Couto and M. Silva,Mining the BioLiterature: towards automatic annotation of genes and proteins, In Advanced Data Mining Technologies in Bioinformatics, Idea Group Inc, 2006

Other study elements

Desenvolvimento de Sistemas de Informação baseados em PHP e MySQL, Francisco M. Couto, DI-FCUL Learning Object, DOI:10455/3167, 2009

Teaching Method

Expositive, demonstrative, and active-participative methods

Evaluation Method

Exam + Project + Presentation

Teaching Language

Portuguese

Department

Dep. de Informática

Precedences
    None
Advanced Artificial Intelligence
CodeSymbolAreaURL

425112

CIA

MC

http://mocho.di.fc.ul.pt/p/CIA
Objectives

Present the fundamental results and methods for representation of human cognition . The main focus is on automatic planning as an advanced paradigm to artificial reasoning, knowledge representation and tool to approach several problem clusters.

Study plan
Theoretical Component

Classic planning systems, genetic planning, state space planning. Planning in dynamic environments. Real world planning, monitoring and replanning.

Theoretical-Practice Component

Bibliography
  • Artificial Intelligence: A Modern Approach (2nd Edition)
    by Stuart J. Russell, Peter Norvig.

    * Programming Game AI by Example
    by Mat Buckland.



Other study elements
  • http://mc.di.fc.ul.pt/cia

    * Automated Planning : Theory & Practice by Malik Ghallab, Dana Nau, Paolo Traverso

    * Intelligent Techniques for Planning by Ioannis Vlahavas, Dimitris Vrakas

    * http://www.csc.ncsu.edu/faculty/stamant/planning-resources.html

    * http://planet.dfki.de/membership/index.html

    * http://www.isi.edu/~blythe/cs541/
Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
Mobile Computing
CodeSymbolAreaURL

425113

CM

SI

http://mocho.di.fc.ul.pt/p/CM
Objectives

The course presents the new computing environments that make use of wireless technologies and small-scale and low-cost devices, as seen from an information systems perspective. It is organized as a sequence of seminars dedicated to topics in networking, distributed systems, data bases, human interfaces and software engineering addressing the challenges posed by the new environment

Study plan
Theoretical Component

Introduction to mobile computing. Mobility and its implications in communication systems, networks, distributed systems, computer applications and development methodologies; Information appliances; Information replication in mobile environments. Disconnected operation. Replication in weakly connected systems; Radiocommunications. Media access methods. Time/Frequency/Code division. Cellular networks; Mobile Services The GSM System. Satellite systems. Wireless LANs and Home Networks. Personal-area networks.; Mobility support in mobile networks. Mobile-IP and Mobile Ad-hoc networks. Geographic routing. Adapting TCP to mobile networks; Services and application protocols to support mobility. Location-based services. Network services location; Proxies as a fundamental mobile network paradigm. Web caching in mobile environments; Frameworks for mobile application development; Databases of moving objects. Sensor networks. Information dissemination models.

Theoretical-Practice Component

.NET Compact Framework. Pocket PCs.
User Interface - GUI.
Compact Framework: graphics
Compact Framework: data storage.
Compact Framework: data acess
Sockets. Bluetooth and IrDA communication.

Bibliography

Compilação de artigos

Other study elements
Teaching Method

Theoric lectures and laboratory practices.

Evaluation Method

Project + Exam + Class work

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
Parallel Computing
CodeSymbolAreaURL

425114

CP

OSC

http://mocho.di.fc.ul.pt/p/CP
Objectives

During the first part of the course, focus will be given on system support for concurrent programming, including operating system level support, programming languages support and specific support provided by programming libraries. This implies the study of fundamental paradigms of concurrent programming, both in multi-process and multi-processor systems, including inter-process communication (using shared memory and message passing) and synchronization mechanisms. After that, during the second part of the course, the students will learn several issues concerning parallel computing. This includes the study of multiprocessor architectures, cluster architectures, parallelization techniques, evaluation of parallel programs, pipelining, load-balancing and termination. Practical examples will be used to illustrate the presented techniques. The course includes the development of several projects to experiment the concepts of parallel programming. In particular, the students will be exposed to C and Java programming languages, and will use the PThreads programming library (for concurrent programming using shared memory) and the MPI programming framework (for concurrent programming based on message passing)

Study plan
Theoretical Component

Introduction to concurrent programming; Concurrent programming in centralized systems; Processes and tasks; Communication and synchronization; Concurrency control; Deadlocks; Parallel architectures; Parallelization; Architectures to support parallelization; Message-passing interfaces (MPI); Partitioning; Pipelines; Synchronized computations; Load balancing; Termination detection

Theoretical-Practice Component

Practical works include the development of concurrent applications using programming libraries (Pthreads) and also using specific languag e support for concurrency (Java). Message passing based programming, using MPI , is also axploited.

Bibliography

- Barry Wilkinson and Michael Allen, Parallel Programming, Techniques and Applications Using Networked Workstations and Parallel Computers, Prentice Hall, 2nd Edition, 2004.

Other study elements

- Abraham Silberchatz, Peter Galvin and Greg Gagne, Applied Operating System Concepts, John Wiley & Sons, 2000.
- A. Burns and A. Wellings, Real-Time System and Their Programming Languages, 3rd Ed., Addison-Wesley, International Computer Science Series, 2001

Teaching Method

Theoretical lectures: the method is based on presentations by the teacher, complemented with examples and exercises. This aims to stimulate the students interest and discussion in the classroom.

Theoretical Pratical Lectures: realization of exercises that stimulate discussion of primary and alternative solutions for the presented problems.

Evaluation Method

Homeworks for the theoretical component. Projects for the Theoretical Practical component. Final exam.

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Systems Configuration and Management
CodeSymbolAreaURL

425115

CGS

OSC

http://mocho.di.fc.ul.pt/p/CGS
Objectives

The objective of the course is to complement the concepts obtained in systems’ courses with a systemic view of the configuration of computer systems, distributed systems and computer networks, and their management and exploitation. The idea is to consolidate a set of notions in the areas of systems and network administration, giving them a broad coverage of truly strategic systems management.

Study plan
Theoretical Component

Computer systems management. Network planning. Network administration. Distributed systems management. Systems specification and configuration.

Theoretical-Practice Component

Management and configuration tools. The SNMP model and protocol.

Bibliography

Paulo Veríssimo e Luís Rodrigues, Distributed Systems For System Architects, Kluwer, 2001.
Network and Distributed Systems Management, M. Sloman editor, Addison-Wesley, 1994.

Other study elements

M. Sloman editor, Network and Distributed Systems Management, Addison-Wesley, 1994.

Mark A. Miller, Managing Internetworks with SNMP, 3rd edition, M&T Books, 1999.

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Algorithms Design and Analysis
CodeSymbolArea

425116

DAA

CTP

Objectives

To provide advanced knowledge on algorithms analysis and design. This course covers many algorithms in considerable depth, presenting important algorithmic design techniques and algorithmic analysis, focusing important data structures. Application areas and related topics are discussed. Recent advances are also covered.

Study plan
Theoretical Component

Recursive algorithms analysis, Amortized analysis (Cormen, chaps. 3,4,17)
Ordering (randomized quicksort, heapsort, linear sorting) and Order Statistics (Cormen, chaps. 6-9)
Dynamic Programming (Cormen, chap. 15)
Greedy Algorithms (Cormen, chap. 16)
Graphs (Cormen, cap. 22-24)
Solution search Backtracking, Branch&Bound, Best-First, Hill Climbing, Tabu Search, Simulated Annealing, Gradient Descent, Grasp, Flood Fill
Union-Find (Cormen, chaps. 21)
Strings (Cormen, chap. 32)
Trees (AVL, Splay Trees, Heaps, Treaps, Tries) (Cormen, chaps. 12,13)
Skip-Lists
Randomized Algorithms
Experimental Algorithmics

Theoretical-Practice Component

Recursive algorithms analysis, Amortized analysis (Cormen, chaps. 3,4,17)
Ordering (randomized quicksort, heapsort, linear sorting) e Order Statistics (Cormen, chaps. 6-9)
Dynamic Programming (Cormen, chap. 15)
Greedy Algorithms (Cormen, chap. 16)
Graphs (Cormen, cap. 22-24)
Solution search Backtracking, Branch&Bound, Best-First, Hill Climbing, Tabu Search, Simulated Annealing, Gradient Descent, Grasp, Flood Fill
Union-Find (Cormen, chaps. 21)
Strings (Cormen, chap. 32)
Trees (AVL, Splay Trees, Heaps, Treaps, Tries) (Cormen, chaps. 12,13)
Skip-Lists
Randomized Algorithms
Experimental Algorithmics

Bibliography

Cormen et al. - Introduction to Algorithms, 2ºEd. MIT Press, 2003.

Other study elements

João Neto, lecture notes, 2006. (in Portuguese)
Ana Respício, lecture notes, 2008. (in Portuguese)
Cormen et al., lecture notes from the Open Course in Introduction to Algorithms, MIT, 2005. (in English)
Several scientific papers.


Teaching Method

Lectures.

Evaluation Method

Research project (including design, analysis and implementation of an algorithm to approach a complex research problem) with production of a 10-page scientific paper and presentation of results. (100%)

Teaching Language

Portuguese or English.

Department

Dep. de Informática

Precedences
    None
Software Design
CodeSymbolArea

425117

DS

CTP

Objectives
Study plan
Theoretical Component

This course presents an historical overview of Software Engineering and provides an overview of some of the most promising recent methods, techniques and tools. The learning objectives are the following:

Software Architecture
Students should became familiar with concepts, notations, development methods, and tools for architecture-centric software engineering. More concretely,

*to know the most important architectural styles of existing systems and their properties;
*to use architecture description languages for representing architectures;
*to conceive different architectural solutions and be able to evaluate them against specific requirements;
*to recognise conformity between an implementation and an architectural design

Software Product Lines
Students should became familiar with the systematic techniques for the development of software families (SPL) and, more generally, know different techniques that support the variability management.
More concretely, should became familiar with
* the major challenges and advantages of SPL;
* aspect-oriented design and programming;
* design of generic architectures making use of frameworks;
* generative techniques;
* model-driven development.

Theoretical-Practice Component

Bibliography

[SG96] Software Architectures: Perspectives on an Emerging Discipline. Mary Shaw e David Garlan, Prentice Hall, 1996. ISBN: 0131829572.
[BCK03] Software Architecture in Practice. Len Bass, Paul Clements, Rick Kasman , Addison Wesley, 2003. ISBN: 0321154959.
[C03] Documenting Software Architectures: Views and Beyond, Paul Clements et al, Addison Wesley, 2003. ISBN: 0201703726.
[CN02] Software Product Lines: Practices and Patterns. Paul Clements e Linda Northrop, 2002. Addison-Wesley. ISBN: 0-201-70332-7.

Other study elements

[PBL05] Software Product Line Engineering, K.Pohl, G.Bockle,F.Lindenm 2005. Springer.
[B03] Software Design. David Budgen, Addiosn-Wesley, 2003. ISBN: 0-201-72219-4.

e artigos disponibilizados na página da disciplina

Evaluation Method

Assignements and Exam

Teaching Language
Department

Dep. de Informática

Precedences
    None
Agent-Oriented Software Engineering
CodeSymbolAreaURL

425119

ESBA

MC

http://mocho.di.fc.ul.pt/p/ESBA
Objectives

Learn how agent based approaches can be effectively used in software development. Have the ability to evaluate the adequacy of the approach to specific problems. Learn how to use different methodologies and tools to develop systems.

Study plan
Theoretical Component

Introduction to intelligent agents and multiagent systems. Micro and macro levels. Methodologies for agent-based systems analysis and design (AUML, Gaia, MaSE, FAME, Prometheus-ROADMAP, SODA, etc). Communicating and sharing knowledge. Agent-based programming. Case studies.

Theoretical-Practice Component

Experimentation with tools for the analysis, design, and implementation of multiagent systems - agentTool.

Bibliography

Agent-Based Software Development. M. Luck, R. Ashri and M. d’Inverno. Artech House, 2004.

Methodologies and Software Engineering for Agent Systems - The Agent-Oriented Software Engineering Handbook. Bergenti, Federico; Gleizes, Marie-Pierre; Zambonelli, Franco (Eds.). Springer, 2004.

Agent-Oriented Methodologies, Brian Henderson-Sellers, Paolo Giorgini, idea Group Publishing, 2005.

Other study elements

An Introduction to Multiagent Systems. Michael Wooldridge. John Wiley & Sons, 2002.

Intelligent Agent Software Engineering. Valentina Plekhanova, idea Group Publishing, 2003.

Multiagent Systems: A Modern Approach to Distributed AI. G. Weiss (edt), MIT Press, 2000.

Heterogeneous Agent Systems. V. Subrahmanian, et al, MIT Press, 2000.

Readings in Agents. M. Huhns and M. Singh (edts), Morgan Kaufmann, 1998.

Constructing Intelligent Agents Using Java. J. Bigus, John Wiley and Sons, 2001.

Evaluation Method

Project and exam.

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
Organizations Structure and Management
CodeSymbolArea

425120

EGO

CSH

Objectives

We envisage the student aquires knowledge about the role of informatics about how firms are managed and organized in today global situation. The function of informatics in organizations is discussed in the context of hard changes and progress.

Study plan
Theoretical Component

Corporate Governance, Change Management, Stategic Planning, Organizational Dynamics, Dynamics of Groups, Knowledge Management, Emotional Intelligence, Virtual Firms, Learning Organizations.

Theoretical-Practice Component

Corporate Governance, Change Management, Stategic Planning, Organizational Dynamics, Dynamics of Groups, Knowledge Management, Emotional Intelligence, Virtual Firms, Learning Organizations.

Bibliography

Manuel Firmino, Gestão das Organizações, Conceitos e Tendências Actuais - 2ª Edição, Escolar Editora, 2007.
Precedências aconselhadas: Todas as disciplinas dos três primeiros anos da licenciatura.

Other study elements
Teaching Method

Lectures envolving the incentive to discussion and debate. Discussion of papers presenteing controversial ideas. Invited lectures by especialists in the area.

Evaluation Method

Participation in classes and discussions. Project presentation and report. Exam.

Teaching Language

Portuguese

Department

Dep. de Informática

Precedences
    None
Project Management
CodeSymbolAreaURL

425122

GP

SI

http://mocho.di.fc.ul.pt/p/GP
Objectives

Project management topics. Project planning methods and techniques. The role of the Project Manager. The project manager and the team. Project selection. Introduction to financial analysis. Project budgeting. Cost analysis and risk management. Scheduling and resource allocation. Project monitoring, auditing and conclusion

Study plan
Theoretical Component

Project planning methods and techniques. The role of the Project Manager. The project manager and the team. Project selection. Introduction to financial analysis. Project budgeting, cost analysis and risk management. Scheduling and resource allocation. Project monitoring

Theoretical-Practice Component

Financial analysis; project selection; Budgeting; Scheduling; Resource allocation; project monitoruing

Bibliography

Mantel, SJ, Meredith, J, Shafer, SM, Sutton, MM, 2005 Project Management in Practice. 2nd Edition John Wiley and Sons. ISBN:0-471-22965-2
Stellman, A, Greene, J. 2006, Applied Software Project Management. O'Reilly Media. ISBN:0-596-00948-8

Other study elements
Teaching Method

Exposition classes
Laboratoy classes with use of specific project management tools

Evaluation Method

Ellaboration of a Project over a specific subject
Exam

Teaching Language

Portuguese

Department

Dep. de Informática

Precedences
    None
Knowledge Management
CodeSymbolAreaURL

425123

GC

MC

http://mocho.di.fc.ul.pt/p/GC
Objectives

This course aims at the acquisition of capacities to discriminate between data, information, and knowledge. The student should become proficient in analyzing knowledge management in society, including societies of artificial agents, with special emphasis on knowledge as an economic product. Research competence in knowledge management will be developed, namely through case studies.

Study plan
Theoretical Component

- data, information, knowledge
- tacit/explicit knowledge, Nonaka processes: socialization, externalization, combination, internalization
- knowledge economy
- knowledge representation
- knowledge as a tool vs. knowledge as a product
- social hierarchies and information flow
- knowledge acquisition; the CYC project
- aspects of knowledge management: Identify, Analyze, Specify, Review. Knowledge exchange in societies of artificial agents
- critique of knowledge management

Theoretical-Practice Component

- weekly written assignments with a critical review of the topics
- final project of in depth review of a theme related to the domain of the course

Practical Component

none

Bibliography

Don Tapscott e Anthony Williams. Wikinomics – A Nova Economia das Multidões Inteligentes. QuidNovi, 2007

Donald Hislop. Knowledge Management In Organizations. Oxford University Press, 2005

António Serrano e Cândido Fialho. Gestão de Conhecimento: O novo paradigma das organizações. FCA - Editora de Informática, 2003

Ricardo Vidigal da Silva e Ana Neves (orgs.). Gestão de Empresas na Era do Conhecimento. Edições Sílabo, 2003

Richard F. Bellaver and John M. Lusa. Knowledge management strategy and technology. Artech House, 2001

Jay Liebowitz. Knowledge Management HandBook. CRC Publishers, 1999

Thomas H. Davenport and Laurence Prusak. Working knowledge: how organizations manage what they know. Harvard Business School Press, 1998

Other study elements
Teaching Method

Theoretical and theoretical-practical classes
Presentation of the final work by students

Evaluation Method

60% Final Project + 40% weekly assignments

Teaching Language

Normally in Portuguese. In English if needed

Department

Dep. de Informática

Precedences
    None
Information Integration and Analytic Data Processing
CodeSymbolAreaURL

425124

IPAI

SI

http://mocho.di.fc.ul.pt/p/IPAI
Objectives

Students are introduced to the concepts of data warehousing and data mining, namely data-preprocessing, ETL, and dimensional modeling. Several OLAP and data mining tools are introduced. Finally the integration of business intelligence tools in several types of decision support systems is discussed.

Study plan
Theoretical Component

Preprocessing and data transformations. Multidimensional modeling. OLAP tools and techniques. Data mining methodologies and decision support system integration.

Theoretical-Practice Component

Preprocessing and data transformations. Multidimensional modeling. OLAP tools and techniques. Data mining methodologies. Use of specific tools.

Bibliography

Kimball, R. Ross, M. 2002. The Data Warehouse Toolkit. 2nd Edition. John Wiley and Sons. New York. ISBN:047120024
Han, J. Kamber, M. 2006. Data Mining Concepts and Techniques 2nd Edition. Morgan Kaufmann Publishers. ISBN:1558609016

Other study elements

Informação fornecida pelo docente

Teaching Method

Exposition classes
Laboratory exercises using specific tools

Evaluation Method

Course project
Exam

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
Artificial Intelligence for Games
CodeSymbolAreaURL

425205

IAJ

MC

http://mocho.di.fc.ul.pt/p/IAJ
Objectives

In recent years the development of games become one of the success areas of the computer science. On the commercial level, the revenues generated for this class of applications reached the level of the cinematographic industry.
On a technical level, the performance requirements of this applications take the machines to their limits. The new features demanded in each new game force innovations to the level of interactivity and challenges presented for game strategies and intelligence, making a considerable pressure on the industry to reach and to keep these standards.

The course of " Artificial intelligence for Games" allows the students to contact with techniques in the development of the intelligent component of the games, specially in real time environments with human players. The main goal of this course is to give to the students the chance to widen the knowledge of Artificial Intelligence and to apply it in new real situations.

Study plan
Theoretical Component

Theoretical-Practice Component

Bibliography

Ian Millington, Artificial Intelligence for Games, Morgan Kaufman, 2006
Mat Buckland, Programming Game AI by Example, Wordware publishing, 2005
Brian Schawab, AI Game Engine Programming, Charles River Media, 2004
Steve Rabin ed, AI Game Programming Wisdom 3, Charles River Media, 2006
Steve Rabin ed, AI Game Programming Wisdom 2, Charles River Media, 2004
Steve Rabin ed, AI Game Programming Wisdom 1, Charles River Media, 2002
M. Ghallab, D. Nau and P. Traverso, Automated Planning: Theory and Practice, Morgan Kaufmann, 2004
Stuart Russell and Peter Norvig, Artificial Intelligence: A Modern Approach, Prentice Hall, 2003

Other study elements

Existem vários motores de jogos de domínio público
que podem ser usados para o desenvolvimento de aplicações (UT, Stratagus ou SCI)
que poderão ser usados em apoio às actividades da
disciplina. Pontualmente para ilustrar pequenos exemplos serão usadas outras
alternativas mais específicas (Player/Stage, Raven ou Webots).

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
Natural Language Interaction
CodeSymbolArea

425125

ILN

MC

Objectives

Acquaintance with the state-of-the-art in the realm of natural language technology and its applications. Acquisition of concepts, methodologies and techniques for the utilization of components and resources in systems and agents with increasing natural language abilities.

Study plan
Theoretical Component

Natural, controled and artificial languages. Symbolic and quantitative modelling methodologies for natural languages. Families of applications, their performance and usability. Key modules for shallow processing: sentence splitters, tokenizers, phrase segmenters, pos taggers, named-entity recognizers and shallow parsers. Deep linguistic processing: computational grammars and dicitionaries. Speech processing. Semantic analysis and representation amd machine translation among natural languages and between natural and artificial llanguages. Natural language processing and information retrieval. Semantic web: goals and major components. Formal ontologies and thesauri. Word sense disambiguation. Current resources and tools for the computational processing of Portuguese.

Theoretical-Practice Component

Bibliography

Ruslan Mitkov (org.), Handbook of Computational Linguistics, Oxford, OUP, 2002.

Robert Dale, Hermann Moisl e Harold Sommers (orgs.), Handbook of Natural Language Processing, Marcel Dekker, 2000.

D. Jurafsky e L. Martin, Speech and Language Processing, Londres: Prentice Hall, 2000.

Other study elements
Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
Interactive Games
CodeSymbolArea

425126

JI

SI

Objectives

The students should acquire the fundaments of game design and development. Fundamental game components are addressed: Interaction techniques, Computer graphics, Artificial Intelligence,and Network Programming. Specific topics on game development for consoles are discussed

Study plan
Theoretical Component

Game design, and game architecture. Fundamental game components: Interaction techniques, Computer graphics, Artificial Intelligence,and Network Programming. Specific topics on game development for consoles are discussed

Theoretical-Practice Component

Metodologias de concepção e design de jogos. A estruturação de um jogo. Exercícios de Interacção, programação gráfica em tempor real, Inteligência Artificial e programação em redes. Exercícios de desenvolvimento para consolas

Bibliography

Fullerton, T, Swain, C., Hoffman, S. 2004. Game Design Workshop - Designing, Prototyping and Playtesting Games. CMPBooks. ISBN 1-57820-222-1
Rabin, S. (Editor) 2005. Introduction to Game Development. Charles River Media. ISBN: 1-5840-377-7

Other study elements

Documentação fornecida pelo docente

Teaching Method

Exposition classes
Laboratory classes where specific tools are used

Evaluation Method

Project and implementation of a computer game

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Multimedia
CodeSymbolAreaURL

425128

MM

SI

http://mocho.di.fc.ul.pt/p/MM
Objectives

To understand the concepts and technologies behind the construction of and interaction with multimedia information, with an emphasis on digital video.

Topics: Digital media types. Compression and coding, structure, and metadata; Processing and feature extraction. Authoring, technological and cognitive aspects on the integration and interaction in multimedia environments. New paradigms and applications.

Study plan
Theoretical Component

1. Introduction: Concepts, History, Models, Technology, Applications, Challenges; 2. Digital Media Types: Digital representation, Digitization, Static and dynamic information types, Text, Vector Graphics, Bitmap Images, Video, Animation, Audio, Formats, Standards, Compression, Storage, Distribution; 3. Authoring: Paradigms, Tools, Design, Multimedia Projects; 4. Processing: Segmentation, Indexing, Metadata, Feature extraction, Information retrieval and authoring; 5. Perspectives: New paradigms and applications.

Theoretical-Practice Component

Development of a project and exercises about: Media Types : text, vector graphics, bitmap images, video, and compression techniques; Multimedia Authoring: with animations, audio, and video, in Flash and Smil; Processing: of images and video; Project presentations.

Bibliography

Ze-Nian Li & Mark S.Drew, “Fundamentals of Multimedia“ (International Edition), Pearson Prentice Hall, 2004.
Nigel Chapman & Jenny Chapman, “Digital Multimedia” (2nd.ed), Wiley, 2004.
Tay Vaughan, “Multimedia: Making it Work” (7th.ed), McGraw Hill, 2006.
Nuno Ribeiro, “Multimédia e Tecnologias Interactivas” (2a.ed), FCA Editora de Informática, 2007.

Other study elements

Complementares:

Kevin Jeffay, Hong Jiang Zhang (eds.), “Readings in Multimedia Computing and Networking”, Morgan Kaufmann, 2002.
Peter D. Symes, “Video Compression”, McGraw Hill, 1999. [cap:1-3]
J. Gibson, T. Berger, T. Lookabaugh, D. Lindberg, & R. Baker, “Digital Compression for Multimedia: Principles & Standards”, Morgan Kaufmann, 1998.
Artigos, Relatórios e Manuais.

Teaching Method

lectures
class work and project

Evaluation Method

project
exam
participation in class

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
Neurodynamics
CodeSymbolArea

425129

ND

CTP

Objectives

Deeper study of some of the topics introduced in the course Neural Networks.
Practical application of neural networks to technological problems.
Emphasis on a dynamical approach to biologically inspired neural processes,
learning algorithms and recurrent networks. Evaluation of the computational
power of recurrent and non-recurrent networks. Estimation of the temporal
and spatial efficiency of neural algorithms.

Study plan
Theoretical Component

Biological neural paradigms - Hebbian learning; self-learning; learning through
examples; fault tolerance; parallel computing. Relation between biological
neurons and the formal neurons used in computation and engineering.
Feedforward vs. recurrent networks. Supervised vs. unsupervised learning.
Statistical aspects. Dynamical perspective of gradient descent methods.
ADALINE. Multi-layer Perceptron. MADALINE. Backpropagation. Auto-associative
networks. Hopfield and Boltzmann networks; application to content-addressable
memories and to the approximate solution of NP-complete problems.
Self-organization. Competition networks.

Theoretical-Practice Component

Biological neural paradigms - Hebbian learning; self-learning; learning through
examples; fault tolerance; parallel computing. Relation between biological
neurons and the formal neurons used in computation and engineering.
Feedforward vs. recurrent networks. Supervised vs. unsupervised learning.
Statistical aspects. Dynamical perspective of gradient descent methods.
ADALINE. Multi-layer Perceptron. MADALINE. Backpropagation. Auto-associative
networks. Hopfield and Boltzmann networks; application to content-addressable
memories and to the approximate solution of NP-complete problems.
Self-organization. Competition networks.

Bibliography

J. A. Anderson, An Introduction to Neural Networks, The MIT Press, 1995.

L. Fausett, Fundamentals of Neural Networks - Architectures, Algorithms and Applications, Prentice Hall, 1994.

M. H. Hassoun, Fundamentals of Artificial Neural Networks, The MIT Press, 1995.

S. Haykin, Neural Networks - A Comprehensive Foundation, 2nd edition, Prentice Hall, 1999.

R. Rojas, Neural Networks - A Systematic Introduction, Springer-Verlag, 1996.

J. Hertz, A. Krogh & R. G. Palmer, Introduction to the Theory of Neural Computation, Addison-Wesley, 1991.

D. Patterson, Artificial Neural Networks -- Theory and Applications, Prentice Hall, 1996.

P. Churchland e T. Sejnowski, The Computational Brain, The MIT Press, 1992.

Other study elements

Ligações para informação diversa, disponível na internet.

Teaching Method

Classroom lectures.

Evaluation Method

Programming projects.

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Natural Language Processing
CodeSymbolArea

425130

PLN

MC

Objectives

First introduction to fundamental results and methods in natural language processing. Major themes: Representation and computation of linguistic knowledge in its different dimensions. Methodologies for syntactic analysis. Overgeneration and selection of parsing results. Syntax semantics interface. Semantic representation and logical form. Grammar models. Major parsing algorithms. Natural language complexity. Participation of students with different background (Informatics, Linguistics, Mathematics, Psychology, ...) is encouraged

Study plan
Theoretical Component

Chatter-bots and avatars: template systems and language understanding. Natural languages vs artificial and non human languages. Linguistic knowledge: representation and computation. Parsing and the DCG formalism. Modelling the key syntactic relations: constituency, agreement, subcategorization, long-distance dependencies. Coding lexical and structural ambiguity. Overgeneration and result selection. Semantic analysis. Representing meaning: FOL, lambda formalism, generalized quantifiers. Coding quantifier scope ambiguity. Key applications: natural languages interfaces, language translation. Grammar formalisms and scalability. Parsing algorithms: top-down, bottom-up, left-corner, chart parsing, Earley. Computational complexity of natural languages.

Theoretical-Practice Component

Use of the Prolog language to develop simple template and keyword systems. DCG parsing. Advanced use of the DCGs. Building semantic representations. Definition and coding of unification grammars. Parsing algorithms: top-down, bottom-up, left-corner, Earley. Final project involving the definition and use of a grammar that covers a wider range of linguistic phenomena.

Bibliography

Daniel. Jurafsky e James Martin, Speech and Language Processing: An Introduction to Natural Language Processing, Computational Linguistics and Speech Recognition, New Jersey: Prentice Hall, 2000.
Michael. Covington, Natural Language Processing for Prolog Programmers, Londres: Prentice Hall, 1994

Other study elements

Mitkov, R. The Oxford Handbook of Computational Linguistics, Oxford University Press, 2003.
James Allen, Natural Language Understanding, Redwood: The Benjamin/Cummings,1995

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Distributed Systems Programming
CodeSymbolArea

425132

PSD

OSC

Objectives

The objective of this course is to provide a global perspective of the several architectures and models for the construction of and programming in distributed systems. This course assumes that students are familiar with fundamental concepts of distributed systems.

Study plan
Theoretical Component

Introduction to distributed systems programming; Complements to distributed systems paradigms; Advanced distributed system services; Programming models in distributed environments; Distributed systems and platforms; ONC RPC (ex-SUN); AFS; NTP; X.509; DCE; CORBA; WWW; ISIS; TUXEDO

Theoretical-Practice Component

Introduction to distributed systems programming; Complements to distributed systems paradigms; Advanced distributed system services; Programming models in distributed environments; Distributed systems and platforms; ONC RPC (ex-SUN); AFS; NTP; X.509; DCE; CORBA; WWW; ISIS; TUXEDO

Bibliography

P. Veríssimo and L. Rodrigues, Distributed Systems for System Architects, Kluwer Academic Publishers, 2001.
G. Coulouris, J. Dollimore and T. Kindberg, Distributed Systems - Concepts and Design, 3rd Ed., Addison-Wesley, 2002

Other study elements

Distributed Systems, 2nd Ed., Sape Mullender Ed., Addison-Wesley, 1993
# Building Secure and Reliable Network Applications, Kenneth Birman, Manning - P. Hall, 1996.
# OSF DCE: Guide to Developing Distributed Applications, H. Lockhart, IEEE CS, 1994.
# Advanced Concepts in Operating Systems, Mukesh Singhal, Niranjan Shivarafri, McGraw Hill
# Manuais do AFS
# The TUXEDO System, J. Andrade et al., Addison-Wesley, 1996.
# Java Programming with CORBA, 3rd Ed, G. Brose, A. Vogel, K Duddy, OMG Press, 2001.
# Teach Yourself CORBA in 14 Days, Jeremy Rosenberger, Sams Publishing, 1998.
# The Java Tutorial, M. Campione, K. Walrath, Sun, 1997.
# Manual do ORBacus

Evaluation Method

10% - Homeworks
40% - Project & Class participation
50% - Final exam

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
Project in Informatics Engineering B
CodeSymbolArea

425217

PEIb

INF

Objectives

Completing an autonomous project, which might take place in either the Informatics Department of the Faculty of Sciences of the University of Lisboa, or in an external institution, private or public company.

Study plan
Theoretical Component

No classes.

Theoretical-Practice Component

No classes.

Practical Component

No classes.

Bibliography

Dependente do projecto

Other study elements

Dependente do projecto

Teaching Method

Autonomous work with guidance from one (or more) supervisors.

Evaluation Method

Project report and public presentation of the work, followed by a discussion with a juri.

Teaching Language

No classes.

Department
Precedences
    None
Data Mining and Knowledge Discovery
CodeSymbolAreaURL

425133

PDI

MC

http://mocho.di.fc.ul.pt/p/PDI
Objectives

Our current capacity to collect and store data largely exceeds our capacity to analyze that same data in order to characterize it and to extract useful knowledge from it. Data Mining and Knowledge Discovery is the scientific course that allows the automatic extraction of useful information from large collections of data. This course focuses on providing the student with specific skills in this area, through the study of the several steps of the data mining process, emphasizing machine learning algorithms originated in the areas of Artificial Intelligence, Statistics and Data Analysis and their application to the discovery of interesting patterns in data collections.

Study plan
Theoretical Component

- Introduction and general concepts: tasks and problems of Data Mining, exploration and visualization of data, supervised and unsupervised machine learning methods
- Induction of decision trees
- Association rules
- Bayesian learning
- Clustering and Expectation-Maximization (EM) algorithm
- Data Preprocessing
- Evaluation of results and combination methods
- Regression models
- Support Vector Machines

Theoretical-Practice Component

Solution of exercises applying the algorithms studied.
Lab classes demonstrating the use of data mining library algorithms for the R language and their application to small data sets.
Discussion of scientific papers.

Bibliography

- Principles of Data Mining, David Hand, Heikki Mannila e Padhraic Smyth, MIT Press, 2001.

- Modern Applied Statistics with S - 4th Edition, W. N. Venables, B. D. Ripley, Springler, 2002.

Other study elements

- notas de apoio às aulas teóricas

- leituras sugeridas: lista de artigos científicos de vários autores para aprofundamento dos tópicos abordados

Teaching Method

Lectures and lab classes.
Reading of suggested scientific papers, followed by their oral presentation and discussion by the students.

Evaluation Method

Solution of short exercises, presentation and discussion of a paper and a project

Teaching Language

The lectures will be in English if there are students registered who do not speak Portuguese. Otherwise, lectures will be in Portuguese.

Department

Dep. de Informática

Precedences
Network Protocols
CodeSymbolAreaURL

425134

PRD

OSC

http://mocho.di.fc.ul.pt/p/PRD
Objectives

The course aims at providing an understanding of IP networks, specially, routing protocols used in the internet. The students learn the operation of interior and exterior routing protocols, constraint based routing, quality of service, traffic engineering, multicast routing and routing in mobile and ad hoc networks.

Study plan
Theoretical Component

Network architectures. The IP model. Internet today (autonomous systems, backbone networks, service providers). IP addressing, Interior protocols (RIP, OSPF). Exterior protocols: (BGP). MPLS. Quality of service. Traffic engineering. IP multicast. Mobile IP. Ad hoc routing.

Theoretical-Practice Component

Configuration of network components (machines, switches, routers).

Bibliography

C. Huitema, Routing in the Internet, second edition Prentice-Hall 2000

Other study elements

Jeff Doyle, Routing TCP/IP, Volume I (CCIE Professional Development), Cisco Press.
Jeff Doyle and Jennifer Carroll, Routing TCP/IP, Volume II (CCIE Professional Development), Cisco Press.

Evaluation Method

Test and Projects

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
Software Quality
CodeSymbolAreaURL

425135

QS

SI

http://mocho.di.fc.ul.pt/p/QS
Objectives

After completing this course, the students are able to:
Identify the unique characteristics of software as a product and as production process. Recognize the uniqueness of software quality assurance (SQA) and explain the environment for which SQA methods are developed.
Define software quality and software quality assurance and explain the objectives of software quality assurance activities.
Identify and explain the product quality models and assessment of their characteristics. Explain the structure of McCall’s classic factor model and ISO/IEC 9126 factor model.
Identify and define the components of a SQA system: pre-project, project life cycle activities assessment, infrastructure, software quality management, standardization, certification and SQA system assessment and human components.

Study plan
Theoretical Component

The software quality challenge, Software quality definition
Software quality factors: McCall and ISO/IEC 9126 models
Components of a software quality assurance system
- Pre-project components: development and quality plans
- Software project life cycle components
- Infrastructure components
- Management components
- SQA Standards, system certification components: SEI CMM, ISO 9001, 9000-3, IEEE 1012, ISO/IEC 12207, ISO/IEC 15504, PSP
- Human component

- Case Studies: Exposure to real situations
- Two seminars with invited speakers from the industry.

Theoretical-Practice Component

Personal Software Process: objectives and the improvement process
Time management
Tracking time
Period and product planing
Product size
Managing your time
Managing commitments

Bibliography

Daniel Galin, Software Quality Assurance, Addison Wesley, 2004, ISBN 0201709457.
Watts Humphrey, Introduction to the Personal Software Process,
Addison Wesley, 1997, ISBN 0201548097.

Other study elements

Sami Zahran, Software Process Improvement: Practical Guidelines for Business Success, Addison Wesley, 1998, ISBN n.º 020117782X.
Stephen H. Kan, Metrics and Models in Software Quality Engineering, Addison Wesley, 1995, ISBN n.º 0201633396.
Mark Paulk, Charles Weber e outros, The Capability Maturity Model: Guidelines for Improving the Software Process, Addison Wesley, 1995, ISBN n.º 0201546647.

Teaching Method

Each theoric classe have three parts:
- Reading: Self-study materials that students work
- Exposure and discussion: the topic is presented with more detail and discussed with students
- Evaluation: the student elaborate a resume and/or answer a question about the topic learned

Two theoric classes are seminars with invited speakers from the industry

Pratice classes: Each student group presents a part of the PSP

Evaluation Method

project (50%) + tests/exam (30%) + PSP exercices (20%)

Teaching Language

Portuguese

Department

Dep. de Informática

Precedences
    None
Multimedia Pattern Recognition
CodeSymbolArea

425136

RPM

SI

Objectives

The goal is to provide the students methods and tools to deal with large non annotated corpus, with particular emphasis for audio, image and video signal corpora.

Study plan
Theoretical Component

Feature extraction.
Supervised and unsupervised classification.
Parametric and non-parametric methods.
Sequence classification.
Evaluation.

Theoretical-Practice Component

Labs:
Feature extraction.
Supervised and unsupervised classification.
Parametric and non-parametric methods.
Sequence classification.
Evaluation.

Practical Component

project

Bibliography


Pattern Classification, Second Edition, R. Duda, P. Hart, D. Stork, John Wiley & Sons (October 2000).

Other study elements

Reconhecimento de Padrões: Métodos Estatísticos e Neuronais, Jorge Salvador Marques, IST PRESS, (1999).
* An introduction to MCMC for machine learning, C. Andrieu, N. de Freitas, A. Doucet, and M. I. Jordan, Machine Learning, vol. 50, pp. 5--43, (Jan. - Feb. 2003).
* Statistical Pattern Recognition, 2nd Edition Andrew R. Webb, John Wiley & Sons; 2 edition (October 15, 2002).
* Pattern Recognition in Speech and Language Processing, Wu Chou, CRC Press (February 26, 2003).


Teaching Method

Theoric lessons.
Discussion of project deliveries
Labs

Evaluation Method

project

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Speech Recognition and Synthesis
CodeSymbolArea

425137

RSF

SI

Objectives

This course introduces several solutions for acoustical classification problems with particular emphasis in the scope of HCI and communication with Information Systems. Speech recognizers and text-to-speech systems are studied, namely their capabilities and limitations.

Study plan
Theoretical Component

Speech representation.
Production and perception models
Main speech processing algorithms
Speech processing software packages
Speech recognition
Speech sinthesys
HCI applications
SI applications
VoiceXML

Theoretical-Practice Component

Speech processing software packages evaluation
VoiceXML systems evaluation

Practical Component

project

Bibliography

Livro: X. Huang, A. Acero, H. Hon (2001), Spoken Language Processing: A Guide to Theory, Algorithm and System Development (Prentice-Hall).

Other study elements

Acetatos das aulas teóricas
Guias das aulas de laboratório

Teaching Method

class + discussion of project deliveries + labs

Evaluation Method

project

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Text Mining and Retrieval
CodeSymbolArea

425138

RPT

SI

Objectives
Study plan
Theoretical Component

Theoretical-Practice Component

Bibliography

Colectânea de artigos científicos seleccionados pelo responsável pela disciplina.

Christopher D. Manning, Prabhakar Raghavan and Hinrich Schütze, Introduction to Information Retrieval, Cambridge University Press. 2007.

Ronen Feldman, James Sanger. The Text Mining Handbook: Advanced Approaches in Analyzing Unstructured Data, Cambridge University Press. 2007

Other study elements
Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Mobile Networks
CodeSymbolAreaURL

425207

RM

OSC

http://mocho.di.fc.ul.pt/p/RM
Objectives

We envisage the student aquires knowledge about wireless and mobile networks so they can look at their challenges and opportunities. Although we present the main physical layer properties, our focus is on multiple access protocols as well as on network and transport protocol layers.

Study plan
Theoretical Component

Physical layer properties. Multiple access protocols. Wireless LANs (IEEE802.11). Wireless PANs (IEEE802.15). Wireless MANs (IEEE802.16). Cellular networks. Satellite Communications. Wireless Internet: Mobile IP, TCP. Ad-hoc networks. Mesh networks. Sensor networks. Security.

Theoretical-Practice Component

Practical study on footprint of wireless networks.
Development of some protitype apllications for ad-hoc networks.

Bibliography

William Stallings. Wireless Communications and Networks, 2nd Edition, Prentice Hall, 2004.
C.Siva Ram Murthy and B.S.Manoj. Ad Hoc Wireless Networks - Architectures and Protocols, Prentice Hall, 2004.

Other study elements
Evaluation Method

Test and projects

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
Neural Networks
CodeSymbolAreaURL

425140

RN

MC

http://mocho.di.fc.ul.pt/p/RN
Objectives

To understand the main neural network models and their learning algorithms. The students should obtain theoretical as well as practical acquaintance with neural network applicability conditions as well as with implementation tools.

Study plan
Theoretical Component

Basic concepts - biological model and artificial neuron models. Learning processes. Simple perceptron. Multi-layer perceptron. Radial basis function networks. Support vector machines. Committee machines. Self-organised maps. Models based on Information Theory. Stochastic models. Temporal processing. Spiking neurons.

Theoretical-Practice Component

Solving illustrative problems and use of NN tools

Practical Component

not applicable

Bibliography

Simon Haykin, Neural Networks - a comprehensive foundation, 2nd edition, Prentice-Hall, 1999
W. Gerstner, W. M. Kistler, Spiking Neuron Models, Cambridge University Press 2002.

Other study elements

software de RN e respectivos manuais

Teaching Method

Theoretical classes for presentation of matters; theoretical-practical classes for supervision of scripted work; autonomous work outside classes

Evaluation Method

Scripted work (in theoretical-practical classes) + Autonomous work + Exam

Teaching Language

Portuguese, or English if needed

Department

Dep. de Informática

Precedences
    None
Mobile Robots
CodeSymbolAreaURL

425208

ROBM

MC

http://mocho.di.fc.ul.pt/p/ROBM
Objectives

This course intends to provide the student with a broadening approach, covering the analysis and programming of embodied devices. These have a mechanical interaction with the environment and mobility in that environment. This type of interaction has sgnificant specifities and the acquisition of this type of knowledge is expected to benefit the student. His vision of the interaction of informatics with real world problems will be enriched.

Study plan
Theoretical Component

Historic analysis; Components of a mobile robot; Morphology
Locomotion mechanisms in different enviroments; Energy storage and consumption
Measurement of physical values, passive and active, and their respective sensors; processing of sensorial data; sensorial integration
Actuation of the robot in function of its sensorial stimulus; stabilization of the robot; decision control
Behavioural architectures for decision control; comparison with functional architectures; hybrid architectures; reflexes; fixed action patterns; motor programs; robot autonomy
Simulation approaches for mobile robots; limitation and realismo of the simulations; simulation for debugging real robots programs
Representation and autonomous map discovery; static and dynamical environments; route planning
Robot teams; interference; emergent cooperation; teams of robots and humans

Theoretical-Practice Component

not applicable

Practical Component

Real robot programming in simple tasks. Experiments of interaction of mobile robots with unstructured environments and with other mobile agents, in particular humans and similar robots.

Bibliography

R.C. Arkin, Behavior-Based Robotics, MIT Press, 1998.
George A. Bekey, Autonomous robots from biological inspiration to implementation and control, MIT Press, 2005.
Roland Y. Siegwart and Illah Reza Nourbakhsh, Introduction to Autonomous Mobile Robots (Intelligent Robotics & Autonomous Agents), Bradford Books, 2004.
Steven M. LaValle, Planning Algorithms, Cambridge University Press, 2006.
V. Braitenberg, Vehicles, MIT Press, 1984.
Rodney A. Brooks, Cambrian intelligence: the early history of the new AI, MIT Press, 1999.
Rodney A. Brooks, Flesh and machines: how robots will change us, Vintage Books, 2002.
Stefano Nolfi and Dario Floreano, Evolutionary Robotics - The Biology, Intelligence, and Technology of Self-Organizing Machines, MIT Press, 2004.
Tucker Balch and Lynne E. Parker (eds.), Robot Teams: From Diversity to Polymorphism, AK Peters, Ltd., 2002.

Other study elements

Artigos diversos; Manuais de robôs

Teaching Method

Lecturing of new subjects, in theoretical classes.
Guidance to robot programming, and analysis and discussion of solutions, in practical classes.

Evaluation Method

80% Practical work + 20% Quiz test

Teaching Language

Portuguese or English, if necessary

Department

Dep. de Informática

Precedences
Software Security
CodeSymbolAreaURL

425141

SeS

OSC

http://mocho.di.fc.ul.pt/p/SeS
Objectives

The number of cyber attacks observed in recent years has had an almost exponential growth (CERT - http://www.cert.org/stats/ ). As regards the integrity of systems and the confidentiality of data, it is becoming evident that the weakest link is the security of the computer, not the security of the communication (http://www.jya.com/paperF1.htm ).

This course studies the security of the machine vis-a-vis the security of the network/communication. It intends to approach the main topics required to understand the problem, including the discussion of a series of more advanced themes that are currently under research.

Study plan
Theoretical Component

o Security and software development
o Protection in general purpose operating systems
o Buffer overflows
o Input validation: DBMSs, Web
o Race conditions
o Testing – attack injection
o Testing – static analysis

Theoretical-Practice Component

Hands-on classes on:
o Security and software development
o Protection in general purpose operating systems
o Buffer overflows
o Input validation: DBMSs, Web
o Race conditions
o Testing – attack injection
o Testing – static analysis

Bibliography
  • J. Viega, G. McGraw, Building Secure Software, Addison-Wesley, 2002.
    * M. Howard, D. LeBlanc, Writing Secure Code, 2nd edition, Microsoft Press, 2003.
Other study elements
  • C. Pfleeger, S. L. Pfleeger, Security in Computing, 3rd ed., Prentice Hall, 2003.
    * M. Dowd, J. McDonald J. Schuh, The Art of Software Security Assessment: Identifying and Preventing Software Vulnerabilities, Addison-Wesley, 2006.
    * C. Wysopal, L. Nelson, D. Zovi, E. Dustin, The Art of Software Security Testing, Addison-Wesley, 2006.
    * B. Chess, J. West, Secure Programming with Static Analysis, Addison-Wesley, 2007.
    * G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, Addison-Wesley, 2004.
    * M. Gasser, Building a Secure Computer System, Van Nostrand Reinhold, 1988.
    * S. Garfinkel, G. Spafford, A. Schwartz, Practical Unix & Internet Security, 3rd ed., O'Reilly, 2003.
    * David A. Wheeler, Secure Programming for Linux and Unix HOWTO, v3.010, 3 March 2003
    * P. Maher and A. Mackman, The Developer Highway Code. Microsoft Corp, 2006.
    * D. Bovet, M. Cesati, Understanding the Linux Kernel, 1st ed., O’Reilly, 2000
    * OWASP Foundation. OWASP Top 10 - the ten most critical web application security vulnerabilities (2007 update). 2007
Evaluation Method

10% - Homework in the form of 5 exercises to be published every fortnight throughout the semester and handed in during the theoretical class the following week. There is a 6th virtual exercise whose mark depends on the number of exercises handed in. Each one adds 4 points to the mark of the virtual exercise. The final mark of this component corresponds to the average of the 6 exercises.
* 40% - Project & Class participation, including discussion of the results and reports of the projects
* Marks are made public upon conclusion of all discussions, for criteria homgeneity
50% - Final exam

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Social Simulation
CodeSymbolAreaURL

425143

SS

MC

http://mocho.di.fc.ul.pt/p/SS
Objectives

To contact with tools and methodologies appropriate to simulation of multiple, heterogeneous and autonomous agent systems; to install workbenches and develop projects in social simulation; to pose problems and assemble the means to attack them;to acquire practices in exploration oriented scientific experimentation; to contact with the social sciences reality and establish parallels with artificial intelligence.

Study plan
Theoretical Component

To insert agents in context, allowing for a more realistic approach to the complexity associated with interactions dynamic. Computer as a tool and exploratory simulation as a methodology which allow to the social scientist to test models, rehearse experiments, put forward hypotheses; unveil new conjectures.

Multiagent systems: decision and rationality; autonomy; specification of agents and societies; development of programs and experimentation.

Notions of Social Sciences: object and methodologies; techniques of analysis of data and experimental results; simulation and empirism; computational simulation.

Methodologies of experimental work: exploratory simulation as another way of doing science; methodological problems with result analysis; metaphors and conjectures as scientific objects.

Theoretical-Practice Component

Development of small experiments: development of programs and use of simulation workbenches; critical analysis of results; confrotation with empirical results.

Bibliography

Nigel Gilbert and Klaus Troitzsch (1999). Simulation for the Social Scientist. Open University Press, UK.

Vanessa Stevens Collella, Eric Klopfer and Mitchell Resnick, Adventures in Modeling. Teachers College Press, New York, USA.

Other study elements
Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Distributed Systems
CodeSymbolAreaURL

26730

SD

OSC

http://mocho.di.fc.ul.pt/p/SD
Objectives

This course introduces and studies a wide set of topics related to the area of distributed systems

Study plan
Theoretical Component

Concepts and architectures for distributed systems; Client-server model; Distributed communication (RPC, RMI, Message Queues, and Groups); Code migration and agents; Distributed protocols (Clocks, Election, Checkpointing); Distributed transactions; Replication and data consistency; Fault tolerance; Distributed file systems; Introduction of security

Theoretical-Practice Component

Studies how to implement communication in distributed systems through the socket interface. Gives also an introduction to XDR.

Bibliography

A. Tanenbaum, M. van Steen, Distributed Systems: Principles and Paradigms, 2nd edition, Prentice Hall, 2007

Other study elements
Evaluation Method

Three programming projects (40%) and a final exam (60%).

Teaching Language

Portuguese

Department

Dep. de Informática

Precedences
    None
Embedded and Real-Time Systems
CodeSymbolAreaURL

425209

SETR

OSC

http://mocho.di.fc.ul.pt/p/SETR
Objectives

The course intends that the student acquires experience with specific problems of embedded and real-time systems, with emphasis on models of distributed computing in industrial systems. Architectural aspects, the specificity of networking and operating systems, and typical applications are some of the issues addressed.

Study plan
Theoretical Component

1) Paradigms for embedded and real-time systems: fundamentals of dependability and real-time; order and time in real-time systems; reliable communication in real-time systems; scheduling; clock synchronization; input/output; real-time system models; adaptive and QoS related models; 2) Technologies and architectures: industrial protocols (MAP/TOP, MMS); industrial networks and fieldbuses; real-time operating systems; SCADA, continuous and discrete control architectures; 3) Case studies

Theoretical-Practice Component

1) Embedded and real-time systems:
- Fieldbuses--- CAN, FlexRay
- Real-time kernels--- RTAI, RTEMS
- SCADA systems--- LabView

2) Practical projects
- The students will develop 2 projects. The first one will use the Cheddar scheduling simulator, and the second will serve to learn how to build real-time applications over a real-time kernel, using RTAI.

Bibliography

- P. Veríssimo and L. Rodrigues, Distributed Systems for System Architects, Kluwer Academic Publishers, 2001.

Other study elements

- H. Kopetz, Real-Time Systems, Kluwer Academic Publishers, 1997.
- Distributed Systems, 2nd Ed., Sape Mullender Ed., Addison-Wesley, 1993

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Hypermedia Systems
CodeSymbolAreaURL

425144

SH

SI

http://mocho.di.fc.ul.pt/p/SH
Objectives

The course aims at providing knowledge on Hypertext and Hypermedia. Hypermedia systems and applications are used nowadays in the most variable setting, either as a technology that enables access to specifics computing systems, or as complete functional systems. Its flexible nature raises a large set of problems at the analysis, design and development level that must be dealt with systematic and model-based approaches that, nevertheless, allows space for creativity. The course presents design and development methodologies, design-patterns, data models, languages, architectures, navigation and interaction-patterns and evaluation approaches specific for Hypermedia Systems. It also unfolds the area of Adaptive Hypermedia and correlates Hypermedia with specific Multimedia, Cooperative Work and Cognition representation topics.

Study plan
Theoretical Component

Hypertext and Hypermedia, Hypermedia Engineering, Methodologies for Hypermedia Design and Development, Hypermedia Data Models and Architectures, Navigation, Evaluation of Hypermedia Systems, Adaptive Hypermedia, Hypermedia & Multimedia, Hypermedia & Cognition, and Hypermedia & Cooperative Work.

Theoretical-Practice Component

Design and Development of a Hypermedia System, following one of the learned methodologies. The System should be characterized by a complex and heterogeneous information structure, targeted to a specific task, usage context and user group.

Bibliography

Gerti Kappel, Birgit Pröll, Siegfried Reich, Werner Retschitzegger, "Web Engineering", Wiley, 2006.
Jakob Nielsen, Designing Web Usability", New Riders Publishing, 2000.
David Lowe, Wendy Hall, "Hypermedia & the Web: An Engineering Approach", Wiley, 1999.
Jakob Nielsen, "Multimedia and Hypertext", Academic Press, 1995.
Selecção de artigos científicos.

Other study elements

Apresentações das aulas teóricas

Evaluation Method

Development of a pratical assignment, and oral presentation.
Studying, presentation and discussion of selected scientific papers.

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Multi-Agent Systems
CodeSymbolAreaURL

425146

SMA

MC

http://mocho.di.fc.ul.pt/p/SMA
Objectives

Agents, a general metaphor for interactions. Agent simulation for attacking complexity. Technologies, tools and techniques: organizational level, self-organization and complexity, trust and reputation, coordination, negotiation and communications, agent models and architectures, infrastructures and workshops, agent-based programming engineering, formal methods and interfaces. Electronic institutions and communities. Real applications: autonomous systems, semantic web, intelligent environments, ambient intelligence, service oriented computation, ubiquous and grid computing, peer-to-peer computing.

Study plan
Theoretical Component

Presentation of the discipline within the context of Computing, Cognitive and Complexity Sciences. Multi-agent Systems. State of the art of Distribute Artificial Intelligence. Global overview of the teaching, learning and evaluation. Bibliography.
Research at FCUL, ICC, LabMAg and GIA.

Theoretical-Practice Component

Practical Component

Environments for supporting multi-agent systems. Platforms, Workbenches: open and constrained solutions. Examples of applications (Einstein, NetLogo). Practical exercises with NetLogo. Building uo agents based upon behaviours.
Workbenches for more complex and heterogeneous agents. Examples of Aglets and OAA. Practical exercise with OAA. Agent communication with KQML/ICL/ACL. Examples with Corrêa´s architectures. Programming in JADE for distributing computing. Games with Player/Stage. Agents for controlling robots.
Methodologies for agent based programming engineering.

Bibliography

Bradshaw, J. M. (ed.) - Software Agents, AAAI Press/The MIT Press, 1998.

Brenner, W., Zarnekow, R. e Wittig, H. - Intelligent Software Agents, Foundations and Applications, Springer-Verlag, 1998.

Coelho, H. - Inteligência Artificial em 25 Lições, Fundação Calouste Gulbenkian, 1995.

Coelho, H. - Teoria da Agência: Arquitectura e Cenografia, Edição do Autor, 2008.
Ferber, J. - Les Systèmes Multi-Agents, Vers une Intelligence Collective, InterEditions, 1995.

Gilbert, D. et al. - The Role of Intelligent Agents in the Information Infrastructure, IBM, 1995. {http://activist.gpl.ibm.com:81/WhitePaper/ptc2.htm}

Green, S. e Hurst, L. - Software Agents: A Review, {http://www.cs.tcd.ie/research_group/aig/iag/}

Huhns, M. N. e Singh, M. P. - Readings in Agents, Morgan Kaufmann, 1998.

Jennings, N. R. - Cooperation in Industrial Multi-Agent Systems, World Scientific, 1994.

Jennings, N. R. e Wooldridge, M. - Agent Technology, Foundations, Applications and Markets, Springer-Verlag, 1998.

Labrou, Y. e Finn, T. - A Proposal for a new KQML Specification, Technical Report CS-97-03, February 1997. {http://www.cs.umbc.edu/kqml/}

Müller, J. P. - The design of Intelligent Agents, Springer-Verlag, 1997.

Nilsson, N. - Artificial Intelligence, A New Synthesis, Morgan Kaufmann, 1998.

O’Hare, G. M. P. e Jennings, N. R. - Foundations of Distributed Artificial Intelligence, John Wiley, 1996.

Russell, S. e Norvig, P. - Artificial Intelligence, a Modern Approach, Prentice-Hall, 1995.

Tecuci, G. - Building Intelligent Agents, An Apprenticeship Multistrategy Learning Theory, Methodology, Tool and Case Studies, Academic Press, 1998.

Wooldridge, M. – An Introduction to Multiagent Systems, John Wiley, 2002.

Other study elements
Evaluation Method

Individual presentation of a selected topic, Agent programming and General Exam.

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
Socio-Technical Systems
CodeSymbolAreaURL

425147

SST

SI

http://mocho.di.fc.ul.pt/p/SST
Objectives

Human Error has a very significant role in many accidents involving complex socio-technical systems, characterized by multiple risk factors, including technical, human and organizational. The development of complex systems must adopt specific methodologies allowing the identification and management of risk factors, mitigating their consequences when accidents occur, and complying with established requirements and standards. The main objective of this course is to understand the nature and complexity of socio-technical systems, acquire fundamental knowledge about human error, accidents, complex interactions leading to accidents and resilience. The course analyses and discusses different approaches developed within the engineering field to manage the impact of human factors in the occurrence of accidents in complex systems. The course is based on the study of accidents, such as nuclear power production or electronic voting systems. In a more applied perspective, the course leads students to apply this knowledge to the development of a complex socio-technical system.

Study plan
Theoretical Component

Socio-technical systems, definition and examples. Human error and incidents and accidents. System accidents. Interaction and coupling. Linear and complex interactions. System elements. Defenses, barriers and safeguards. Types of human error. Accident management. Retrospective and prospective systems analysis. Safety audits. Human risk management and methodologies. HERMES methodology. Models of cognition and their relationships with human error. Ethnographic approaches. Cognitive task analysis. Ecological approaches. Root cause analysis.

Theoretical-Practice Component

Bibliography

P. Cacciabue, 2004, Guide to Applying Human Factors Methods, Springer. Redmill, F. and J. Rajan, 1997, Human Factors in Safety-Critical Systems, Oxford, UK, Butterworth Heinemann. Reason, J., 2008, The Human Contribution: Unsafe Acts, Accidents and Heroic Recoveries, Surrey, England, Ashgate. Perrow, C., 1999, Normal Accidents, Living with High-Risk Technologies, Princeton, New Jersey, Princeton University Press. Vicente, K., 2004, The Human Factor: Revolutionizing the Way People Live with Technology. New York, Routledge. Hollnagel, E., D. Woods and N. Levenson, 2006, Resilience Engineering: Concepts and Precepts. Hampshire, England, Hashgate.

Other study elements
Evaluation Method

Project

Teaching Language

Pt/En

Department

Dep. de Informática

Precedences
    None
Organizations Sociology
CodeSymbolAreaURL

425148

SOC

CSH

http://mocho.di.fc.ul.pt/p/SOC
Objectives

Understanding of the nature and role role of organisations by means of the various theoretical approaches and their evolution. Highlight the social, cultural and human dimension in organisations and in entreprises more specifically, either from the internal proint of view or from its interaction with the outside world.

Study plan
Theoretical Component

Theoretical-Practice Component

Bibliography

Mary Jo Hatch & Ann L. Cunliffe, Organization Thory, 2nd Edition, Oxford University Press, 2006

Other study elements
Evaluation Method

Exam

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Software Reliability
CodeSymbolAreaURL

425149

SF

CTP

http://mocho.di.fc.ul.pt/p/SF
Objectives

This course aims to introduce the key formal methods that are currently used in the process of software development that support the verification of code or of the intermediary models. More traditional techniques s.a. testing will be also presented and the limitations and capabilities of the different methods will be analysed and compared. Furthermore, the students should develop hands-on skills with tools such as JML, ESC/Java2, and SPIN

Study plan
Theoretical Component

1 Software reliability systems
2 Deductive Program Verification
3 JML: The Java Modeling Language
4 ESC/Java2: The Extended Static Checker for Java
5 Model Checking

Theoretical-Practice Component

Bibliography

Doron Peled, Software Reliability Methods, Springer, 2001.
Mordechai Ben-Ari, Principles of the Spin Model Checker, Springer 2008
Gerard Holzmann, Spin Model Checker: Primer and Reference Manual, Addison Wesley, 2003

Other study elements

Overview research papers on JML and ESC/Java

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Advanced Interaction Techniques
CodeSymbolAreaURL

425151

TIA

SI

http://mocho.di.fc.ul.pt/p/TIA
Objectives

The main objective of this course is to present and discuss with students the concepts and the technology available for non traditional interaction with computers. Students will gain knowledge on the multiple modes available for interaction, including gesture, speech, brain and muscle activity waves, haptics, smell, body movement, etc, about the concepts that underline those modes, the software architectures and technology that support them, and its application as a way to augment and sometimes enable the communication between humans and machines. The theory and practices of the combination of modes into multimodal interfaces is also presented and discussed with students, as well as the advantages and disadvantages of this diversity. Interaction-mode alternatives and cooperation and its proximity with human to human language are examined and its application to cope with individuals’ with special needs or critical and constrained environments is considered. The intelligence and adaptation nature inherent to this kind of communication is deepened. Examples of its application to games, particularly physical interaction ones ( Wii/Eye-toy like), and critical healthcare and education software are provided and students are encouraged to build systems in these domains.

Study plan
Theoretical Component

Multimodal Intelligent and Adaptive User Interfaces; Architectures and Models for Advanced Interaction; Context-awareness in HCI; Universal Access and Accessibility; Ubiquitous Interfaces; Unusual Interaction Systems; Physical and Physiologic Interaction Games and Applications

Theoretical-Practice Component

Interactive systems with speech recognition and synthesis; Vision based interaction applications; Gesture, movement and facial expression recognition; Brain-computer Interaction; Using haptics, force, nose and other sensors for interaction; Augmented reality; Ubiquitous, multimodal, adaptive and context-aware systems; Web multimodalities; Games and Interaction; Interaction in critical systems; Interactive systems for elderly, children and other individuals with special needs.

Bibliography

Maybury Wahlster. Intelligent User Interfaces, 2nd Edition. Sage, 1998;
John M. Carroll (Eds) Human-Computer Interaction in the New Millennium, ACM Press, 2001;
Proceedings of the IEEE, Special Issue on Human–Computer Multimodal Interface, Vol. 91, N. 9, Setembro de 2003;
Communications of the ACM, Março de 2000 e de 2003.

Other study elements

José del R. Millán, "ADAPTIVE BRAIN INTERFACES", COMMUNICATIONS OF THE ACM March 2003/Vol. 46, No. 3;
Tracy Westeyn, Helene Brashear, Amin Atrash, and Thad Starner. Georgia Tech Gesture Toolkit: Supporting Experiments in Gesture Recognition. ICMI’03, November 5–7, 2003, Vancouver, British Columbia, Canada;
John Paulin Hansen, Kristian Tørning, Anders Sewerin Johansen, Kenji Itoh, Hirotaka Aoki. Gaze typing compared with input by head and hand. Proceedings of the Eye tracking research & applications symposium on Eye tracking research & applications. March 2004;
W.K. Teo, Liyanage C De Silva and Prahlad Vadakkepat. "Facial Expression Detection and Recognition System". Journal of The Institution of Engineers, Singapore. Vol. 44 Issue 3 2004 ;
...

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Tecnologias de Bases de Dados
CodeSymbolAreaURL

425152

TBD

SI

http://mocho.di.fc.ul.pt/p/TBD
Objectives

The course presents the concepts and technologies of database management systems, with emphasis on relational databases. Database management systems are one of the most complex and employ many of the basic concepts in computer science. Many of the used techniques and solutions are prevalent in the development of other systems and computer applications. The
course dissects the innings of a database engine illustrating how it applies many of the essential notions from the basic courses in informatics, from logic and algorithms to operating systems and software engineering.

Study plan
Theoretical Component

Physical data organization and access methods. Query processing and optimization. Transctions, concurrency
control, integrity, and recovery. Information security in database management systems. Architecture of client-server applications and development methods. Performance tunning. Parallel and distributed databases.

Theoretical-Practice Component

Bibliography

Raghu Ramakrishan e Gehrke J., Database Management Systems, McGraw-Hill, 3ª edição, ISBN 0072465638

Other study elements

[Gray] Jim Gray e Andreas Reuter, Transaction Processing: Concepts and Techniques, Morgan Kaufmann, 1993, ISBN 1558601902;
[Steven] Steven Feuerstein, Oracle PL/SQL Programming, O'Reilly, 3ª edição, 2002, ISBN 0596003811;
[Gurry] Mark Gurry e Peter Corrigan, Oracle Performance Tuning, O'Reilly, 2ª edição, 1996, ISBN 1565922379;
[Navathe] Shamkant B. Navathe e Ramez E. Elmasri, Fundamentals of Database Systems, Addison Wesley, 3ª edição, 1999, ISBN 0201542633;
[Melton] Jim Melton e Alan R. Simon, Understanding the New SQL: a Complete Guide, Morgan Kaufmann, 1992, ISBN 1558602453;

Teaching Method

A generic database server is dissected in the lectures throughout the semester,

In the practical classes, students develop and tune an application that must process a pre-specified load.

Evaluation Method

Class Project (35%) + 2 Midterms (27,5% + 27,5%) + class participation (10%)

or


Class project (35%) + final exam (55%) + class participation (10%)

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Middleware Technologies
CodeSymbolAreaURL

425153

TM

OSC

http://mocho.di.fc.ul.pt/p/TM
Objectives

Middleware is the generic designation of the software systems placed between the applications and the operating systems. The goal of middleware is to facilitate the development of distributed applications and the integration of legacy systems.

The course presents different algorithms, protocols and frameworks that have been used at the middleware level. It covers middleware technologies for different applications (point-to-point, multicast and broadcast) and execution environments (wired, wireless and hybrid networks).

Study plan
Theoretical Component

Study of different middleware technologies such as: peer-to-peer networks, distributed hash tables, gossip, protocol composition frameworks, publish-subscribe, service discovery and web services. Whenever possible, a link between different requirements and implementation techniques for wired and wireless networks will be established.

Theoretical-Practice Component

Analysis of concrete middleware products. Application development.

Bibliography

Artigos e capítulos de livros disponibilizados pelo docente na página web da cadeira.

Other study elements
Teaching Method

Exposition of the concepts with presentations from both the teacher and the students. Study of the middleware products documentation and labs experiments of middleware products.

Evaluation Method

Students presentation, application prototype development and reports. Alternative: final examination.

Teaching Language

The lectures will be in English if there are non Portuguese students registered. Otherwise, lectures will be in Portuguese.

Department

Dep. de Informática

Precedences
    None
Security Technology
CodeSymbolAreaURL

425154

TS

OSC

http://mocho.di.fc.ul.pt/p/TS
Objectives

This course addresses a set of advanced topics related with the development of secure distributed systems, namely: symmetric and public-key cryptography, authentication protocols and secure communication protocols.

Study plan
Theoretical Component

  1. Symmetric ciphers (AES, DES)
    # Public-key encryption and hash functions (MD5,SHA,RSA)
    # Authentication Protocols (Kerberos, RADIUS)
    # Public-Key Infrastructure (PKI)
    # Secure communication in open systems (IPsec, SSL/TLS, S/http, IEEE 802.11 and Bluetooth);
    # Secure electronic mail (Secure MIME, PGP)
    # Secure electronic transactions (SET, E-Cash, Millicent)
    # Intrusion Detection
    # Virus Detection

Theoretical-Practice Component

  1. Symmetric ciphers (AES, DES)
    # Public-key encryption and hash functions (MD5,SHA,RSA)
    # Authentication Protocols (Kerberos, RADIUS)
    # Public-Key Infrastructure (PKI)
    # Secure communication in open systems (IPsec, SSL/TLS, S/http, IEEE 802.11 and Bluetooth);
    # Secure electronic mail (Secure MIME, PGP)
    # Secure electronic transactions (SET, E-Cash, Millicent)
    # Intrusion Detection
    # Virus Detection

Bibliography
  1. W. Stallings, Cryptography and Network Security, Principles and Practice (Fourth Edition), Prentice Hall, November 2005
    # D. R. Stinson, Cryptography, Theory and Practice (Third Edition), Chapman & Hall/CRC, 2006
    # C. Kaufman, R. Perlman, M. Speciner, Network Security: Private Communication in a Public World (Second Edition), Prentice Hall, April, 2002.
Other study elements
  1. B. Schneier, Applied Cryptography (Second Edition), John Wiley & Sons, 1996
    # C. Adams, S. Lloyd, Understanding Public-Key Infrastructure: Concepts, Standards, and Deployment Considerations (Second Edition), MacMillan Technical Publishing, November, 2002
    # D. O´Mahony, M. Peirce, H. Tewari, Electronic Payment Systems for E-Commerce (Second Edition), Artech House Computer Security Series, 2001
    # S. Northcutt, Network Intrusion Detection: An Analyst’s Handbook, New Riders Publishing, 1999
    # S. Northcutt et al, Inside Network Perimeter Security, News Riders Publishing, 2003
Evaluation Method

10% - Homeworks
40% - Project & Class participation
50% - Final exam

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
Ambient Intelligence Technologies
CodeSymbolArea

425211

TAID

OSC

Objectives

This course addresses the technological aspects of ambient inteligence and pervasive computing, including availability of increasingly ubiquous computing resources making information access and processing easily available for everyone from anywhere at any time.

Together with the fundamental concepts this course addresses in detail the technological aspects of ambient intelligence and pervasive computing in dynamic environments: computational platforms and embedded devices; operating systems; networks and sensor networks; identification devices, etc.

Study plan
Theoretical Component

Fundamental concepts in ambient inteligence and pervasice computing: decentralization; diversity; connectivity. Paradigms and models for dynamic adaptation in ambient intelligence. Context-awareness. Technologies for ambient
intelligence. Platforms and embedded devices. Identification devices. Sensors and actuators. Operating systems. Security and energy management. Communication and localization technologies. Wireless and sensor networks. Services. Position and location based services. Context-awareness and adaptation. Integration with
information technologies.

Theoretical-Practice Component

Technologies for ambient intelligence. Platforms and embedded devices. Identification devices. Sensors and actuators. Operating systems. Security and energy management. Communication and localization technologies. Wireless and sensor networks

Bibliography

Pervasive Computing: The Mobile World U. Hansmann, L. Merk, M.S. Nicklous, T. Stober. 2nd ed., 2003, Springer Professional Computing. ISBN: 978-3-540-00218-5

Other study elements

Ambient Intelligence W. Weber; J.M. Rabaey; E. Aarts, E. (Eds.) 2005, Springer. ISBN: 978-3-540-23867-6
Ambient Intelligence: Impact on Embedded System Design T. Basten; M. Geilen; H. Groot (Eds.) 2004, Springer. ISBN: 978-1-4020-7668-8

Teaching Method

Theoretical lectures: the method is based on presentations by the teacher, complemented when appropriate with other elements such as small video clips related with topics under study, etc. This aims to stimulate the students interest and discussion in the classroom.

Theorectical Pratical Lectures and Laboratory: realization of exercicies from a previously published guide. Use of interactive methods stimulate discussion of primary and alternative solutions for the presented problems.

Evaluation Method

Semester work/project assignments. Final exam.

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Information Theory and Dynamical Systems
CodeSymbolArea

425156

TISD

CTP

Objectives

Dynamical description of systems, namely for information production.
Through a dynamical-probabilistic approach, the student should be able to
apply Information Theory concepts to the efficient processing of messages
and files. The complex behavior of natural and artificial systems is also
studied.

Study plan
Theoretical Component

The concepts of entropy and information; symbols and meaning; statistical
aspects of theoretical models and of natural languages; ergodic information
sources. Channel capacity; redundancy; information transmission in faulty
systems. Coding and its applications to message compression and error
recovery.
Notion of dynamical system; phase space; discrete vs. continuous dynamical
systems. Invariant solutions; state stability; bifurcation theory;
attractors. Interval maps; symbolic dynamics; chaos.
Self-organization vs. central control; emergent behavior; cellular automata;
computability and complexity issues; self-reproducing automata.

Theoretical-Practice Component

The concepts of entropy and information; symbols and meaning; statistical
aspects of theoretical models and of natural languages; ergodic information
sources. Channel capacity; redundancy; information transmission in faulty
systems. Coding and its applications to message compression and error
recovery.
Notion of dynamical system; phase space; discrete vs. continuous dynamical
systems. Invariant solutions; state stability; bifurcation theory;
attractors. Interval maps; symbolic dynamics; chaos.
Self-organization vs. central control; emergent behavior; cellular automata;
computability and complexity issues; self-reproducing automata.

Bibliography

J. R. Pierce, An Introduction to Information Theory -- Symbols, Signals and Noise, Dover, 1980.

C. E. Shannon & W. Weaver, The Mathematical Theory of Communication, University of Illinois Press, 1963.

D. Kaplan & L. Glass, Understanding Nonlinear Dynamics, Springer-Verlag, 1995.

D. Peak & M. Frame, Chaos Under Control, Freeman, 1994.

R. L. Devaney, A First Course in Chaotic Dynamical Systems, Addison-Wesley, 1992.

S. Kauffman, At Home in the Universe -- The Search for Laws of Complexity, Oxford University Press, 1995.

T. M. Cover & J. A. Thomas, Elements of Information Theory, John Wiley & Sons, 1991.

K. Sayood, Introduction to Data Compression, Morgan Kaufman, 2000.

Other study elements

C. Lourenço, cópias dos acetatos das aulas teóricas.

C. Lourenço, séries de exercícios para as aulas teórico-práticas.

Teaching Method

Classroom lectures.

Evaluation Method

Final exam and/or computer project.

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Distributed Fault Tolerance
CodeSymbolAreaURL

425157

TFD

OSC

http://mocho.di.fc.ul.pt/p/TFD
Objectives

The increasing usage of distributed systems in a number of applications raises two problems: i) the increasing number of components of the system raise concerns about their reliability; ii) the geographical distribution raises interesting possibilities of multi-host replication. The course introduces the concept of distributed fault tolerance, which makes use of several interconnected hosts to replicate software components in a less expensive and more flexible way than with dedicated hardware. The course addresses concepts, methodologies and mechanisms to build reliable networked systems.

Study plan
Theoretical Component

Basic abstractions of distributed systems. Notion of process, distributed computation, link and temporal abstractions. Distributed systems models. Reliable broadcast and shared memory algorithms. Consensus and its applications.

Theoretical-Practice Component

Development of reliable applications using middleware frameworks. Practical applications and development of variation of the algorithms studied in the theoretical courses.

Bibliography

Introduction to Reliable Distributed Programming
Guerraoui, Rachid, Rodrigues, Luís
2006. ISBN: 978-3-540-28845-9

Other study elements

Manuais da moldura de suporte ao desenvolvimento de aplicações tolerantes a faltas Appia. Guiões das aulas teórico-práticas dispnibilizados na página web.

Teaching Method

Theoretical classes try to stimulate the involvement of the students by cooperatively devising algorithms that address the problems raised in the beginning of the class. In practical classes, students are invited to individual solve problems presented at the beginning of the class and to discuss their solution with the peers.

Evaluation Method

Final exam to evaluate theoretical knowledge. Blind review of reports made by other students. Development of a fault-tolerant application using a support framework.

Teaching Language

The lectures will be in English if there are non Portuguese students registered. Otherwise, lectures will be in Portuguese.

Department

Dep. de Informática

Precedences
    None
Computer Supported Cooperative Work
CodeSymbolArea

425158

TCO

SI

Objectives

This course is intended to provide fundamental theorethical and practical knowledge about the CSCW (Computer Supported Cooperative Work) scientific area. The type of systems addressed by this course integrates and uses fundamental notions about distributed systems, multimedia systems and human-computer interaction; thus achieving a high level of synergy with other topics addressed by the Degree in Informatics. The course is organized in the following thematic blocks: fundamental properties of CSCW systems, CSCW support technologies, coordination, work processes and workflow, and decision processes

Study plan
Theoretical Component

CSCW, Group Interaction, Information Sharing, Cooperative Architectures. Coordination and Colaboration. Workflows, Group decision and negotiation support. Electronic meetings.

Theoretical-Practice Component

Techniques for Multiuser interfaces. Group interaction, coordination and collaboration software. Workflow, group decision and negotiation systems.

Bibliography

P. Antunes, Groupware: Conceitos Fundamentais e Caracterização dos Principais Blocos Construtivos, Faculdade de Ciências da Universidade de Lisboa, DI-FCUL-TR-02-16, 2002.
Michel Beaudoin-Lafon. Computer Supported Co-operative Work. Wiley, 1999.



Other study elements

S. Khoshafian, M. Buckiewicz. Introduction to Groupware, Workflow and Wourkgroup Computing, John Wiley & Sons, 1995.
U. Borghoff, J. Schlichter. Computer Supportted Cooperative Work. Springer, 2000.
I. Greif (ed.). Computer Supported Cooperative Work: A Book of Readings. Morgan Kaufmann Publishers Inc, 1988.
R. baecker (ed.), Readings in Groupware and CSCW, Morgan Kaufmann Publishers Inc, 1993.

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
Software Verification and Validation
CodeSymbolArea

425159

VVS

CTP

Objectives

To design, analyze and execute a software verification and validation (V&V) plan for a software project. Examining the project's particularities; planning a V&V strategy that includes a selection of different techniques, the monitoring of the progress of the V&V activity, and the assessment of the plan and the techniques used.

Study plan
Theoretical Component

Testing as an engineering activity;
Fundamentals of Software Testing;
Defect, hypothesis, and tests;
Strategies and methods for test case design;
Levels of testing;
Test goals, policies, plans, and documentation;
The test organization;
Controlling and monitoring the testing process.

Theoretical-Practice Component

Testing as an engineering activity;
Fundamentals of Software Testing;
Defect, hypothesis, and tests;
Strategies and methods for test case design;
Levels of testing;
Test goals, policies, plans, and documentation;
The test organization;
Controlling and monitoring the testing process.

Bibliography

Practical Software Testing. Ilene Burnstein. Springer 2003. ISBN: 0-387-95131-8.

Other study elements

Software Testing, second edition. Ron Patton. Sams Publishing 2006. ISBN 0-672-32798-8

Evaluation Method

Three assigments: 7.5 points.
Exam: 12.5 points

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Artificial Life
CodeSymbolAreaURL

425160

VA

MC

http://mocho.di.fc.ul.pt/p/VA
Objectives

Exposure to processing models based on emergent properties of multiple elements. Contact with the main perspectives of computation inspired on biological systems. Acquisition of capacity to consider self-organised systems as a viable solution to complex problems.

Study plan
Theoretical Component

Introduction to Artificial Life and self-organised systems. Dynamical complex systems. Cellular automata. Evolutionary algorithms. Artificial Immune Networks. Swarm algorithms. Simulation of adaptive behaviour - mobile robots, multi-agents. Other topics - Virus and Worms, Re-writing systems and Morphogenesis, Algorithmic Chemistry. Evolutionary modelling of socio-economical systems

Theoretical-Practice Component

not applicable

Practical Component

Problems and discussion in class. Assignments extra class

Bibliography

Christopher Langton ed., Artificial Life: An Overview, MIT Press, 1995.
Mitchell, M., An Introduction to Genetic Algorithms, MIT Press, 1996.
R.C. Arkin, Behavior-Based Robotics, MIT Press, 1998
Leandro N. de Castro and Jonathan Timmis. Artificial Immune Systems: A New Computational Intelligence Approach, Springer, 2002
Correia, L., Vida Artificial, monografia, 2005

Other study elements

indicados elementos específicos para cada capítulo da cadeira

Teaching Method

Lectures in theoretical classes.
Presentation of demos and discussion, in practical classes.
Small research assignments about specific topics, extra-classes.

Evaluation Method

80% Final assignment + 20% Lightning test (20 questions in 20 minutes, multiple choice)

Teaching Language

Portuguese or English as necessary

Department

Dep. de Informática

Precedences
    None
Visualization
CodeSymbolAreaURL

425161

VIS

MC

http://mocho.di.fc.ul.pt/p/VIS
Objectives

Study of visualization techniques, in both the Scientific Visualization and the Information Visualization domains.

Study plan
Theoretical Component

Scientific Visualization: types of data structures; scalar, vector and tensor algorithms. Information visualization: selection, filtering and choice of representation; distorted views; most popular visualization paradigms.

Theoretical-Practice Component

Autocad Map 3D and the Visualization Toolkit (vtk) are used in laboratory classes and project work

Bibliography

Will Schroeder, Ken Martin and Bill Lorensen, The Visualization Toolkit, 3rd edition, Kitware, 2004
S. Card, J. Mackinlay, B. Shneiderman, Readings in Information Visualization - Using Vision to think, Morgan Kaufmann, 1999
Robert Spence “Information Visualization: design for interaction”, 2007

Other study elements

guiões das aulas

Teaching Method

Teaching lessons including lab classes

Evaluation Method

Two projects and an exam or two test replacing the exam

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None