![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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/1.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/2.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/3.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/4.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/5.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/6.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/7.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/8.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/9.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/10.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/11.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/12.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/13.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/14.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/15.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/16.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/17.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/18.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/19.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/20.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/21.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/22.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/23.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/24.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/25.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/26.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/27.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/28.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/29.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/30.jpg)
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](https://reader030.vdocuments.com.br/reader030/viewer/2022040707/5e075de35f579f0f633da8eb/html5/thumbnails/31.jpg)
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/