31
XBT246 – Programação de Computadores II Prof. Franklin Marquezino Universidade Federal do Rio de Janeiro

XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

XBT246 – Programaçãode Computadores II

Prof. Franklin MarquezinoUniversidade Federal do Rio de Janeiro

Page 2: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 2

Parte IApresentação da Disciplina

Page 3: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 3

Apresentação da disciplina

● Dados gerais● Horário: oficialmente, de 13h até 17h.

Porém, vamos reduzir ao máximo os intervalos para conseguir terminar as aulas 16h

● Local: LIG● Web-site: http://www.cos.ufrj.br/~franklin

Page 4: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 4

Objetivos da disciplina

● Introduzir os principais conceitos da programação orientada a objetos: classes, objetos, métodos e herança. Entender o tratamento de erros e exceções. Introduzir conceitos de programação de interface gráfica interativa (GUI): componentes básicos e sistema de tratamento de eventos.

Page 5: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 5

Ou seja...

● Conceitos de programação que irão permitir o desenvolvimento de aplicações mais sofisticadas

● Abrir caminho para estudo de assuntos mais avançados, como bancos de dados, computação gráfica, computação paralela, etc.

Page 6: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 6

Ementa – parte 1

● Programação Orientada a Objetos● Definição do paradigma de OO● Classes, objetos, atributos e métodos● Herança● Tratamento de erros e exceções

Page 7: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 7

Ementa – parte 2

● Interface com o usuário● Conceito de interface gráfica● Componentes básicos (canvas, caixa de

texto, botões, frames, etc)● Sistema de tratamento de eventos● Desenvolvimento de aplicações usando

interfaces orientadas a janelas

Page 8: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 8

Bibliografia recomendada

● MENEZES, N., “Introdução à programação com Python”, Novatec, 2010.

● VAN ROSSUM, G., “Tutorial Python”, 2005 (*)

● SWAROOP, C.H., “A Byte of Python” (*) (**)

● FERG, S. “Pensando em Tkinter” (*)

● LUTZ, M., ASCHER D., “Aprendendo Python”, Bookman, 2007

(*) Disponível gratuitamente na Internet(**) Existe uma tradução para português

Page 9: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 9

AvaliaçãoData (provisória)

Prova I P1 30/09

Trabalho prático (talvez!) T 25/11

Prova II P2 02/12

Segunda chamada Substitui P1 ou P2 09/12

● Média FINAL = (P1 + P2) / 2ou (P1 + P2 + T) / 3, se tivermos o trabalho prático

● Se Média Final maior ou igual a 5, então APROVADO

● Caso contrário, REPROVADO

● Não há Prova Final

Page 10: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 10

Segunda Chamada

● Alunos que não puderem fazer a P1 ou a P2, e que tenham justificativa, poderão solicitar prova de Segunda Chamada.

● A prova será realizada no final do período, cobrindo a matéria toda.

● Só pode substituir a nota de UMA prova.

● O aluno precisa apresentar documentação que comprove o motivo de ter perdido a prova: atestado médico, certificado de participação em congresso, etc.

Page 11: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 11

Nota para aprovação

● A nota mínima para aprovação segundo as normas da UFRJ é 5

– Não existe possibilidade de “arredondar” uma nota próxima de 5

– Não há exceção, para ninguém

Page 12: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 12

Plágio

● Casos de plágio (ou “cola”) são punidos, no mínimo, com aplicação de nota zero na prova ou trabalho em que ocorrer.

● Casos mais graves ou reincidentes podem ser encaminhados formalmente para a coordenação do curso.

Page 13: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 13

Recomendações

● Confira regularmente o site do curso● Revise o conteúdo e resolva exercícios

imediatamente após as aulas; anote dúvidas para aula seguinte

● Seja curioso! Tente ir além da matéria dada em sala e traga dúvidas!

● Evite faltar aulas

Page 14: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 14

Recomendações

● Somente frequentar as aulas não é suficiente!

● Não esperem ser aprovados nessa disciplina sem dedicar tempo para resolver exercícios por conta própria.

– Quanto tempo? Claro que depende de vários fatores. Mas como estimativa, considere: para cada 1 hora em sala de aula, pelo menos 1 ½ hora de prática fora da aula.

Page 15: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 15

Monitor● Marco Antonio é o monitor da disciplina

● Horários de atendimento:

– 4as-feiras de 8h às 10h

– 2as-feiras pela manhã, com horário agendado por email diretamente com Marco Antonio

● Local: Sala 11 (na dúvida, podem procurar no NUMPEX-Comp)

● Email: [email protected]

Page 16: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 16

Informação útil(não somente para essa disciplina)

● Forma ERRADA de tirar dúvidas: "-Professor, por favor, pode me dar as respostas de todos os exercícios propostos no período?".

● Forma MAIS ACEITÁVEL de tirar dúvidas: "-Professor, por favor, pode me dar uma ideia para começar a resolver o exercício X?".

● Forma IDEAL de tirar dúvidas: "-Professor, tentei resolver o exercício X utilizando essa estratégia aqui [mostra a tentativa de solução] mas tive dificuldade nesse ponto [descreve precisamente o problema encontrado]. Estou no caminho certo? Como posso continuar a solução a partir desse ponto?"

Page 17: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 17

Page 18: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 18

Parte IIApresentação do Python

Page 19: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 19

Python

● Linguagem de programação de alto nível, interpretada, imperativa, orientada a objetos, criada por Guido van Rossum em 1991.

● Nome: homenagem ao Monty Python's Flying Circus, comédia britânica

Guido van Rossum,Ditador Benevolente Vitalício da linguagem Python.

Page 20: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 20

Origem do nome

Page 21: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 21

Por que usar Python?

● Suficientemente simples● Multi-plataforma● Muitos recursos● Baterias inclusas!● Integração com outras linguagens● É muito divertido!

(Sim, sim...)

Page 22: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 22

Python: a linguagem mais utilizada nas melhores universidades americanas

● Vejam em: http://bit.ly/1kxwsBA

Page 23: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 23

Instalando o Python● Windows

● Faça download em http://www.python.org● É grátis!● Você verá muitas opções para download:

escolha Python 3.4.1 Python 2.7.8● Execute o instalador● É bem simples: basta seguir os passos!

Page 24: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 24

Instalando o Python● Windows

● Faça download em http://www.python.org● É grátis!● Você verá muitas opções para download:

escolha Python 3.4.1 Python 2.7.8● Execute o instalador● É bem simples: basta seguir os passos!

Page 25: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 25

Instalando o Python● Windows

● Outras opções interessantes: – Enthought Canopy– Anaconda– PythonXY

● Downloads maiores, mas vem com recursos científicos interessantes

Page 26: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 26

Atenção para a versão

● Nesse período vamos usar a versão 3● Até o período passado era adotada a

versão 2● Não se preocupem: são poucas diferenças

– Resumo aqui: http://bit.ly/1r3kYti

Page 27: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 27

Usando o interpretador

● IDLE é uma interface gráfica para o interpretador Python

● Use o IDLE para pequenos testes e para tirar dúvidas

Page 28: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 28

Salvando um programa

● Rodar interativamente nem sempre é uma boa ideia

● Use um editor de textos como bloco de notas, editor do IDLE, emacs, etc.

● Salve com extensão .py

Page 29: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 29

Executando pelo IDLE

Page 30: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 30

Executando na linha de comando

● Nem sempre executamos os programas pela interface gráfica

● Por exemplo: podemos nos conectar remotamente a um computador e executar pela linha de comando

Page 31: XBT246 – Programação de Computadores IIfranklin/xbt246/01-Apresentacao-do-curso.pdf · Prof. Franklin Marquezino 4 Objetivos da disciplina Introduzir os principais conceitos da

Prof. Franklin Marquezino 31

Pratiquem bastante

● Algumas fontes de exercícios:

– Rosalind: http://rosalind.infoInicie pela seção Python Village, depois vá para Bioinformatics Stronghold

● Experimentem também:

– Codeacademy: http://www.codecademy.com

– Python Tutor: http://www.pythontutor.com

– MIT Scratch: http://scratch.mit.edu/