Estruturas de Dados. Pedro Ribeiro 2017/2018 DCC/FCUP. Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/ / 16

Documentos relacionados
Desenho e Análise de Algoritmos

Desenho e Análise de Algoritmos

Algoritmos e Estruturas de Dados

AED Algoritmos e Estruturas de Dados LEE /2004

SIN5013 Análise de Algoritmos e Estrutura de Dados - 1o Semestre de 2019

BCC402 Algoritmos e Programação Avançada. Prof. Marco Antonio M. Carvalho Prof. Túlio Toffolo 2012/1

Estrutura de Dados. Plano de Ensino. Vilson Heck Junior. Campus Lages. Instituto Federal de Santa Catarina

If969 - Algoritmos e Estruturas de Dados

Informações Importantes! INF TURMA A

BCC402 Algoritmos e Programação Avançada. Prof. Marco Antonio M. Carvalho Prof. Túlio Ângelo M. Tóffolo 2011/1

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA DEPARTAMENTO DE INFORMÁTICA APLICADA

ESTRUTURA DE DADOS DCC013

SCC-201 Introdução à Ciência de Computação II

Web site. Profa. Patrícia Dockhorn Costa.

Anual Obrigatória X Semestral X Opcional. Regime Diurno Nocturno Horas/semana T Teórica 2 Ano 1 1 T/P Teórico/Prática 4 Semestre 1 1 P- Prática

ESTRUTURAS DE DADOS (LEI, LM, LEE) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2017/2018

Estruturas de Dados Aula 1: Introdução e conceitos básicos 28/02/2011

Algoritmos e Estruturas de Dados II LEIC

PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO

Corpo Docente. Algoritmos e Estruturas de Dados LEE 2014/ /02/15. Apresentação. } Fernando Mira da Silva

AED Algoritmos e Estruturas de Dados LEEC /2005. Apresentação. Algoritmos e Estruturas de Dados

PCC104 - Projeto e Análise de Algoritmos

Análise e Síntese de Algoritmos.

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA DE ENSINO DE GRADUAÇÃO

Algoritmos e Estrutura de Dados. Aula 01 Apresentação da Disciplina e Introdução aos Algoritmos Prof. Tiago A. E. Ferreira

PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos

ALGORITMOS E ESTRUTURAS DE DADOS I PROF. EDSON IFARRAGUIRRE MORENO

Ana Paula Rocha José Magalhães Cruz Rui Camacho. 26 de Fevereiro de 2009

Algoritmos para Automação e Sistemas

PLANO DE DISCIPLINA DISCIPLINA: Análise de Algoritmos

Planejamento da Disciplina

Ficha de Disciplina APRO. Ano Lectivo: 2005/2006. Grupo de disciplinas: ENGENHARIA DA PROGRAMAÇÃO. Anual Obrigatória X Semestral X Opcional

Descrição da Disciplina

English version at the end of this document

MC3305 Algoritmos e Estruturas de Dados II. Aula 00 Apresentação. Prof. Jesús P. Mena-Chalco.

Programação Estruturada Orientada a Objetos

English version at the end of this document

ALGORITMOS E ESTRUTURAS DE DADOS CES-11

PROGRAMAÇÃO E ALGORITMOS (LEI, TSI) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017

AED Algoritmos e Estruturas de Dados LEEC /2006. Apresentação

PLANO ANALÍTICO DA DISCIPLINA DE ESTRUTURA DE DADOS E ALGORÍTMOS

UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática. 3 a ETAPA

INE5408 Estruturas de Dados. Apresentação e Programa da Disciplina

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2018/2019

PLANO DE DISCIPLINA DISCIPLINA: Algoritmos e Programação

Sumário. Capítulo 1 Introdução 29. Capítulo 2 Utilizando Objetos 59

BCC Projeto e Análise de Algoritmos Aula 0: Apresentação

Programa Analítico de Disciplina SIN213 Projeto de Algoritmos

Estruturas de Dados. Filas em que a prioridade de remoção não é cronológica. Maior prioridade não é do elemento que ingressou primeiro

CES-11. Algoritmos e Estruturas de Dados. Carlos Alberto Alonso Sanches Juliana de Melo Bezerra

Licenciatura em Informática

[Cormen et al., 2002] Algoritmos: Teoria e Prática Tradução da segunda edição em inglês.

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2017/2018

Disciplina: Programação I

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTRODUÇÃO AOS ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2016/2017

PLANO DE DISCIPLINA DISCIPLINA: Estrutura de Dados 2

Programa Analítico de Disciplina INF333 Programação Competitiva

SCC-501 Introdução à Ciência de Computação II

INTRODUÇÃO À PROGRAMAÇÃO

Plano da Unidade Curricular

TEORIA: 60 LABORATÓRIO: 0

Estruturas de Dados Apresentação da Disciplina

Plano da Unidade Curricular

Introdução à Ciência da Computação II

EDITAL Nº 6, DE 05 DE FEVEREIRO DE FACULDADE DE COMPUTAÇÃO COMISSÃO ESPECIAL SELEÇÃO DE CANDIDATOS A PROFESSOR SUBSTITUTO REGIME DE TRABALHO

Filas de Prioridades Letícia Rodrigues Bueno

Instituto Superior de Ciências e Tecnologia de Moçambique

CURSO PROFISSIONAL Técnico de Gestão e Programação de Sistemas Informáticos

ANHANGUERA ESTRUTURA DE DADOS AULA 02 O QUE É ESTRUTURA DE DADOS? Prof. Thomás da Costa

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTRODUÇÃO AOS ALGORITMOS E ESTRUTURAS DE DADOS Ano Lectivo 2014/2015

n Professor n Duas Avaliações prático-teóricas: n Componente Teórico: 20 pontos n Componente Prático: 15 pontos

Algoritmos e Estruturas de Dados II

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular INTRODUÇÃO À PROGRAMAÇÃO Ano Lectivo 2017/2018

UNIVERSIDADE PRESBITERIANA MACKENZIE

PLANIFICAÇÃO ANUAL. 1. Introdução à Programação e Algoritmia. Tempos letivos previstos (45) Período escolar

INE5384 Estruturas de Dados. Sumário

Projeto e Análise de Algoritmos

PLANO DE APRENDIZAGEM. CH Teórica: 80 Prática: 20 CH Total: 100 Créditos: 05 Pré-requisito(s): Linguagem de Programação I Período: III Ano: 2019.

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR

Introdução à Programação

Projeto e Análise de Algoritmos. Introdução. Prof. Ademir Constantino Universidade Estadual de Maringá Departamento de Informática

Fundamentos de programação

English version at the end of this document

Universidade Federal da Paraíba Centro de Informática. Plano de Curso. Departamento de Informática. 1 Objetivos do Curso

UNIVERSIDADE PRESBITERIANA MACKENZIE Faculdade de Computação e Informática. 4 a ETAPA

Paradigmas de Linguagens Computacionais (PLC) (Apresentação da disciplina)

FIC-POO. Aula 1.1 Apresentação do Curso e Introdução aos Paradigmas de Programação. Prof. Dr. Bruno Moreno

Estrutura de Dados e Arquivos Ementa Objetivo Geral Conteúdo Avaliação

Estrutura de dados. Link do Google Drive: ED Apresentação Luiz Gonçalves Última revisão 8/12/14

UNIVERSIDADE LUSÍADA DE LISBOA. Programa da Unidade Curricular PROGRAMAÇÃO AVANÇADA Ano Lectivo 2013/2014

SCC0502 Algoritmos e Estruturas de Dados I

Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Curitiba PLANO DE ENSINO

Transcrição:

Estruturas de Dados Pedro Ribeiro DCC/FCUP 2017/2018 Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/2018 1 / 16

Informações Gerais Site: http://www.dcc.fc.up.pt/~pribeiro/aulas/edados1718/ Piazza: http://piazza.com/up.pt/spring2018/cc1007 (usado para a comunicação nesta UC) Aulas teóricas: 3 a Feira: T1 (11:00-12:00, FC1027) T2 (12:00-13:00, FC1007) 6 a Feira: T1 (11:00-12:00, FC1003) T2 (12:00-13:00, FC1003) Aulas práticas (13 diferentes TPs com 7 diferentes docentes): Eduardo Marques João Barbosa João Rodrigues João Soares Luís Lopes Patrícia Sousa Pedro Ribeiro Atendimento: 6 a feira: 14:00 às 15:00 (gabinete 1.47) Almoço EDados 6 a : a seguir às aulas teóricas Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/2018 2 / 16

Obtenção de Frequência Para obter frequência é necessário: Não exceder limite de faltas nas aulas práticas (máximo de 4 faltas) Estão previstas 12 aulas práticas (feriados não contam para faltas) Não exceder limite de faltas nos quizzes online (máximo de 4 faltas) São obrigatórios, mas não contam para nota Cada um estará online para efeitos de frequência durante uma semana (00:01 de Domingo a 23:50 de Sábado) (depois ficam disponíveis para treino, sem contar para frequência) São constituídos por perguntas de escolha múltipla Podem ver os resultados, saber que opção estava correcta e voltar a submeter quantas vezes quiserem Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/2018 3 / 16

Fórmula de Cálculo da Avaliação P: nota prática, valendo 30% da nota final, obtida através de: 3 testes práticos de programação (2 valores cada) Nota mínima: 25% (minimo de 1.5 numa nota de 0 a 6 valores) (< 25% na parte prática reprovação por falta de componente) E: nota de exame, valendo 70% da nota final (teste escrito com nota de 0 a 20) R: na época de recurso será feito um único exame (teste com nota de 0 a 20, não é possível repetir testes práticos) Classificação da época normal: C = E 0.7 + P 9.5 Classificação da época de recurso: C = R 0.7 + P 9.5 Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/2018 4 / 16

Sobre a componente prática Será usada a linguagem Java, e terão acesso a um computador Terão objectivos específicos divulgados Poderão vir a ter acesso a código vosso submetido antes do teste (compensa por isso terem feito os exercícios antes, perceberem bem o que fizeram e terem código organizado) Datas dos testes práticos de programação: 1 o teste: 19-23 de Março (durante a aula prática) duração: 1h 2 o teste: 2 de Maio duração: 2h 3 o teste: 30 de Maio duração: 2h Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/2018 5 / 16

Estatísticas Estruturas de Dados nos últimos 3 anos: Total de Alunos: 258 (14/15), 254 (15/16), 272 (16/17) Alunos aprovados: Total aprovados: 75 (14/15), 74 (15/16), 76 (16/17) % total inscritos: 29% (14/15), 29% (15/16), 28% (16/17) % total avaliados: 53% (14/15), 62% (15/16), 79% (16/17) Estruturas de Dados 2017/2018 Total de Alunos inscritos: 291 Distribuição por n o de inscrições: 137 (1 a ), 70 (2 a ), 43 (3 a ), 41 (4 a ) Programação Imperativa 2017/2018 Total de Alunos: 177 Total de Alunos avaliados: 169 Total de Alunos aprovados: 93 Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/2018 6 / 16

Objectivos da Unidade Curricular Competências de programação Proeficiência na linguagem Java Paradigma de Programação Orientada a Objectos Conhecimentos de estruturas de dados e algoritmos associados Principais estruturas de dados básicas: arrays, matrizes, listas ligadas e árvores binárias. Principais tipos abstractos de dados e suas implementações: filas, pilhas, conjuntos, dicionários e filas de prioridade. Competências básicas na concepção e análise de algoritmos Competência básica na análise de complexidade de algoritmos e e compreensão das principais classes de complexidade. Enriquecimento do conhecimento sobre algumas técnicas algorítmicas como recursividade, pesquisa com retrocesso e dividir para conquistar. Experiência prática de aplicação a problemas concretos. Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/2018 7 / 16

Visão Geral do Programa Conceitos fundamentais de Java: Classes, objectos, atributos e métodos Tipos primitivos, Strings, wrappers, arrays e tipos enumerados Expressões, operadores e instruções de controle de fluxo Input/Output e a classe Scanner Pacotes e biblioteca padrão do Java Princípios de desenvolvimento de software, estilo e documentação Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/2018 8 / 16

Visão Geral do Programa Programação Orientada a Objectos Objectivos, princípio, padrões e mecanismo de herança Interfaces e Tipos Abstractos de Dados (TADs) Uso de genéricos e de iteradores Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/2018 9 / 16

Visão Geral do Programa Conceitos de Análise Assintótica Noções de análise assintótica Classes de complexidades típicas e sua comparação Exemplos de análise de algoritmos Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/2018 10 / 16

Visão Geral do Programa Técnicas de Desenho de Algoritmos Programação estruturada Recursividade Pesquisa exaustiva e backtracking Dividir para conquistar Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/2018 11 / 16

Visão Geral do Programa Estruturas de Dados Fundamentais Arrays e matrizes Listas ligadas simples, circulares e duplamente ligadas Árvores binárias, árvores de pesquisa e heaps Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/2018 12 / 16

Visão Geral do Programa Tipos Abstratos de Dados e suas possíveis Implementações Sequências, pilhas, filas e deques Contentores associativos: conjuntos e dicionários Filas de prioridade Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/2018 13 / 16

Funcionamento das aulas Teóricas: slides + uso do computador do docente + exposição no quadro Práticas: guião com exercícios (html) + implementação em código (Java) Material auxiliar: divulgado no site, em português e/ou inglês slides, apontamentos, animações, applets,... Importante trabalhar fora das aulas! As aulas são apenas as horas de contacto. É importante vir mas não chega apenas lembrar-se de EDados durante as aula práticas... Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/2018 14 / 16

Bibliografia Livro Principal: Data Structures and Algorithms in Java M Goodrich, R Tamassia and M Goldwasser, 6th Edition, Wiley, 2014. Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/2018 15 / 16

Bibliografia Outros Livros Recomendados: Introduction to Algorithms TH Cormen, CE Leiserson, RL Rivest and C Stein, 3rd Edition, MITPress, 2009. Introduction to Programming in Java: An Interdisciplinary Approach R. Sedgewick, K Wayne, 2nd Edition, Addison-Wesley, 2017. Think Java: How To Think Like a Computer Scientist A Downey, O Reilly, 2016. Think Data Structures A Downey, O Reilly, 2017. Pedro Ribeiro (DCC/FCUP) Estruturas de Dados 2017/2018 16 / 16