Algoritmos e Estruturas de Dados I – Licenciatura em Computação 2015

Algoritmos é a “arte” de resolver problemas. A disciplina de Algoritmos é considerada um dos pilares da Ciência da Computação. Basicamente, o aluno irá aprender conceitos básicos de computação, o que é um algoritmo, como resolver problemas por meio de algoritmos, e como utilizar algoritmos para ensinar um computador a resolver problemas. O aluno também aprenderá conceitos de tipos e estruturas de dados.

Receita básica para resolver um problema por meio de algoritmos

Receita básica para resolver um problema (exercício) por meio de algoritmos:

1. Pense em exemplos com valores reais, isto é, faça no lápis e descubra como você fez.
2. Escreva esses exemplos no código, como se a função já estivesse pronta.
2. Pense em quais são as entradas e saídas do algoritmo, olhando para os exemplos.
3. Escreva quais são os tipos de dados de entrada e saída (assinatura da função), e as restrições sobre eles.
4. Defina a função com os parâmetros, baseados na assinatura, e com uma instrução de retorno com um valor válido qualquer.
5. Escreva o algoritmo (passo a passo) para resolver o problema com base nos parâmetros de entrada.

Se você está fazendo os exercícios seguindo mais ou menos a mesma sequência, este é o caminho. Senão, experimente seguir esses passos e vai ver que a coisa sai mais fácil. Por quê? Porque a primeira coisa que se deve fazer é entender o problema. Logo, pense em exemplos, veja quais são os dados a serem consumidos, quais devem ser gerados, etc. Isto ajuda bastante.

Veja exemplos: Revisão da lista 1

Horários e ensalamento:

Aula teórica: quarta-feira às 21:00, na sala 20, bloco 4, para as duas turmas.

Aulas em laboratório:

  • Turma 1 (P1): quinta-feira às 21:00, no laboratório 3, bloco 3
  • Turma 2 (P2): sexta-feira às 19:00, no laboratório 3, bloco 3

Dúvidas:

Dúvidas podem ser mandadas a qualquer momento por email. O professor estará disponível em sua sala principalmente à tarde nas quartas, quintas (até as 15:30) e sextas.

Datas:

  • Primeira prova: 29/04/2015
    • Conteúdo: Introdução a algoritmos. Estruturas básicas: definição de funções, atribuição de variáveis, desvio condicional. Estruturas de iteração (repetição). Recursividade (básico).
  • Segunda prova: 01/07/2015
    • Conteúdo: Acumulativo da primeira prova. Manipulação de strings. Conversão binário/decimal. Vetores (listas estáticas). Busca e ordenação. Matrizes. Tipos abstratos de dados: estruturas / registros. Arquivos.
  • Entrega e apresentação do primeiro trabalho (previsão): 04 e 05 de junho
  • Entrega e apresentação do segundo trabalho (previsão): 01, 02 e 03 de julho.

Material de estudo de algoritmos:

Apostila recomendada: Apostila: Como Pensar como um Cientista da Computação usando Python

O material a seguir é do prof. Arnaldo Vieira Moura, da UNICAMP, e é um ótimo material para estudar a disciplina:

Link: http://www.ic.unicamp.br/~mc102/algoritmos.html

Creative Commons License

Mas, atenção, não basta ler este material para ir bem na matéria!!! É imprescindível fazer exercícios e consultar livros na Biblioteca!!!

Trabalhos:

  1. Motor de busca / web crawler simples – Instruções
  2. Sistema bancário simples (em breve mais informações)

Exercícios:

Exercícios Adicionais:

Exemplos feitos em sala de aula:

1º Bimestre:

2º Bimestre:

Bom livro de algoritmos:

CORMEN, T. H.; LEISERSON, C. E.; RIVEST, R. L.; STEIN, C. Algoritmos: Teoria e Prática. Editora Campus, 2002.

Usando o Python:

No Linux (Ubuntu / Mint / Debian):

sudo apt-get install python2.7 idle-python2.7

Ou instale esses pacotes pelo gerenciador de aplicativos

No Windows: Baixe e instale do site: https://www.python.org/downloads/

Online:

Python Tutor: http://www.pythontutor.com/visualize.html#mode=edit

Code Skulptor: http://www.codeskulptor.org/

Material para estudo da linguagem Python:

Apostila: Como Pensar como um Cientista da Computação usando Python

Documentação do Python (em português)

Curso online grátis: Intro to Computer Science

Curso online grátis: Python para zumbis

Curso online grátis: Python (codeacademy)

Livro: Use a Cabeça: Programação

DocumentacaoPython

Como Pensar Como um Cientista da Computação: Edição interativa (usando Python 3.x) (fora do ar)

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s