Algoritmos e Programação de Computadores -...
Transcript of Algoritmos e Programação de Computadores -...
Profa. Sandra AvilaInstituto de Computação (IC/Unicamp)
MC102 Turma KLMN, 28 Fevereiro, 2018
Algoritmos e Programaçãode Computadores
Introdução & Plano de Desenvolvimento
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://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/
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
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.html
Por que é Importante?
● Resolução de problemas
● Visão de futuro
● Senso crítico e criatividade
● Mercado de trabalho
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.”
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.”
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.”
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
Informações Básicas
● Carga horária da disciplina
● Ementa
● Linguagem de programação
● Divulgação de informações
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
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
Linguagem de Programação
● Python (versão 3)
● Criada por Guido Van Rossum
● Primeiro release em 1991
● Comunidade dinâmica
● Muitas bibliotecas e recursos disponíveis
Divulgação de Informações
● Página web da disciplina
○ http://www.ic.unicamp.br/~mc102
● Páginas web específica para a turma KLMN
○ http://www.ic.unicamp.br/~sandra/teaching/2018-1-mc102klmn
● E-mails encaminhados ao endereço fornecido pela DAC
● Fique atenta(o)!
Atividades Conceituais
● Visam indicar o grau de compreensão dos conceitos básicos
● Questionários Online:○ Exercícios de múltipla escolha○ Podem ser realizados em laboratório ou em casa
● Tarefas Presenciais:○ Realizadas em laboratório, sob supervisão○ Aguarde divulgação de datas e outras orientações
Atividades Conceituais
● Ferramenta de apoio: ○ Moodle (http://www.ggte.unicamp.br/eam)
○ Login: email da DAC
○ Curso: MC102 - 1S2018 - Algoritmos e Programação de Computadores
Atividades Conceituais — Avaliação
● Proposta de n atividades ao longo do semestre
● Nota ACi, 1 ⩽ i ⩽ n, será proporcional ao número de questões● respondidas pela(o) aluna(o)
● Questionários Online: Peso 1
● Tarefas Presenciais: Peso 3
● Média MAC: média ponderada das atividades conceituais
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
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}
● Média ML: média ponderada das tarefas de laboratório
Provas Teóricas
● Individuais e sem consulta
● Média MP: média ponderada das provas teóricas
Prova Peso Data Horário
P1 2 20 de Abril 14h−16h
P2 3 20 de Junho 14h−16h
Critérios de Avaliação
● Média ponderada dos elementos:
○ MElem = (0.6 × MP) + (0.3 × ML) + (0.1 × MAC)
○ MP : média ponderada das provas teóricas
○ ML : média ponderada das tarefas de laboratório
○ MAC: média ponderada das atividades conceituais
● Média antes do exame: M = min(MElem, MP, ML)
Critérios de Avaliação — Média Final F
Frequência ⩾ 75%:
● M ⩾ 5: aprovação por nota e frequência com F = M
● Se 2.5 ⩽ M < 5:
○ Exame E no dia 13 de julho das 14h−16h, F = (M+E)/2■ F ⩾ 5.0: aprovação por nota e frequência■ F < 5.0: reprovação por nota
● Se M < 2.5: reprovação por nota com F = M
Frequência < 75%: reprovação por frequência com F = M
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.
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
Atendimento
● Equipe
○ Celso Augusto R. L. Brennand (PED, Doutorado)
○ Alceu Emanuel Bissoto (PED, Mestrado)
○ Matheus Martins Susin (PED, Mestrado)
○ Renato Noronha Máximo (PAD, Graduação)
○ William Ryuji Massuda (PAD, Graduaçã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
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
Material de Apoio & Referências Bibliográficas
Veja material nas páginas oficiais: www.python.org.br