Programação de Computadores

Documentos relacionados
Informática Aplicada à Engenharia Florestal INTRODUÇÃO

Introdução à Computação

Introdução à linguagem Python Minicurso Aula 1 Prof.º Alexandre C. Andreani

Informática Aplicada à Engenharia Florestal

Programação Orientada a Objetos

CONSIDERAÇÕES INICIAIS

Fundamentos de Lógica e Algoritmos. Aula 3.1 Introdução a Python. Prof. Dr. Bruno Moreno

Introdução ao Python. Programa Computacional

1/ 36. Computação 1 - Python Aula 1 - Teórica: Introdução

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

Algoritmos e Programação

1.1 Linguagens de Programação

1 TECNOLOGIA ELEMENTAR CAPÍTULO 1 E-books PCNA. Vol. 1 TECNOLOGIA ELEMENTAR CAPÍTULO 1 INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO C.

Desenvolvimento de Algoritmos. Slides elaborados pela Prof(a). Simone do Rocio Senger de Souza ICMC/USP

Variáveis e Entrada de Dados Marco André Lopes Mendes marcoandre.googlepages.

1 a Aula. Mestrado em Engenharia Física Tecnológica

Algoritmos e Programação

O Ensino de Ciência da Computação. Práticas de ensino de algoritmos (Hazzan, Cap. 3 / EAD Cap. 2) Péricles Miranda

Passo-a-passo para desenvolver um Programa usando a Linguagem Python

Aula 1: Desenvolvimento de Algoritmos

Algoritmos e Técnicas de Programação Introdução Givanaldo Rocha de Souza

Introdução a Programação

INFORMÁTICA APLICADA AULA 02 ALGORITMOS

1 Introdução à Programação O que é? Para que serve?... 1

Algoritmos I Apresentação. Carlos de Salles Soares Neto Segundas e Quartas, 17h40 às 19h10

PORTUGOL/PLUS: UMA FERRAMENTA DE APOIO AO ENSINO DE LÓGICA DE PROGRAMAÇÃO BASEADO NO PORTUGOL

Sinais e Sistemas. Considerações Iniciais. Renato Dourado Maia. Universidade Estadual de Montes Claros. Engenharia de Sistemas

Fundamentos de Lógica e Algoritmos. Aula 2.3 Introdução a Algoritmos. Prof. Dr. Bruno Moreno

AMBIENTE DIDÁTICO GRÁFICO PARA A COMPREENSÃO DE LÓGICA DE PROGRAMAÇÃO. Rodrigo Ferreira da Silva

Linguagens de Programação

PRIMEIROS PASSOS COM PYTHON. Prof. Msc. Luis Filipe Alves Pereira 2015

MAC2166 Introdução à Computação Informações Gerais

Gerando um programa executável a partir de um módulo Python

Linguagens de Programação

Introdução à Engenharia de Sistemas

Fábio Rodrigues / Israel Lucania

Usando Python para a introdução à programação em cursos universitários. Carla A. D. M. Delgado Departamento de Ciência da Computação - UFRJ

Histórico de Linguagens de Programação

Introdução à Engenharia ENG1000

Aula de hoje. Programação. Comunicação com computadores. Comunicação com computadores. Comunicação com computadores. Comunicação com computadores

Programação. MEAer e LEE. Apresentação. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre

Visão Geral do Curso. Prof. Alberto Costa Neto Introdução à Ciência da Computação (Programação em Python)

Introdução a Programação

Introdução ao Pensamento Computacional. Maristela Alcântara

Computação I: Linguagem de Programação Python

Relatório Individual Projeto final de Programação II. Xadrez. José Mauro Nazareth Cardoso Neto

OFICINA DA PESQUISA PROGRAMAÇÃO APLICADA À CIÊNCIA DA COMPUTAÇÃO

BCC Introdu c ao ` a Programa c ao Portugol Guillermo C amara-ch avez UFOP 1/35

Algoritmo e Programação Matemática

Plano de Ensino. Unidade Escolar Interdisciplinar. Ensino Fundamental (8 a 12 anos) - Programação com Scratch

Professor: Laboratório de Programação com Games. Anselmo Montenegro Conteúdo: - Introdução. Instituto de Computação - UFF

A Linguagem Python: Uma visão geral. Prof. Alberto Costa Neto Programação em Python

SOFTWARE. Disciplina: Informática Professor: Gustavo Sabry

Instalação JDK. Joyce França. Professora de Ciência da Computação - IFNMG

Departamento de Informática da UFPR

INFORMÁTICA: Informação automática

Utilização da Linguagem Python e dos conhecimentos em Matemática no Ensino da Lógica de Programação. Karla Pereira Mestre em Informática (IComp-UFAM)

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

Ferramenta para o ensino de Programação via Internet 1

Introdução à Programação de Computadores Fabricação Mecânica

INTRODUÇÃO A PROGRAMAÇÃO

Ricardo José Cabeça de Souza.

Disciplina de Algoritmos e Programação

Working 03 : Conceitos Básicos II

AULA 03: FUNCIONAMENTO DE UM COMPUTADOR

Aula 4 Objetivos if/else while

Introdução à Ciência da Computação ICC0001 Prof. Diego Buchinger

Algoritmos e Programação

Olá pessoal, Hoje vamos entender os conceitos sobre linguagem de programação. Definição, tipos de linguagens e as linguagens mais utilizadas

Objectivos da disciplina e motivação Funcionamento da disciplina Aulas teóricas Aulas de laboratório Aulas de dúvidas

SSC0300 LINGUAGENS DE PROGRAMAÇÃO E APLICAÇÕES

Computação e Programação

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

Algoritmos Estrutura Condicional

Quem sou eu? Daniel Coelho de Andrade. Graduando em Engenharia de Computação - UEFS. Membro da Empresa Júnior de Engenharia de Computação da UEFS

Algoritmos. Prof. Jonatas Bastos Site:

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

PROGRAMAÇÃO I. Introdução

COMPUTADORES COM UM CONJUNTO REDUZIDO DE INSTRUÇÕES. Adão de Melo Neto

ALGORITMOS AULA 1. Profª Amanda Gondim

Inteligência Artificial: Introdução

Fundamentos de Programação

Algoritmos. Prof. Jonatas Bastos Site:

Introdução aos Algoritmos

Interface Humano- Computador (IHC) Prof. Dr. Ronaldo Barbosa

INTRODUÇÃO. Prof. Msc. Luis Filipe Alves Pereira 2015

Introdução à Algoritmia

AULA 02. OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO

Informática Aplicada à Engenharia Florestal

SISTEMAS OPERACIONAIS

AULA 1 INTRODUÇÃO AO JAVA

Processos de Desenvolvimento de Software. Ricardo Argenton Ramos UNIVASF Engenharia de Software I - Aula 2

Working 03 : Conceitos Básicos II

Linguagem de Programação

Computação e Programação. MEMec - LEAN 1º Semestre

Instalação JDK 10/03/2017

Aula 01. Prof. Diemesleno Souza Carvalho

TCC 00308: Programação de Computadores I Introdução

Desenvolvimento de um sistema de computação algébrica multiplataforma para o auxilio do ensino de matemática

Transcrição:

Programação de Computadores CONSIDERAÇÕES INICIAIS Renato Dourado Maia Instituto de Ciências Agrárias Universidade Federal de Minas Gerais

Página da Disciplina O material será disponibilizado por meio da página da disciplina: http://www.renatomaia.net. Os contatos deverão ser feitos por meio dos seguintes emails: apm@renatomaia.net para questões relacionadas à disciplina. rdmaia@ufmg.br para questões gerais. 2/37

Informações Gerais As informações gerais (objetivo, motivação, ementa, bibliografia e avaliação) podem ser consultadas no plano da disciplina, que está disponível na página. Cabe destacar que a versão disponibilizada na página é apenas para consulta e, portanto, não possui validade legal! 3/37

Vamos aprender a fazer programas! 4/37

Questão Fundamental Por que programar? 5/37

Por Que Programar? É divertido: Pode ser melhor do que utilizar programas feitos por terceiros. Fazer programas = resolver quebra-cabeças = exercício mental. Programação como arte... É útil: Programação como ferramenta... Há aplicações em quase qualquer atividade: Arte, ciência, filosofia, entretenimento... 6/37

Por Que Programar? Os computadores são incrivelmente rápidos, precisos e burros. Os homens são incrivelmente lentos, imprecisos e brilhantes. Juntos, seu poder ultrapassa os limites da imaginação. Albert Einstein 7/37

Muitos Pensam que Programar é... Bruxaria Coisa de Louco Coisa de Outro Mundo Apenas para Ninjas Veremos que isso não é verdade! 8/37

Vocês Devem Estar se Perguntando... Mas programar não é apenas para quem estuda computação? 9/37

Vocês Devem Estar se Perguntando... Introduction to Programming using Python Programming Course for Biologists at the Pasteur Institute: http://www.pasteur.fr/formation/infobio/python/ Há uma versão em pdf do curso para download. Course Informatics for Biology at the Pasteur Institute: http://www.pasteur.fr/formation/infobio/infobio-en.html 10/37

Vocês Devem Estar se Perguntando... Ah, Renato, você está exagerando... 11/37

Vocês Devem Estar se Perguntando... http://www.manning.com/sande/ http://helloworldbookblog.com/ Computer programming is a powerful tool for children to learn learning, that is, to learn the skills of thinking and problem-solving Children who engage in programming transfer that kind of learning to other things. Nicholas Negroponte, the man behind the One Laptop Per Child project. 12/37

Vocês Devem Estar se Perguntando... http://code.google.com/p/rur-ple/ http://code.google.com/p/play-to-program/ 13/37

Vocês Devem Estar se Perguntando... 14/37

Vocês Devem Estar se Perguntando... 15/37

Vocês Devem Estar se Perguntando... 16/37

Novidade Algoritmo e Programação Matemática/Programação de Computadores: Antes: Algoritmo + Portugol (houve uma tentativa com C). Essa é uma abordagem clássica. Desde 2012: Algoritmo + Python. Por que mudar? Por que Python? 17/37

Por que Mudar? Há duas alternativas para iniciar o aprendizado sobre programação: Começar com uma linguagem de programação real, mas sofrer com os empecilhos que elas impõem para o aprendizado de iniciantes. Utilizar uma linguagem de programação para iniciantes, usufruindo da simplicidade oferecida para o aprendizado, mas sabendo que ela não é poderá ser utilizada para a implementação de aplicações reais. Python, como veremos nos próximos dois slides, combina os melhores aspectos dessas duas abordagens! 18/37

Por que Python? Os conceitos fundamentais da linguagem são simples de entender. A sintaxe da linguagem é clara e fácil de aprender. Os tipos pré-definidos incluídos na linguagem são poderosos e, ainda assim, simples de entender. A linguagem possui um interpretador de comandos interativo que permite aprender e testar rapidamente trechos de código. É possível escrever extensões em outras linguagens, como C e C++. 19/37

Por que Python? Existe suporte para uma grande diversidade de bibliotecas externas. Python é uma linguagem que está crescendo muito no contexto da computação científica, que é algo muito útil em engenharia e ciência em geral. Veremos alguns exemplos no final da aula, caso o tempo permita... Programadores da NASA e do Google, por exemplo, utilizam Python! Multiplataforma: Windows, Linux, Mac... Python é software livre e, portanto, grátis. Existe uma comunidade grande e muito ativa. Há muito material disponível! 20/37

Por que Python? 21/37

Por que Python? O Zen do Python, por Tim Peters Bonito é melhor que feio. Explícito é melhor que implícito. Simples é melhor que complexo. Complexo é melhor que complicado. Linear é melhor do que aninhado. Esparso é melhor que denso. Legibilidade conta. Casos especiais não são especiais o bastante para quebrar as regras. Ainda que praticidade vença a pureza. Erros nunca devem passar silenciosamente. A menos que sejam explicitamente silenciados. Diante da ambiguidade, recuse a tentação de adivinhar. Deveria haver um e preferencialmente só um modo óbvio para fazer algo. Embora esse modo possa não ser óbvio a princípio a menos que você seja holandês. Agora é melhor que nunca. Embora nunca frequentemente seja melhor que *já*. Se a implementação é difícil de explicar, é uma má ideia Se a implementação é fácil de explicar, pode ser uma boa ideia Namespaces são uma grande ideia vamos ter mais dessas! 22/37

Por que Python? http://www.python.org/about/success/ 23/37

Por que Python? http://www.python.org.br/wiki/empresaspython 24/37

Por que Python? 25/37

Aspectos Importantes A disciplina não tem como objetivo principal o estudo da linguagem Python, mas sim o estudo de programação. Portanto, apesar da linguagem Python ser muito poderosa, em muitos casos, para que seja privilegiado o exercício da lógica de programação, os recursos, apesar de disponíveis, não serão utilizados. Muitos cursos introdutórios de algoritmos e programação são centrados em listar as funcionalidades de uma linguagem de programação (mesmo que seja o Portugol). 26/37

Aspectos Importantes Entretanto, aprender a programar consiste em aprender a pensar como um programador. Assim, nesta disciplina o esforço será concentrado no processo do pensamento: Estudaremos programação como uma técnica de resolução de problemas. Programar não é fácil, mas pode ser divertido! São requisitos básicos o esforço individual de cada um e a atitude correta (isso vale para a vida em geral). Só se aprende a programar programando! 27/37

Do que Precisaremos? Uma implementação da linguagem: http://www.python.org Há um instalador para o Windows. O Linux normalmente já vem com o interpretador. Versões mais novas em 06/02/2014: 2.7.6 e 3.3.3. http://code.google.com/p/pythonxy/ Essa é a distribuição que eu utilizo, baseada atualmente na versão 2.7.5. Um editor (de texto puro ): O ambiente IDLE, que faz parte da distribuição para Windows, inclui um editor. Que versão utilizaremos? 28/37

Do que Precisaremos? 29/37

Do que Precisaremos? 30/37

Do que Precisaremos? Aprender a programar é como aprender a jogar xadrez: Entender as regras básicas é simples, mas conseguir dominá-las e fazê-las funcionar em conjunto é mais difícil! Por isso, precisaremos de: Curiosidade e vontade de aprender. Humildade. Paciência. Perseverança. 31/37

Visão Comum do Mundo 32/37

Visão Científica (Curiosa) de Mundo 33/37

Perseverança! Sempre! 34/37

Uma Pergunta Pertinente Renato, por que você não utiliza a versão mais nova da linguagem? 35/37

Primeiros Passos Python interativo: Rode o interpretador. Digite comandos Python. Cada comando é executado imediatamente. Executando um programa Python: Escreva um programa Python. Invoque o interpretador para executá-lo. Vamos brincar um pouco... 36/37

That's All Folks! 37/37