Personal tools

Informatics Engineering (MSc) - Course Units

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

Jump to: navigation, search
Animation and Virtual Environments
CodeAcronym

425109

AAV

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)

Syllabus
Lectures

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

Practice Sessions

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

Reading List

"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 Readings

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

Teaching Method

Teaching lessons including lab classes

Assessment

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
CodeAcronymURL

425110

AW

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

The course presents, from an integrated perspective, several topics on the architecture of modern web applications, spanning protocols (HTTP), formats (XML) and services (SOA/REST/SOAP), the Semantic Web and Web 2.0. It gives an introduction to new interaction, communication and monetization models for web applications, with emphasis on the information selection model based on the information retrieval paradigm. Digital libraries, multimedia information handling based on the composition of distributed services, and information classification models based on meta-data and folksonomies are discussed. Finally, the course introduces methods for digital rights management and protection of information downloaded from the Web and charging for their use, as well as online payment services. The persentiation of these technologies is made in the context of their application to the contents publishing industry.

Syllabus
Lectures

1. Enterprise Service Bus: Service-Oriented Architectures. Logic Architecture of applications. Model-View-Controller. 2. WebServices: SOAP and REST. 3. Web Architecture: HTTP; XML Infoset; XSD; SAX and DOM; XPATH, XSL,XQuery. 4. Architecture of the Semantic Web. 5. Web 2.0. AJAX. JSON. Mashups. 6. Perspectives on the future of the Web: da Web 3.0, immersive Web and Web of things. 7. RDF. Description Logics. Ontologies. OWL. SPARQL. 8. Information Retrieval: concepts and principles; models; systems; evaluation. 9. E-commerce. Charging for Information. Web payment systems (MBNET/Paypal). Micro-payments. 10. Digital watermarks. Digital rights expression and management (DRM). XrML. Copyright law in the digital age. Fair Use. FairPlay.

Practice Sessions

Examples of implemented SOAP and RESTful webservices.

Use and integration of webservices. Example mashups.

Laboratory

Analysis, Design and Construction of RESTful Webservice.

Analysis, Design and Construction of a AJAX mashup

Reading List

• Christopher D. Manning, Prabhakar Raghavan and Hinrich Schütze, Introduction to Information Retrieval, Cambridge University Press. 2007 (módulo sobre busca de informação) • Artigos na wikipédia, tutoriais online, documentação em sítios web • Mário J. Silva, Slides das aulas teóricas de Aplicações na Web, edição em 2 volumes do Departamento de Informática da FCUL.

Other Readings
Teaching Method

the class project involves the development of a web service interfacing a database management system + a mashup combining that webservice with others available from the Web, and showcasing an highly interactive user interface (AJAX).

Assessment

Class Project (35%) + 2 tests (27,5% + 27,5%) + class participation (10%) or Project (35%) + exam (55%) + class participation (10%.

Teaching Language

Portuguese

Department

Dep. de Informática

Precedences
    None
Machine Learning
CodeAcronymURL

425216

AP

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

The aim of this course is to study different paradigms and methods for machine learning.

Syllabus
Lectures

- Introduction to the different paradigms of machine learning. - Induction of decision trees. - Instance based learning. - Clustering. - Reinforcement learning. - Bayesian learning. - Learning sets of rules and inductive logic programming.

Practice Sessions

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

Reading List

- 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 Readings

- notas de apoio às aulas teóricas

Teaching Method

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

Assessment

Short assignments solved at home, one project and a final exam

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
Advanced Artificial Intelligence
CodeAcronymURL

425112

CIA

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.

Syllabus
Lectures

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

Practice Sessions

Reading List
  • Artificial Intelligence: A Modern Approach (2nd Edition)
by Stuart J. Russell, Peter Norvig.
  • Programming Game AI by Example
by Mat Buckland.



Other Readings
  • 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
CodeAcronymURL

425113

CM

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

Syllabus
Lectures

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.

Practice Sessions

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

Reading List

Compilação de artigos

Other Readings
Teaching Method

Theoric lectures and laboratory practices.

Assessment

Project + Exam + Class work

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
Parallel Computing
CodeAcronymURL

425114

CP

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)

Syllabus
Lectures

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

Practice Sessions

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.

Reading List

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

Other Readings

- 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.

Assessment

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
CodeAcronym

425115

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.

Syllabus
Lectures

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

Practice Sessions

Management and configuration tools. The SNMP model and protocol.

Reading List

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 Readings

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
CodeAcronym

425116

DAA

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.

Syllabus
Lectures

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

Practice Sessions

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

Reading List

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

Other Readings

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.

Assessment

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
CodeAcronym

425117

DS

Objectives
Syllabus
Lectures

Practice Sessions

Reading List

[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 Readings

[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 da área

Teaching Language
Department

Dep. de Informática

Precedences
    None
Agent-Oriented Software Engineering
CodeAcronymURL

425119

ESBA

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.

Syllabus
Lectures

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.

Practice Sessions

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

Reading List

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 Readings

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.
Assessment

Project and exam.

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
Organizations Structure and Management
CodeAcronym

425120

EGO

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.

Syllabus
Lectures

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

Practice Sessions

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

Reading List

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 Readings
Teaching Method

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

Assessment

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

Teaching Language

Portuguese

Department

Dep. de Informática

Precedences
    None
Project Management
CodeAcronymURL

425122

GP

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

Syllabus
Lectures

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

Practice Sessions

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

Reading List

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 Readings
Teaching Method

Exposition classes Laboratoy classes with use of specific project management tools

Assessment

Ellaboration of a Project over a specific subject Exam

Teaching Language

Portuguese

Department

Dep. de Informática

Precedences
    None
Knowledge Management
CodeAcronym

425123

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.

Syllabus
Lectures

- 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

Practice Sessions

- 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

Laboratory

none

Reading List

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 Readings
Teaching Method

Theoretical and theoretical-practical classes

Presentation of the final work by students
Assessment

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
CodeAcronym

425124

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.

Syllabus
Lectures

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

Practice Sessions

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

Reading List

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 Readings

Informação fornecida pelo docente

Teaching Method

Exposition classes Laboratory exercises using specific tools

Assessment

Course project Exam

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
Artificial Intelligence for Games
CodeAcronymURL

425205

IAJ

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.

Syllabus
Lectures

Practice Sessions

Reading List

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 Readings

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
CodeAcronym

425125

ILN

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.

Syllabus
Lectures

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.

Practice Sessions

Reading List

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 Readings
Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
Interactive Games
CodeAcronym

425126

JI

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

Syllabus
Lectures

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

Practice Sessions

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

Reading List

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 Readings

Documentação fornecida pelo docente

Teaching Method

Exposition classes Laboratory classes where specific tools are used

Assessment

Project and implementation of a computer game

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Multimedia
CodeAcronymURL

425128

MM

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.

Syllabus
Lectures

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.

Practice Sessions

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.

Reading List

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 Readings

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

Assessment

project exam participation in class

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
Neurodynamics
CodeAcronym

425129

ND

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.

Syllabus
Lectures

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.

Practice Sessions

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.

Reading List

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 Readings

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

Teaching Method

Classroom lectures.

Assessment

Programming projects.

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Natural Language Processing
CodeAcronym

425130

PLN

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

Syllabus
Lectures

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.

Practice Sessions

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.

Reading List

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 Readings

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
CodeAcronymURL

425132

PSD

http://mocho.di.fc.ul.pt/p/PSD
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.

Syllabus
Lectures

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

Practice Sessions

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

Reading List

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 Readings

Distributed Systems, 2nd Ed., Sape Mullender Ed., Addison-Wesley, 1993

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

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

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
Data Mining and Knowledge Discovery
CodeAcronymURL

425133

PDI

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.

Syllabus
Lectures

- 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

Practice Sessions

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.

Reading List

- 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 Readings

- 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.

Assessment

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
CodeAcronymURL

425134

PRD

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.

Syllabus
Lectures

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.

Practice Sessions

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

Reading List

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

Other Readings

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.

Assessment

Test and Projects

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
Software Quality
CodeAcronymURL

425135

QS

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.

Syllabus
Lectures

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.

Practice Sessions

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

Reading List

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

Other Readings

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

Assessment

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


Teaching Language

Portuguese

Department

Dep. de Informática

Precedences
    None
Multimedia Pattern Recognition
CodeAcronym

425136

RPM

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.

Syllabus
Lectures

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

Practice Sessions

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

Laboratory

project

Reading List

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

Other Readings

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

Assessment

project

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Speech Recognition and Synthesis
CodeAcronym

425137

RSF

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.

Syllabus
Lectures

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

Practice Sessions

Speech processing software packages evaluation VoiceXML systems evaluation

Laboratory

project

Reading List

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

Other Readings

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

Teaching Method

class + discussion of project deliveries + labs

Assessment

project

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Text Mining and Retrieval
CodeAcronym

425138

RPT

Objectives
Syllabus
Lectures

Practice Sessions

Reading List

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 Readings
Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Mobile Networks
CodeAcronym

425207

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.

Syllabus
Lectures

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. Security.

Practice Sessions

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

Reading List

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 Readings
Assessment

Test and projects

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
Neural Networks
CodeAcronymURL

425140

RN

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.

Syllabus
Lectures

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.

Practice Sessions

Solving illustrative problems and use of NN tools

Laboratory

not applicable

Reading List

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 Readings

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

Assessment

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
CodeAcronymURL

425208

ROBM

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.

Syllabus
Lectures

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

Practice Sessions

not applicable

Laboratory

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.

Reading List

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 Readings

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.

Assessment

80% Practical work + 20% Quiz test

Teaching Language

Portuguese or English, if necessary

Department

Dep. de Informática

Precedences
Software Security
CodeAcronymURL

425141

SeS

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.

Syllabus
Lectures

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

Practice Sessions

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

Reading List
  • J. Viega, G. McGraw, Building Secure Software, Addison-Wesley, 2002.
  • M. Howard, D. LeBlanc, Writing Secure Code, 2nd edition, Microsoft Press, 2003.
Other Readings
  • 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
Assessment

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
CodeAcronym

425143

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.

Syllabus
Lectures

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.


Practice Sessions

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

Reading List

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 Readings
Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Embedded and Real-Time Systems
CodeAcronymURL

425209

SETR

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.

Syllabus
Lectures

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

Practice Sessions

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.

Reading List

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

Other Readings

- 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
CodeAcronymURL

425144

SH

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.

Syllabus
Lectures

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.

Practice Sessions

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.

Reading List

Selecção de artigos científicos. David Lowe & Wendy Hall, "Hypermedia & the Web: An Engineering Approach", Wiley, 1999. Jakob Nielsen, "Multimedia and Hypertext", Academic Press, 1995.

Other Readings

Apresentações das aulas teóricas

Assessment

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
CodeAcronymURL

425146

SMA

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.

Syllabus
Lectures

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.

Practice Sessions

Laboratory

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.

Reading List

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 Readings
Assessment

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
CodeAcronymURL

425147

SST

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

Practice Sessions

Reading List
Other Readings
Teaching Language
Department

Dep. de Informática

Precedences
    None
Organizations Sociology
CodeAcronymURL

425148

SOC

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.

Syllabus
Lectures

Practice Sessions

Reading List

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

Other Readings
Assessment

Exam

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Software Reliability
CodeAcronym

425149

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 the model-checking tool SPIN

Syllabus
Lectures

1 Logic and Automatic Theorem Prooving 2 Modelling of Software Systes 2.1 Sequential systems/ reactive systems/ concurrent systems 2.2 Non determinism 2.3 Fairness 3 Formal specification 3.1 Linear Temporal Logic 3.2 Buchi Automata 3.3 Safety and livenss propoerties 4 Automatic Verification (explicit-states based) 4.1 Automata 4.2 Model Checking 4.3 Use of abstractions 4.4 Static Analysis 4.5 Model extraction 5 Deductive Verification 5.1 Axiomatic verification for Sequential Systems 5.2 Deductive Verification for Concurrent Systems 6 Testing

Practice Sessions

Reading List

Doron Peled, Software Reliability Methods, Springer-Verlag, 2001. Gerard Holzmann, Spin Model Checker: Primer and Reference Manual, Addison Wesley, 2003

Other Readings
Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Advanced Interaction Techniques
CodeAcronym

425151

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.

Syllabus
Lectures

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

Practice Sessions

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.

Reading List

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 Readings

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
CodeAcronymURL

425152

TBD

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.
Syllabus
Lectures

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.

Practice Sessions

Reading List

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

Other Readings

[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.

Assessment

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
CodeAcronymURL

425153

TM

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).

Syllabus
Lectures

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.

Practice Sessions

Analysis of concrete middleware products. Application development.

Reading List

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

Other Readings
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.

Assessment

Students presentation, application prototype development and 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
CodeAcronymURL

425154

TS

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.

Syllabus
Lectures

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

Practice Sessions

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

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

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

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
Ambient Intelligence Technologies
CodeAcronym

425211

TAID

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.

Syllabus
Lectures

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.

Practice Sessions

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

Reading List

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 Readings

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.

Assessment

Semester work/project assignments. Final exam.

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Information Theory and Dynamical Systems
CodeAcronym

425156

TISD

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.

Syllabus
Lectures

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.

Practice Sessions

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.

Reading List

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 Readings

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.

Assessment

Final exam and/or computer project.

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Distributed Fault Tolerance
CodeAcronymURL

425157

TFD

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.

Syllabus
Lectures

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.

Practice Sessions

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

Reading List

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

Other Readings

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.

Assessment

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
CodeAcronym

425158

TCO

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

Syllabus
Lectures

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

Practice Sessions

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

Reading List

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 Readings

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
CodeAcronym

425159

VVS

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.

Syllabus
Lectures

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.

Practice Sessions

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.

Reading List

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

Other Readings

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

Assessment

Three assigments: 7.5 points. Exam: 12.5 points

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None
Artificial Life
CodeAcronymURL

425160

VA

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.

Syllabus
Lectures

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

Practice Sessions

not applicable

Laboratory

Problems and discussion in class. Assignments extra class

Reading List

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 Readings

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.

Assessment

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
CodeAcronym

425161

VIS

Objectives

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

Syllabus
Lectures

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.

Practice Sessions

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

Reading List

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 Readings

guiões das aulas

Teaching Method

Teaching lessons including lab classes

Assessment

Two projects and an exam or two test replacing the exam

Teaching Language

Portuguese or English

Department

Dep. de Informática

Precedences
    None