45
Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação de Computadores Introdução & Plano de Desenvolvimento

Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Profa. Sandra AvilaInstituto de Computação (IC/Unicamp)

MC102 Turma GHI, 05 Março, 2020

Algoritmos e Programaçãode Computadores

Introdução & Plano de Desenvolvimento

Page 2: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

http

s://w

ww

.nex

ojor

nal.c

om.b

r/exp

ress

o/20

17/0

4/02

/Por

-que

-pro

gram

ar-%

C3%

A9-

o-no

vo-a

pren

der-

ingl

%C3

%A

As

Page 3: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

http

s://w

ww

.nex

ojor

nal.c

om.b

r/exp

ress

o/20

17/0

4/02

/Por

-que

-pro

gram

ar-%

C3%

A9-

o-no

vo-a

pren

der-

ingl

%C3

%A

As

http

s://e

xam

e.ab

ril.c

om.b

r/car

reira

/por

-que

-apr

ende

r-pr

ogra

mac

ao-e

-tao

-cru

cial

-qua

nto-

sabe

r-le

r/

Page 4: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

http

s://w

ww

.nex

ojor

nal.c

om.b

r/exp

ress

o/20

17/0

4/02

/Por

-que

-pro

gram

ar-%

C3%

A9-

o-no

vo-a

pren

der-

ingl

%C3

%A

As

http

s://e

xam

e.ab

ril.c

om.b

r/car

reira

/por

-que

-apr

ende

r-pr

ogra

mac

ao-e

-tao

-cru

cial

-qua

nto-

sabe

r-le

r/ht

tps:

//ww

w.h

ostg

ator

.com

.br/b

log/

por-

que-

e-ta

o-im

port

ante

-apr

ende

r-pr

ogra

mac

ao

Page 5: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Masako Wakamiya (83 anos)Criou o seu primeiro jogo aos 80 anos!

http://g1.globo.com/tecnologia/campus-party/2016/noticia/2016/01/campus-party-aos-11-programadora-da-dicas-de-computacao-para-criancas.htmlhttps://www.japantimes.co.jp/news/2018/03/13/national/kanagawa-computer-programmer-82-recognized-worldwide-efforts-keep-seniors-digitally-engaged/#.XHX5S4XQ85k

Larissa Garcia (12 anos)Programadora desde os 6 anos.

Page 6: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

O que é Programação de Computadores?

Page 7: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

http

://w

ww

.tudo

gost

oso.

com

.br/r

ecei

ta/6

2547

-a-m

elho

r-re

ceita

-de-

bolo

-de-

choc

olat

e.ht

ml

Page 8: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Neste curso, vamos aprender a criar algoritmos e programas para resolver problemas.

Page 9: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

“O que é um Algoritmo?” https://youtu.be/enQJN34Mh28

Canal Peixe Babel

Page 10: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Por que é importante Aprender a Programar?

Page 11: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Por que é importante?

● Resolução de problemas

● Visão de futuro

● Senso crítico e criatividade

● Mercado de trabalho

Page 12: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Resolução de Problemas

“Usar a programação como ferramenta para encontrar

respostas e soluções para os desafios acrescenta muito na

capacidade de raciocínio lógico — e essa característica é

essencial em qualquer profissional.”

Page 13: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Visão de Futuro

“Saber programação significa entender como a tecnologia

funciona. Esse conhecimento não só vai expandir a sua visão

de futuro, como também vai torná-lo capaz de trabalhar

melhor em meio a tanta inovação.”

Page 14: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

“O Futuro do seu Emprego” https://youtu.be/qVGxWi6XDAI

Canal Nerdologia

Page 15: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Senso Crítico e Criatividade

“Ao aprender como as tecnologias funcionam, ganhamos

maior senso crítico, liberdade e criatividade. Isso porque,

em vez de se conformar com as aplicações prontas, podemos

criá-las para atender às nossas necessidades.”

Page 16: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Mercado de Trabalho

“Todas as habilidades que estão embutidas no aprendizado

de programação são exigidas pelas empresas na hora de

contratar um profissional:

● Clareza, rapidez e fluidez nos pensamentos

● Raciocínio lógico

● Organização

Page 17: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Um Pouco da História

Page 18: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

“O primeiro computador”: https://youtu.be/wyZPsCQd7Uo

Canal Nerdologia

Page 19: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação
Page 20: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Plano de Desenvolvimento

Page 21: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Plano de Desenvolvimento

● Informações Básicas

● Critérios de Avaliação

● Atendimento & Referências

Page 22: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Informações Básicas

● Carga horária da disciplina

● Ementa

● Linguagem de programação

● Divulgação de informações

Page 23: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Carga Horária da Disciplina

● Duração: 90 horas

● Distribuição semanal

○ 4 horas de aulas teóricas

○ 2 horas de aulas de laboratório

● Frequência mínima: 75% (veja o Regimento Geral de Graduação) https://www.dac.unicamp.br/portal/graduacao/regimento-geral

Page 24: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Ementa

● Conceitos básicos de organização de computadores

● Construção de algoritmos e sua representação em pseudocódigo e

linguagens de alto nível

● Desenvolvimento sistemático e implementação de programas

● Estruturação, depuração, testes e documentação de programas

● Resolução de problemas

Page 25: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Linguagem de Programação

● Python (versão 3)

● Criada por Guido Van Rossum

● Primeira versão em 1991

● Comunidade dinâmica

● Muitas bibliotecas e recursos disponíveis

Page 26: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Divulgação de Informações

● Página web da disciplina

○ http://www.ic.unicamp.br/~mc102

● Página web específica para as turmas GHI

○ http://www.ic.unicamp.br/~sandra/teaching/2020-1-mc102ghi

● E-mails encaminhados ao endereço fornecido pela DAC

● Fique atenta(o)!

Page 27: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Critérios de Avaliação

● Tarefas de laboratórios

● Provas teóricas

Page 28: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Tarefas de Laboratório

● Implementação de problemas em Python

● Enunciado disponível na página da disciplina, com orientações,● restrições e prazos

● Auxílio ao desenvolvimento durante as aulas de laboratório

● Correção automática

○ Ferramenta de apoio: SuSy○ Testes abertos & Testes fechados

Page 29: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Tarefas de Laboratório — Avaliação

● Proposta de m tarefas

● Nota Li, 1 ⩽ i ⩽ m, calculada de acordo com o estipulado no● enunciado da tarefa i

● Peso LPi ∈ {1, 2, 3, 4, 5}

● Média ML: média ponderada das tarefas de laboratório

Page 30: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Provas Teóricas

● Individuais e sem consulta

● Média MP: média ponderada das provas teóricas

Prova Peso Data Horário

P1 3 7 de Maio 10h−12h

P2 4 25 de Junho 10h−12h

Page 31: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Critérios de Avaliação — Média Final MFinal

Frequência ⩾ 75%:

● Caso MP ⩾ 5 e ML ⩾ 5: aprovação por nota e frequência com

● MFinal = (0.7 × MP) + (0.3 × ML)

●● MP : média ponderada das provas teóricas

● ML : média ponderada das tarefas de laboratório

Page 32: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Critérios de Avaliação — Média Final MFinal

Frequência ⩾ 75%:

● Caso MP ⩾ 2.5 e ML ⩾ 2.5: Exame no dia 14 de julho das 10h−12h,

● MFinal = (min(4.9, 0.7 × MP + 0.3 × ML) + Exame)/2

■ MFinal ⩾ 5.0: aprovação por nota e frequência■ MFinal < 5.0: reprovação por nota

Page 33: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Critérios de Avaliação — Média Final MFinal

Frequência ⩾ 75%:

● Caso MP < 2.5 ou ML < 2.5: reprovação por nota com

● MFinal = min(MP, ML)

Frequência < 75%: reprovação por frequência com MFinal = min(MP, ML)

Page 34: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Observações

● Nos dias de prova será necessária a apresentação de documento oficial com foto.

● Não há possibilidade de troca de horário de provas e/ou do exame final.

● Não haverá reposição de tarefas de laboratório.

● Todas as tarefas são individuais.

● Qualquer tentativa de fraude implicará em nota 0.0 (zero) na disciplina para todas as pessoas envolvidas.

● O sistema SuSy possui detector de plágio.

Page 35: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Fraudes?

● Assinar a lista de presença pela(o) colega.

● Pedir para a(o) colega assinar a lista de presença.

● Colar ou dar cola nas provas.

● Copiar/Plagiar da(o) colega ou da Internet a solução do laboratório.

● Comprar a solução do laboratório.

● A submissão de um código que não implementa o algoritmo requisitado, mas que exibe as saídas esperadas dos testes abertos a partir da comparação de trechos da entrada.

Page 36: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Apoio● Atendimento (Dúvidas)

● Material de apoio & Referências bibliográficas

Page 37: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Atendimento

● Equipe de monitoras(es)

○ PEDs: alunas(os) de pós-graduação

○ PADs: alunas(os) de graduação

● Atendimento durante as aulas de laboratório

● Atendimento extra: veja página web da disciplina

● Aulas extras de revisão: veja página web da disciplina

Page 38: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Atendimento

● Equipe

○ Caio Vinicius Dadauto (PED)

○ Vanessa Marques Sampaio Sidrim (PED)

○ Wellington Viana Lobato Junior (PED)

○ Renan Fernando Franco Da Silva (PAD)

Page 39: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Material de Apoio & Referências Bibliográficas

“How to Think Like a Computer Scientist: Interactive Edition”, de Brad Miller e David Ranum: https://runestone.academy/runestone/static/thinkcspy/index.html

Page 40: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Material de Apoio & Referências Bibliográficas

“How to Think Like a Computer Scientist: Interactive Edition”, de Brad Miller e David Ranum: https://panda.ime.usp.br/pensepy/static/pensepy

Page 41: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Material de Apoio & Referências Bibliográficas

Veja material nas páginas oficiais: www.python.org

Page 42: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Material de Apoio & Referências Bibliográficas

Veja material nas páginas oficiais: www.python.org.br

Page 43: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Aplicativo SoloLearn: www.sololearn.com

Page 44: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Próxima Aula

● Nosso primeiro algoritmo =)

● A linguagem de programa Python

● Estrutura básica de um programa em Python

● Objetos, Variáveis e Atribuição

● Tipos de Objetos: int, float, string

Page 45: Algoritmos e Programação de Computadores · 2020-05-18 · Profa. Sandra Avila Instituto de Computação (IC/Unicamp) MC102 Turma GHI, 05 Março, 2020 Algoritmos e Programação

Programação: Pratique. Pratique? Pratique!

Expectativa Realidade