XBT246 – Programação de Computadores II Prof. Franklin Marquezino Universidade Federal do Rio de Janeiro Parte I Apresentação da Disciplina Prof. Franklin Marquezino 2 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 Prof. Franklin Marquezino 3 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. Prof. Franklin Marquezino 4 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. Prof. Franklin Marquezino 5 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 Prof. Franklin Marquezino 6 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 Prof. Franklin Marquezino 7 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 Prof. Franklin Marquezino 8 Avaliação Data (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) / 2 ou (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 Prof. Franklin Marquezino 9 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. Prof. Franklin Marquezino 10 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 Prof. Franklin Marquezino 11 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. Prof. Franklin Marquezino 12 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 Prof. Franklin Marquezino 13 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. Prof. Franklin Marquezino 14 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] Prof. Franklin Marquezino 15 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?" Prof. Franklin Marquezino 16 Prof. Franklin Marquezino 17 Parte II Apresentação do Python Prof. Franklin Marquezino 18 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. Prof. Franklin Marquezino 19 Origem do nome Prof. Franklin Marquezino 20 Por que usar Python? ● Suficientemente simples ● Multi-plataforma ● Muitos recursos ● Baterias inclusas! ● Integração com outras linguagens ● É muito divertido! (Sim, sim...) Prof. Franklin Marquezino 21 Python: a linguagem mais utilizada nas melhores universidades americanas ● Vejam em: http://bit.ly/1kxwsBA Prof. Franklin Marquezino 22 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! 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! Prof. Franklin Marquezino 24 Instalando o Python ● Windows ● Outras opções interessantes: – – – ● Enthought Canopy Anaconda PythonXY Downloads maiores, mas vem com recursos científicos interessantes Prof. Franklin Marquezino 25 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 Prof. Franklin Marquezino 26 Usando o interpretador ● ● IDLE é uma interface gráfica para o interpretador Python Use o IDLE para pequenos testes e para tirar dúvidas Prof. Franklin Marquezino 27 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 Prof. Franklin Marquezino 28 Executando pelo IDLE Prof. Franklin Marquezino 29 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 Prof. Franklin Marquezino 30 Pratiquem bastante ● Algumas fontes de exercícios: – ● Rosalind: http://rosalind.info Inicie 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/ Prof. Franklin Marquezino 31