Mário M. Freire
         Full Professor (Professor Catedrático)

           Department of Computer Science, University of Beira Interior
           Rua Marquês de Ávila e Bolama, 6201-001 Covilhã, Portugal

           E-mail addresses: mfreire(at)computer.org  or  mfreire(at)acm.org  or  mario(at)di.ubi.pt



Tópicos Avançados em Engenharia Informática / Advanced Topics in Computer Science and Engineering 2017/2018
PhD in Computer Science and Engineering

"To be great, be whole; Exclude nothing, exaggerate nothing that is not you. Be whole in everything. Put all you are Into the smallest thing you do. So, in each lake, the moon shines with splendor Because it blooms up above."

Ricardo Reis, in "Odes", an heteronym of Fernando Pessoa (1888-1935), Portuguese poet, writer, literary critic, and translator.

Descrição da Unidade Curricular, Avaliação e Bibliografia / Course Description, Evaluation and Grading and Bibliography


Objetivos Gerais e Resultados de Aprendizagem / Course Objectives
O objetivo da unidade curricular consiste em dotar os estudantes com competências em metodologias de investigação científica e contribuir para a sua preparação para uma carreira científica ou académica em engenharia informática. No final da unidade curricular o estudante deve ser capaz de identificar a metodologia de investigação a utilizar no seu trabalho de investigação e elaborar um survey sobre o estado da arte num dado tópico de engenharia informática.
The aim of the course is to provide students with skills in scientific research methodologies and contribute to their preparation for a scientific or academic career in computer science and engineering. At the end of the course the student should be able to identify the research methodology to be used in his/her research and to prepare a survey on the state of the art in a given topic of computer science and engineering.

Programa / Syllabus
Integridade académica, códigos de ética e plágio. Introdução à investigação científica. Métodos de investigação científica. A escolha de um problema de investigação científica. A escolha de um orientador. A arte de revisão da literatura. Escrita de artigos científicos e de relatórios técnicos. Apresentação oral de artigos e relatórios.
Academic Integrity, code of ethics and plagiarism. Introduction to scientific research. Scientific research methods. The choice of a scientific research problem. The choice of an adviser. The art of literature review. Writing scientific papers and technical reports. Oral presentation of articles and reports.

Actividades de Ensino-Aprendizagem e Metodologias Pedagógicas / Planned Learning Activities and Teaching Methods
As aulas de contacto desta unidade curricular são baseadas em orientação tutorial. Pretende-se debater temas baseados em artigos e documentos on-line e esclarecer dúvidas concretas apresentadas pelos estudantes sobre a elaboração do survey sobre o estado da arte num dado tópico de engenharia informática.
Língua da unidade curricular: Português ou Inglês. O suporte tutorial está apenas disponível em inglês.
Lectures of this course consists of tutorials. It is intended to discuss topics based on scientific articles and online documents and clarify specific doubts presented by students on the preparation of the survey on the state of the art in a given topic of computer science and engineering.
Couse language: Portuguese or English. Tutorial support is only available in English.

Métodos e Critérios de Avaliação / Evaluation and Grading
Elaboração de um survey paper: 70%.
Apresentação oral e discussão do survey: 25%.
Participação na discussão de artigos em 5 aulas: 5%.
Preparation of a survey paper: 70%.
Oral presentation and discussion of the survey paper: 25%.
Participation in the discussion of papers in 5 lectures: 5%.

Survey Paper
Esta unidade curricular permite ao estudante desenvolver estudos avançados na área da informática, com base em artigos científicos. Cada estudante deverá elaborar um artigo de revisão, no qual, de forma clara, rigorosa e pedagógica, descreve o objecto de estudo e eventuais perspectivas de desenvolvimento futuro do domínio em estudo. Para a elaboração do survey, o estudante deve seguir as instruções disponíveis em Instruções para Autores e Preparação do Manuscrito da ACM Computing Surveys. O artigo poderá ser escrito noutro formato, desde que previamente autorizado pelo docente da unidade curricular. O título do survey deve centrar-se no tópico, ser curto, claro e eye-catching. A estrutura do survey é livre e não há limite de páginas. O survey pode ser elaborado sob a supervisão dos orientadores de doutoramento, caso existam.
This course allows the student to develop advanced studies in computer science, based on scientific articles. Each student should prepare a survey paper, which, in a clear, accurate and pedagogical way, describes the object of study and possible future development prospects of the area under study. For the preparation of the survey, the student should follow the instructions available at Author Guidelines and Manuscript Preparation of ACM Computing Surveys. The survey may be written in another format, if previously authorized by the course instructor. The title of the article should focus on the topic, be short, clear and eye-catching. The structure of the survey is free and there is no page limit. The survey may be prepared under the guidance of the PhD advisors, if any.

Bibliografia de Apoio à Unidade Curricular / Bibliography
Artigos científicos de acordo com o objecto de estudo, disponibilizados através da biblioteca do conhecimento online (B-On) subscrita pelos Serviços de Documentação – Biblioteca da Universidade da Beira Interior. Artigos e documentos online disponibilizados pelo docente e disponíveis nesta página web.
Scientific articles according to the object of study, made available by the online knowledge library (B-On) subscribed by the Documentation Services - Library of the University of Beira Interior. Articles and online documents made available by the instructor along this web page.


Plano das Aulas Teóricas / Schedule

Lecture 1 (September 19, 2017, 14:00-15:00).

Sumário: Apresentação do Professor aos Estudantes. Indicação da localização do gabinete do professor e do horário de atendimento. Objectivos da unidade curricular e competências a adquirir. Conteúdos programáticos. Método de avaliação. Bibliografia de apoio à unidade curricular.

Lecture 2 (September 26, 2017, 14:00-15:00).

Sumário: Perspectiva geral sobre o funcionamento da unidade curricular.
Abstract: Course overview.

Lecture 3 (October 3, 2017, 14:00-15:00).

Sumário: Integridade Académica, Códigos de Ética e Plágio.
Abstract: Academic Integrity, Code of Ethics, and Plagiarism. Required Reading:
Academic Integrity, ACM Code of Ethics, IEEE Code of Ethics.
IEEE Plagiarism Policy, ACM Plagiarism Policy, Self-Plagiarism in Computer Science.
ACM Guidance for Authors on Fair Use.
Prior Publication and Simultaneous Submissions.

Lecture 4 (October 10, 2017, 14:00-15:00).

Sumário: Introdução à investigação científica
Abstract: Introduction to Research. Required Reading:
Introduction to Research and Research Methods for Computer Science by Alexander Ferworn, Professor at Ryerson University, Canada.
An Algorithm for Good Research Papers by Eyal Amir, Associate Professor at University of Illinois, Urbana-Champaign, USA.
Suggested Reading:
You and Your Research by Richard Hamming, Professor at the Naval Postgraduate School in Monterey, California, and a retired Bell Labs scientist. See also the video in YouTube.
Putting the Science Back into Computer Science by Robert Sedgewick, Professor at Princeton University and Director of Adobe Systems, in a CS Colloquium, at Rutgers University, November, 2010.

Lecture 5 (October 17, 2017, 14:00-15:00).

Sumário: Métodos de investigação científica.
Abstract: Research Methods. Required Reading:
Research Methodology and Theory of Science: Science, Knowledge, Method, by Gordana Dodig-Crnkovic, professor at Mälardalen University, Sweden.
Scientific Methods in Computer Science, by Gordana Dodig-Crnkovic, in Proc. Conf. for the Promotion of Research in IT at New Universities and at University Colleges in Sweden, 2002.
Research / Scientific Methods in Computer Science by Vera Goebel & Thomas Plagemann, University of Oslo.
Research Methods in Computing: what are they, and how should we teach them? by Hilary J. Holz et al. in ITiCSE-WGR '06 Working group reports on ITiCSE on Innovation and technology in computer science education, pages 96 - 114.
Metodologias de Investigação Científica by Eugénio Oliveira, Professor at University of Porto, Portugal.
Suggested Reading:
Where do New Ideas Come From? How do They Emerge? Epistemology as Computation (Information Processing), by Gordana Dodig-Crnkovic, Chapter for a book celebrating the work of Gregory Chaitin, Randomness & Complexity, from Leibniz to Chaitin, C. Calude ed., World Scientific, Singapore, 2007.

Lecture 6 (October 24, 2017, 14:00-15:00).

Sumário: Visita às Unidades de Investigação do Departamento e respetivos laboratórios.
Abstract: Visit to Department Research Units and their labs.


Lecture 7 (October 31, 2017, 14:00-15:00).

Sumário: A escolha de um problema de investigação científica.
Abstract: Choosing a Computer Science Research Problem. Required Reading:
Choosing a Computer Science Research Problem by Alexander Ferworn, Professor at Ryerson University, Canada.
Grand Challenges for Computing Research by Tony Hoare and Robin Milner in The Computer Journal 48 (1): 49-52, 2005.
How to Build a Bad Research Center by David Patterson in Communications of the ACM, Vol. 57 No. 3, pages 33-36, 2014.

Lecture 8 (November 7, 2017, 14:00-15:00).

Sumário: A escolha de um orientador.
Abstract: Choosing a PhD Adviser. Required Reading:
Your Students Are Your Legacy by David A. Patterson in Communications of the ACM, Vol. 52 No. 3, pages 30-33, 2009.
How to choose an advisor by Howard G. Adams and Ashwin Ram, Georgia Institute of Technology, USA.
The PhD journey: how to choose a good supervisor, Newscientist, Careers, 20 February 2008.
Picking an Advisor: The Good, The Bad, and The Ugly by Jode Plank on 19th of July, 2010 in PhD Survival.
How to Choose a Faculty Advisor for Graduate School, University of California, San Diego, USA.
Suggested Reading:
How to Succeed in Graduate School: A Guide for Students and Advisors by Marie desJardins in Crossroads, the Online ACM Student Magazine, issues 1.2 (December 1994) and 1.3 (January 1995).
So long, and thanks for the Ph.D.!, the computer science graduate school survival guide by Ronald T. Azuma.
Rabbit's Ph.D. Thesis and Lion's Watch Repair Business, two parables for graduate students on the adviser perspectives.
Potential Faculty Advisers from the Department of Computer Science at UBI.

Lecture 9 (November 14, 2017, 14:00-15:00).

Sumário: A arte de revisão da literatura.
Abstract: The Art of the Literature Review. Required Reading:
Literature Reviews, The Writing Center, University of North Carolina at Chapel Hill.
A Systems Approach to Conduct an Effective Literature Review in Support of Information Systems Research, by Yair Levy and Timothy J. Ellis, Nova Southeastern University, Florida, USA.
Ten Simple Rules for Writing a Literature Review, by Marco Pautasso, University of California San Diego, USA.
TKDE Guidelines for Survey Papers, IEEE Transactions on Knowledge and Data Engineering, Vol. 19, No. 11, November 2007.
Beall’s List of Predatory Publishers 2015, by Jeffrey Beall, University of Colorado Denver.

Lecture 10 (November 21, 2017, 14:00-15:00).

Sumário: Leitura de artigos científicos.
Abstract: Reading of scientific papers. Required Reading:
How to Read a Paper by S. Keshav, ACM SIGCOMM Computer Communication Review 37(3): 83- 84, 2007.
Efficient Reading of Papers in Science and Technology by Michael J. Hanson, revised by Dylan J. McNamee.
How to Read a Scientific Article by Mary Purugganan, Jan Hewitt, Rice University.
How to Read and Understand a Scientific Paper: A Guide for Non-scientists by Jennifer Raff, University of Texas, 2013.

Lecture 11 (November 28, 2017, 14:00-15:00).

Sumário: Escrita de artigos científicos.
Abstract: Writing of scientific papers. Required Reading:
Editor’s Note: How to Write Research Articles in Computing and Engineering Disciplines by Ivan Stojmenovic, IEEE Transactions on Parallel and Distributed Systems 21(2): 145-147, 2010.
Editorial on How to Write Research Articles in Computing and Engineering Disciplines by Ivan Stojmenovic and Veljko Milutinovic.
Writing Technical Articles and Common Bugs in Writing by Henning Schulzrinne, Columbia University.
How to Write a Great Research Paper by Jon Turner, Washington University.
How to Write a Great Research Paper by Simon Peyton Jones, Microsoft Research, Cambridge.
Tips for Writing Technical Papers by Jennifer Widom, Stanford University.
Writing Scientific Articles Like a Native English Speaker: Top ten tips for Portuguese speakers, by Mariel A. Marlow, Clinics (Sao Paulo), 69(3): 153–157, 2014.
The Elements of Style, by W. Strunk and E. B. White.
Advice Collection for Graduate Students, by Xiaohui (Helen) Gu, North Carolina State University.
How to Construct a Nature Summary Paragraph.

Lecture 12 (December 5, 2017, 14:00-15:00).

Sumário: Como realizar uma boa apresentação científica.
Abstract: How to give a good research talk. Required Reading:
How to Give a Good Research Talk by Simon Peyton Jones, Microsoft Research, Cambridge.

Lecture 13 (December 12, 2017, 14:00-15:00).

Sumário: Apresentação e discussão de survey papers.
Abstract: Presentation and discussion of survey papers.

Lecture 14 (January 9, 2018, 14:00-15:00).

Sumário: Apresentação e discussão de survey papers.
Abstract: Presentation and discussion of survey papers.



“One of the problems of being a pioneer is you always make mistakes and I never, never want to be a pioneer. It’s always best to come second when you can look at the mistakes the pioneers made”.

Seymour Cray (1925-1996), Public Lecture at Lawrence Livermore Laboratories on the introduction of the CRAY-1, 1976.
Last update: 2017/10/02.