Publicações Pedagógicas
Pedagogical Publications
Lógica e Raciocínio (1ª edição)
A Lógica é uma das bases do pensamento científico. O raciocínio lógico está subjacente às mais diversas áreas do conhecimento, por exemplo biologia, direito, medicina, economia e informática. Em cada uma destas áreas existe a preocupação de diferenciar entre argumentos racionais, baseados em princípios ou em evidências, de especulações que não resultam de um conjunto de suposições. Ou seja, todas as áreas do conhecimento se baseiam nos princípios subjacentes à Lógica. | |
Machine Learning - A Journey to Deep Learning: With Exercises and Answers Machine Learning – A Journey to Deep Learning, with Exercises and Answers is designed to give the self-taught student a solid foundation in machine learning with step-by-step solutions to the formative exercises and many concrete examples. By going through this text, readers should become able to apply and understand machine learning algorithms as well as create new ones. The main parts of the book address linear and nonlinear regression, supervised learning, learning theory, feature extraction and unsupervised learning. The statistical approach leads to the definition of regularization out of the example of regression. Building on regression, we develop the theory of perceptrons and logistic regression. The book investigate the relation between bias and variance as a consequence of a finite training sample set that is used in machine learning. Out of backpropagation, the authors develop the theory of convolutional networks and deep learning. During the development the authors introduce the RBF networks and support vector machines that indicate why neural networks with hidden nonlinear units can solve most problems. Throughout the book each chapter is finished with lecture notes that contain the core ideas presented in the chapter, as well as cover and go through technical issues that may have arisen, in detail. Each chapter also includes solved exercises that the reader would be able to learn from through practice. By going through the procedures in a pen and paper manner, the reader will develop a comfort and familiarity with the techniques that will become indispensable in future usage. | |
Principles of Quantum Artificial Intelligence: Quantum Problem Solving and Machine Learning (Second Edition) This unique compendium presents an introduction to problem solving, information theory, statistical machine learning, stochastic methods and quantum computation. It indicates how to apply quantum computation to problem solving, machine learning and quantum-like models to decision making — the core disciplines of artificial intelligence. Most of the chapters were rewritten and extensive new materials were updated. New topics include quantum machine learning, quantum-like Bayesian networks and mind in Everett many-worlds. | |
Programação em Python (4ª edição) Embora recente, o Python é uma das linguagens de programação mais populares do mundo, sendo utilizada na Google, Yahoo!, YouTube, Facebook, Walt Disney, Nokia, CERN e NASA, entre muitas outras organizações. Este livro apresenta uma introdução aos conceitos fundamentais da programação. O livro utiliza o Python como uma ferramenta para exprimir os conceitos introduzidos, sendo o seu objetivo o ensino de conceitos essenciais associados à programação, tais como o desenvolvimento de algoritmos utilizando o método do topo para a base, a utilização de estruturas de informação adequadas, a abstração procedimental e a abstração de dados, estratégias para teste e depuração e a documentação correta. Existem vários aspetos que fazem com que este livro se distinga de outros livros de introdução à programação: apresenta a atividade de programação como uma construção de abstrações, tanto de abstrações de procedimentos, como de abstrações de dados; discute a programação imperativa, a programação por objetos e a programação funcional; enfatiza a distinção entre a sintaxe e a semântica. Para dominar a tarefa de programação não basta saber falar com a linguagem (escrever programas), é também necessário saber falar sobre a linguagem (utilizando português ou outra linguagem como metalinguagem). Este aspeto é abordado ao longo de todo o livro; a metodologia para o desenvolvimento de tipos abstratos de informação é explicada em termos claros, e exemplos de tipos abstratos de informação são discutidos pormenorizadamente. | |
Segurança no Software (2ª Edição) Como tornar o software (mais) seguro? Esta é a principal questão a que este livro procura responder. Com um âmbito bastante mais lato, aborda desde o desenvolvimento de software seguro a muitos outros aspetos, como a auditoria de software e a proteção de software em produção. O livro encontra-se dividido em quatro partes. Na Parte I é apresentada uma panorâmica sobre a segurança de software, introduzindo conceitos básicos, princípios de projeto e os mecanismos de proteção dos sistemas operativos convencionais e linguagens de programação. Na Parte II apresentam-se as principais classes de vulnerabilidades atuais, bem como aquilo que o programador deve fazer para não as criar quando desenvolve software A Parte III aborda o problema de uma perspetiva diferente, ilustrando um conjunto de técnicas e ferramentas que podem ser usadas para tornar mais seguro software já existente e que pode ser de grande dimensão. A Parte IV, e última, refere um conjunto de tópicos avançados, ou seja, de técnicas que estão a começar a ser usadas para melhorar a segurança de software. Nesta 2.ª edição atualizada e aumentada foram incluídas várias novidades e criados novos capítulos sobre segurança no desenvolvimento de software e aplicações móveis. São ainda abordados novos temas, como a computação em nuvem, os contentores e a Blockchain. URL: https://www.fca.pt/pt/catalogo/informatica/seguranca/seguranca-no-software-2/ | |
Intelligent Big Multimedia Databases As bases de dados multimédia inteligentes lidam com um número crescente de importantes aplicações comerciais tais como meios de comunicação, sistemas de vigilância e sistemas médicos. O livro apresenta técnicas e algoritmos essenciais e relevantes para o desenvolvimento e implementação de sistemas de bases de dados extensos. O tradicional modelo relacional de bases de dados é baseado em álgebra relacional, ou seja é uma ramificação da lógica de primeira ordem e de conjuntos algébricos. O simples modelo relacional não é suficientemente poderoso para lidar com dados multimédia. Por esta razão, as bases de dados multimédia são categorizadas em diversas áreas principais. Cada uma destas áreas são tão extensas que necessitariam do conhecimento de diversos conceitos matemáticos chave para o estudo e compreensão de diferentes campos, como por exemplo recuperação de informação, processamento de imagens digitais, extração de descritores, fractais, aprendizagem automática, redes neuronais e indexação de elevada dimensionalidade. Este livro unifica todos esses conceitos essenciais e algoritmos recentes num único e abrangente volume. URL: http://www.worldscientific.com/worldscibooks/10.1142/9665 | |
Lógica e Raciocínio O objetivo do livro é a apresentação dos principais conceitos e metodologias associados à Lógica para estudantes universitários de Informática. Introduz as noções de proposição e de argumento e carateriza os seus possíveis valores, veracidade e falsidade e validade e invalidade, respetivamente. Apresenta os dois componentes de uma lógica, o sistema dedutivo e o sistema semântico, definindo as relações entre eles, e introduzindo os conceitos de correção e completude. Apresenta a lógica proposicional e a lógica de primeira ordem. Em relação a cada uma destas lógicas, discute a lógica sob dois aspetos distintos. Por um lado, apresenta os conceitos lógicos sob o ponto de vista tradicional, usando o sistema de dedução natural, de modo a fornecer bases sólidas para a compreensão dos princípios e da metodologia da Lógica. Por outro lado, apresenta as técnicas desenvolvidas para permitir que um computador possa utilizar raciocínio de uma forma automática, nomeadamente recorrendo à resolução, diagramas de decisão Binários, e algoritmos de SAT. Apresenta a programação em lógica, baseada na resolução SLD e aborda o PROLOG, uma linguagem de programação baseada em lógica. | |
Design e Desenvolvimento de Jogos URL: http://www.fca.pt/cgi-bin/fca_main.cgi/?op=2&isbn=978-972-722-762-4 | |
Enterprise Systems Integration: A Process-Oriented Approach Este livro oferece uma visão abrangente e aprofundada de uma série de tecnologias de integração, incluindo os sistemas de comunicação assíncrona através de filas de mensagens, os adaptadores de dados e de aplicações com base em XML e Web Services, os princípios associados às arquiteturas orientadas a serviços (SOA), e a composição e orquestração de serviços. A apresentação dos conceitos é acompanhada por um conjunto de exemplos ilustrativos utilizando tecnologias actuais, o que permite compreender a ligação entre uma infra-estrutura aplicacional integrada e os processos de negócio numa organização. | |
The Next Frontier: Managing Data Confidentiality and Integrity in the Cloud Muitas empresas estão a adotar os benefícios da computação em nuvem por causa do seu modelo de custos pay-per-use e da elasticidade de recursos que oferece. No entanto, do ponto de vista da confidencialidade e integridade dos dados mover os sistemas de TI de uma empresa para uma nuvem pública coloca alguns desafios. A protecção do sistema é muitas vezes baseada em segurança de perímetro, mas na nuvem os sistemas da empresa são executados em hardware do fornecedor de nuvem e coexistem com software tanto do fornecedor como de outros consumidores do serviços. Esta ReadyNote aborda a ameaça de insiders maliciosos no contexto de nuvens IaaS, ou seja, nuvens onde os consumidores podem executar máquinas virtuais. O texto é complementar a várias orientações e relatórios sobre segurança na nuvem publicados por organizações como o National Institute of Standards and Technology (NIST), a European Network and Information Security Agency (ENISA), e a Cloud Security Alliance. URL: http://webstore.computer.org/The-Next-Frontier-Confidentiality-Integrity/dp/B00CKURSVC | |
Principles of Quantum Artificial Intelligence Este livro introduz o tópico de computação quântica e as suas aplicações no domínio da Inteligência Artificial. As frameworks de resolução de problemas e de representação de conhecimento são realçadas. Dois princípios quânticos, baseados na Teoria da Informação, são abordados: a Transformada de Fourier Quântica e o algoritmo de procura de Grover. É ainda indicado como estes dois princípios podem ser aplicados na resolução de problemas. Por último, é apresentado o modelo geral de um computador quântico baseado em Sistemas de Produção. URL: http://www.worldscientific.com/worldscibooks/10.1142/8980 | |
Segurança no Software O principal objectivo deste livro consiste em responder à questão sobre como desenvolver software seguro. No entanto, o seu âmbito é mais lato,já que trata a segurança de software, um tema que inclui outros aspectos como a auditoria de software e a protecção de software em produção. O livro aborda este tema em quatro partes. A primeira apresenta uma panorâmica sobre a segurança de software, introduzindo conceitos básicos, princípios de projecto e os mecanismos de protecção dos sistemas operativos convencionais. A segunda parte apresenta as principais classes de vulnerabilidades actuais, bem como aquilo que o programador deve fazer para não as criar quando desenvolve software. A terceira parte aborda o problema de uma perspectiva diferente: apresenta um conjunto de técnicas e ferramentas que podem ser usadas para tornar mais seguro o software que já existe e que pode ter grande dimensão. A quarta parte apresenta um conjunto de tópicos avançados, ou seja, de técnicas que poderão, num futuro próximo, ser usadas para melhorar a segurança de software. O livro foi escrito tendo em vista dois tipos de leitores. Por um lado, pretende servir de manual para disciplinas de segurança de software a nível universitário: licenciatura e pós-graduação. Por outro lado, destina-se ao profissional da informática
interessado em desenvolver software seguro, ou em auditar ou proteger software já existente. | |
Introdução ao Design de Interfaces As Interfaces Pessoa-Máquina são a face visível de qualquer sistema, seja ele o mais avançado avião, um telemóvel, uma consola de jogos, painéis interativos, uma página Web ou um micro-ondas. Em função da usabilidade oferecida por estas interfaces assim o produto pode ser um sucesso ou um fracasso. Sistemas fáceis de aprender e rápidos de usar, que produzem o resultado esperado, são uma garantia para o bom desempenho dos utilizadores. Este livro, escrito por conceituados professores universitários, aborda os vários passos do design das interfaces utilizador, incluindo um conjunto de princípios, práticas e técnicas que podem ser usadas com sucesso em qualquer aplicação interativa. Com múltiplos exemplos práticos, esta obra apresenta as bases e os conceitos que permitem compreender e aplicar as várias fases do desenvolvimento iterativo de uma interface utilizador. Ao relacionar os princípios teóricos do processamento humano da informação com situações práticas e concretas, este livro constitui não só uma base de referência teórica para conteúdos universitários relacionados com a área de Interfaces Pessoa-Máquina, mas também um guia prático para profissionais interessados em melhorar a usabilidade dos seus produtos interativos. URL: https://www.fca.pt/cgi-bin/fca_main.cgi/?op=2&isbn=978-972-722-738-9 | |
Reliable and Secure Distributed Programming, 2ª Edição Este livro oferece uma introdução às abstracções necessárias para programar sistemas distribuídos e apresenta os algoritmos fundamentais para concretizar estas abstracções em diferentes ambientes de execução. São abordados problemas fundamentais da computação distribuída, os algoritmos usados para resolver estes problemas e dados exemplos de como estes métodos são usados para construir aplicações distribuídas. O tema central deste livro é a necessidade de tolerar a incerteza que um adversário pode introduzir na operação de um sistema distribuído, incerteza esta que pode resultar de simples atrasos na troca de mensagens, de falhas involuntárias, ou mesmo de ataques maliciosos. URL: http://www.springer.com/computer/theoretical+computer+science/book/978-3-642-15259-7 | |
Sistemas Operativos José Alves Marques / Paulo Ferreira / Carlos Ribeiro / Luís Veiga / Rodrigo Rodrigues FCA, 2009 Este livro aborda o funcionamento dos sistemas operativos apresentando duas visões complementares: o modelo computacional do sistema operativo que permite aos programadores o desenvolvimento das aplicações e as soluções arquitecturais encontradas para cada um dos subsistemas que compõem o sistema operativo. No livro são detalhados estes dois aspectos dos principais módulos: Gestão de processos e tarefas; Sincronização entre processos ou tarefas; Algoritmos e mecanismos de gestão de memória; Armazenamento de informação persistente; Comunicação entre processos; Mecanismos e estruturas de gestão dos periféricos; Arquitecturas e mecanismos de segurança. Para cada um dos temas abordados no livro é apresentada a sua materialização em dois casos de estudo correspondentes aos sistemas operativos mais utilizados actualmente, o Unix, Linux e o Windows. URL : http://www.fca.pt/cgi-bin/fca_main.cgi/?op=2&isbn=978-972-722-575-0 | |
IT Governance - A Gestão da Informática Numa altura em que quase todos os gestores de topo exigem maiores benefícios dos investimentos realizados em Tecnologias de Informação e Comunicação, principalmente tendo em conta o custo cada vez maior que acarretam, este livro vem explicar como devem os "informáticos" usar as tecnologias, a gestão e as pessoas para criar mais valor para as organizações. O objectivo deste livro é dar a conhecer de forma resumida os temas principais da Gestão da Informática, apresentando exemplos práticos e casos de estudo reais, a maioria baseados na experiência profissional dos próprios autores. URL: http://www.fca.pt/cgi-bin/fca_lidel_showbv1.cgi/?st=0&isbn=978-972-722-425-8 | |
UML, Metodologias e Ferramentas CASE - Volume 2, 2ª Edição Devido à evolução que se assistiu nos últimos anos, designadamente ao nível das metodologias de desenvolvimento de sistemas de informação e das ferramentas CASE que suportam em particular a modelação em UML, os capítulos que compõem este Volume 2 foram significativamente revistos e expandidos relativamente à 1ª edição do livro. Este livro, Volume 2, complementa o respectivo Volume 1, e encontra-se estruturado em duas partes: Metodologias e Ferramentas CASE. URL: http://www.centroatl.pt/titulos/tecnologias/uml2-vol2.php3 | |
Arquitectura de Computadores: dos Sistemas Digitais aos Microprocessadores | |
Introduction to Reliable Distributed Programming Um programa informático moderno é executado por diversos processos. O principal desafio que se coloca no desenvolvimento de programas distribuídos é suportar a cooperação entre processos mesmo nos casos em que alguns destes processos podem falhar. Este livro faz uma introdução às abstracções fundamentais para a construção de programas distribuídos fiáveis assim como aos algoritmos necessários para materializar estas abstracções. O livro inclui um conjunto de exemplos executáveis (programados usando a linguagem Java). Estes exemplos podem ser usados pelo leitor para exercitar a aplicação prática das abstracções descritas no livro. | |
Arquitectura de Computadores A melhor forma de optimizar o aproveitamento das capacidades de um computador é compreender os princípios básicos do seu funcionamento. Este livro descreve as técnicas subjacentes às várias arquitecturas de computador, desde os pequenos microcontroladores até aos grandes servidores, passando pelos computadores pessoais (PC). O utilizador ficará a perceber, por exemplo, porque é que duplicar a frequência de relógio de um processador não reduz para metade o tempo de execução dos programas e porque é que às vezes o computador parece parar, com a luz de acesso ao disco activa. O gestor de sistemas informáticos ficará com uma noção mais concreta do impacto da arquitectura dos seus servidores no desempenho dos programas e de quais são os pontos de estrangulamento no desempenho do sistema. | |
UML, Metodologias e Ferramentas CASE - 2ª Edição O livro "UML, Metodologias e Ferramentas CASE" aborda tópicos importantes para a generalidade dos intervenientes nas actividades enquadradas na engenharia de software, designadamente as problemáticas (1) das linguagens de modelação de software, (2) do processo e das metodologias de desenvolvimento de software, e (3) das ferramentas CASE de suporte à modelação e ao próprio desenvolvimento. Pretende dar uma panorâmica abrangente sobre estes três aspectos de forma integrada e coerente. Embora o foco do livro seja nas fases de concepção de sistemas de software, discute o seu enquadramento de modo mais lato em áreas como o planeamento estratégico de sistemas de informação; as arquitecturas de sistemas de informação; ou mesmo a engenharia de software. | |
Programação em Scheme: Introdução à Programação Utilizando Múltiplos Paradigmas
| |
Comércio Electrónico na Internet - 2ª edição revista e actualizada Tal como o nome indica, o comércio electrónico na Internet permite que pessoas e organizações realizem transacções comerciais utilizando a Internet. Esta alternativa ao comércio tradicional facilita e promove a troca de informação, produtos e serviços, reduzindo drasticamente os custos e tempos envolvidos. Desta forma, o comércio electrónico na Internet tem revolucionado muitos negócios tradicionais, imposto o encerramento de negócios antigos, promovido a criação de novos negócios, e acelerado a globalização das economias e das sociedades em geral. O objectivo deste livro é apresentar uma visão acessível e abrangente dos principais aspectos envolvidos no comércio electrónico na Internet segundo três perspectivas complementares: tecnologia, economia e legislação. O livro discute também a Internet como espaço crescente de informação (a maioria gratuita) e de comunidades de utilizadores, mas também como infra-estrutura para o aparecimento de novos modelos de comportamento, negócios, expectativas, desafios, oportunidades e ameaças. Esta segunda edição do livro, revista e actualizada, mantém a estrutura inicial da primeira edição mas actualiza significativamente os conceitos, tecnologias, casos de estudo, e legislação aplicável tendo em conta a natural evolução ocorrida nos últimos quatro anos. URL: http://www.fca.pt/cgi-bin/fca_livros.cgi/?op=2&isbn=978-972-757-247-2 | |
Integração de Sistemas de Informação A Integração de Sistemas de Informação (SI) é um tema incontornável da Engenharia Informática ao qual, infelizmente, não tem sido dada a devida atenção nos cursos de licenciatura e mestrado. No entanto, os profissionais de informática conhecem bem a importância deste tema, que nas empresas é responsável por cerca de metade do orçamento para desenvolvimento de sistemas de informação, e que tem ganho uma grande visibilidade com a popularidade da linguagem XML e dos Web Services. O presente livro é resultado de cinco anos de aquisição de conhecimentos e experiência prática, tendo sido escrito a pensarem todos aqueles que se interessam pelo tema. É adequado às disciplinas de Integração de Sistemas de Informação, quer ao nível de licenciatura quer de mestrado, e serve como material de auto-estudo para profissionais ou estudantes. Os leitores com conhecimentos técnicos avançados não ficarão desiludidos, pois terão oportunidade de encontrar nesta obra discussões e críticas invulgares em livros do género, entre elas, controvérsia em volta das novidades trazidas pelos Web Service se os factores prejudiciais da sua integração nas empresas. URL: http://www.fca.pt/cgi-bin/fca_livros.cgi/?op=2&isbn=972-722-391-5 | |
Distributed Systems for System Architects Este livro apresenta uma descrição das principais técnicas que permitem construir sistemas informáticos distribuídos, abordando os iversas facetas do desenvolvimento e gestão deste tipo de sistemas, incluindo a tolerância a faltas, o comportamento previsível no domínio do tempo e a segurança. URL: http://www.springer.com/east/home/generic/search/results?SGWID=5-40109-22-33313279-0 | |
Tecnologia de Sistemas Distribuídos Neste livro, explicam-se os elementos fundamentais de um sistema distribuído: as redes de dados, os protocolos de comunicação, a comunicação distribuída, o sistema cliente-servidor, os sistemas de nomes, a segurança, a tolerância a faltas e os sistemas de ficheiros distribuídos. O livro procura ser um texto de nível académico para os estudantes de informática e, simultaneamente, um texto para todos os interessados pelos sistemas computacionais perceberem o funcionamento intrínseco dos actuais sistemas informáticos URL: http://www.fca.pt/cgi-bin/fca_livros.cgi/?isbn=972-722-128-9&op=3 | |
Agentes de Software na Internet A Internet não é apenas um espaço único com um vasto e crescente número de informação e utilizadores. Deve ser vista, antes de mais, como um espaço multifacetado constituído por um número crescente de comunidades de utilizadores, em que cada comunidade apresenta as suas próprias regras, comportamentos e actividades. Cada utilizador pertence, de forma mais ou menos activa, a um número variável mas limitado de comunidades. URL: http://www.centroatlantico.pt/titulos/tecnologias/agentes_de_software.html | |
Introdução à Programação Utilizando o Pascal Uma versão revista e expandida da edição inglesa de 1988. Apresenta uma introdução geral à actividade de programação, não apenas uma introdução ao Pascal. Utiliza o Pascal como uma ferramenta para exprimir os conceitos introduzidos, sendo o seu objectivo a apresentação de conceitos essenciais de programação, tais como o desenvolvimento de algoritmos utilizando o método do topo para a base, a utilização de estruturas de informação adequadas, a abstracção procedimental e a abstracção de dados, estratégias para o teste e a depuração de programas, a documentação correcta e o anonimato da representação. | |
Solutions and Transparency Masters for Introduction to Computer Science Using Pascal Apresenta material de apoio para o ensino com o livro Introduction to Computer Science Using Pascal, nomeadamente, acetatos e soluções para os exercícios. | |
Introduction to Computer Science Using Pascal |