Go to:
Logótipo
You are in:: Start > CC4020

Advanced Topics in Algorithms

Code: CC4020     Acronym: CC4020     Level: 400

Keywords
Classification Keyword
OFICIAL Computer Science

Instance: 2020/2021 - 2S

Active? Yes
Web Page: http://www.dcc.fc.up.pt/~pribeiro/aulas/taa2021/
Responsible unit: Department of Computer Science
Course/CS Responsible: Master in Computer Science

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
M:CC 19 Study plan since 2014/2015 1 - 6 42 162
M:ENM 1 Official Study Plan since 2013-2014 1 - 6 42 162
2
MI:ERS 1 Plano Oficial desde ano letivo 2014 4 - 6 42 162

Teaching language

Suitable for English-speaking students

Objectives

To improve background on techniques for designing algorithms and analysing their correctness and complexity.
To know and apply methods for finding exact and approximate solutions for hard problems.

Learning outcomes and competences

To know some of the major algorithms and data structures for solving some problems in specific domains with practical utilility.
To develop skills for understanding the computational complexity of practical problems and identifying computational hard problems.

Working method

Presencial

Program

- Advanced Data Structures
 . Balanced binary search trees (AVL and Red-Black trees)
 . Self-adjusting data structures (splay trees and amortized analysis)
 . Probabilistic data structures (treaps, skip lists, bloom filters)
 . Spatial data structures (quadtrees and variants, kd-trees, range trees)
 . 1D data structures (sparse tables, segment trees, fenwick trees)

- Computational problems and their efficient solutions
 . LCA (Lowest Common Ancestor) and RMQ (Range Minimum Query)
 . String Matching (KMP, Boyer-Moore, Rabin-Karp)

- Algorithmic techniques
 . Lazy Propagation
 . Fractional Cascading

- Heuristics and Metaheuristics
  . The NP-hard class of problems
  . Heuristics and approximability for some problems
  . Metaheuristics: construction and improvement methods
  . Tabu search
  . Population-based metaheuristics

- Tree search algorithms
  . Formulation of optimization problems
  . Branch and bound for general integer optimization problems
  . Bounds for selected problems
  . Time-constrained branch and bound
  . Heuristics and limited discrepancy search
  . Reinforcement learning for tree search

Mandatory literature

Cormen Thomas H. 070; Introduction to algorithms. ISBN: 9780262033848 hbk (T.H.Cormen, C.E. Leiserson, R.L.Rivest, C.Stein. Introduction to Algorithms. The MIT Press, 3rd ed, 2009)

Comments from the literature

Some suggested scientific papers (about particular topics).

Teaching methods and learning activities

The syllabus allows the consolidation of background knowlegdge as well as the introduction of techniques and metods of specific areas which are important for solving problems in application areas efficiently, either exactly or approximately.

Teaching methodologies: lectures; development of practical projects in group, and its oral presentation and written report; final written exam.

The lectures are intended for presentation and explanation of the selected topics, introducing concepts, main results and algorithms, always establishing the relationship to a problem of practical interest.

The practical projects allow students to deepen their knowledge about a problem in one of the listed areas, and may require some introductory research work, the overall focus being mainly on experimental work. It will give the opportunity for autonomous study, analysis and critical thinking and collaborative work, and for applying and adapting techniques and algorithms addressed.

Evaluation Type

Distributed evaluation without final exam

Assessment Components

designation Weight (%)
Trabalho prático ou de projeto 100,00
Total: 100,00

Amount of time allocated to each course unit

designation Time (hours)
Elaboração de relatório/dissertação/tese 10,00
Estudo autónomo 88,00
Frequência das aulas 42,00
Apresentação/discussão de um trabalho científico 2,00
Elaboração de projeto 20,00
Total: 162,00

Eligibility for exams

To have delivered the pratical projects.

Calculation formula of final grade

4 projects/homeworks (each worth 25%) - solving some exercises, studying the problems and some related papers, design and implementation, doing experimental work, and writing final report.

Observations

It is recommended that students had attended CC2001 (Design and Analysis of Algorithms), or some equivalent couse unit, as well as Algorithms (CC4010), to improve potential of success.
Recommend this page Top
Copyright 1996-2024 © Faculdade de Ciências da Universidade do Porto  I Terms and Conditions  I Acessibility  I Index A-Z  I Guest Book
Page created on: 2024-11-09 at 00:14:50 | Acceptable Use Policy | Data Protection Policy | Complaint Portal