Você está na página 1de 25

Algoritmos e estruturas

de dados I
Apresentação

Elverton Fazzion

Algoritmos e estruturas de dados I


Por que programar?
● Programação faz parte da nossa sociedade
○ Se todos os computadores desaparecessem amanhã, muitas
das facilidades que temos hoje desapareceriam: compras
online, bate-papo, …

Algoritmos e estruturas de dados I 2


Por que programar?
● Saber programar é um conhecimento fundamental e
muito valioso atualmente
○ Possui muitos níveis de utilidade
■ Desenvolvimento de softwares complexos como streaming de
vídeo (Netflix), jogos (Dota) e simuladores (Autocad)
■ Criação do seu próprio site pessoal ou simples aplicativos
○ Entender melhor tecnologias computacionais
■ Melhor investir em um processador com mais núcleos ou em
mais memória RAM/SSD para o seu sistema?
■ Como que a PF descobriu que eu baixei um filme via torrent?

Algoritmos e estruturas de dados I 3


Objetivos da disciplina

Algoritmos e estruturas de dados I 4


Objetivos da disciplina

Algoritmos e estruturas de dados I 5


Objetivos da disciplina

● Você deverá sair deste curso com


○ noções de como problemas computacionais podem ser
resolvidos usando algoritmos
○ noções de como implementar algoritmos usando uma
linguagem de alto nível (linguagem C)

● É uma das disciplinas mais importante de um curso de


computação
○ Introdução à conceitos fundamentais relacionados à
programação, algoritmos e estruturas de dados
○ Necessário para quase todas as disciplinas do curso de
Ciência da Computação!

Algoritmos e estruturas de dados I 6


Objetivos da disciplina

Algoritmos e estruturas de dados I 7


Observações

● É muito provável que muitos não tiveram nenhum


contato com programação
○ Não é obrigatório no currículo do ensino básico no Brasil

● É diferente de tudo que vocês aprenderam


○ É uma mistura de matemática, lógica e “arte”

● Necessário muita dedicação!!!


○ Não é uma disciplina de “decoreba” mas de raciocínio lógico
○ É muito importante equilibrar a prática com a teoria pois só
aprende programar programando (aulas de laboratório)

Algoritmos e estruturas de dados I 8


Observações

● O papel professor é ensinar e assegurar que vocês estão


aptos a prosseguir para os próximos níveis
○ Dessa forma, não irei facilitar a aprovação pois o conteúdo da
disciplina é muito importante na formação de vocês
○ Muitas das avaliações do curso não aceitarão respostas
parcialmente corretas!

● A disciplina contará com listas de exercícios com o intuito


de guiar o estudo de vocês
○ Essas listas não valerão pontos mas serão base para as provas
○ Decisões sobre arredondamentos no final do semestre serão
baseados nas listas que vocês entregarem

Algoritmos e estruturas de dados I 9


Dicas

● Muitos desistem pois não conseguem entender NADA do


que está sendo dado em aula
○ Causa: o conteúdo da disciplina é cumulativo
○ Em outras palavras, para entender conteúdo lecionado em uma
aula, é necessário entender o conteúdo das aulas anteriores
○ Dessa forma, reserve semanalmente um tempo para estudo!

● A disciplina não é um concurso ou competição!


○ O que importa é o conhecimento que você irá adquirir na disciplina
○ Não se compare com os outros e busque seu ritmo de aprendizado

Algoritmos e estruturas de dados I 10


Dicas

● Pergunte durante a aula!


○ Fico bastante feliz com perguntas
○ Não existe pergunta boba
■ Nunca irei julgar um aluno pela pergunta
■ Não tenha medo de perguntar

○ Velha máxima: a sua dúvida pode ser (e será) a dúvida de outro


aluno!

Algoritmos e estruturas de dados I 11


Regras

● Durante as aulas
○ Deixe o celular em modo silencioso
○ Evite o uso de linguagem imprópria/vulgar
○ Respeite as ideias e comentários dos outros

● É explicitamente proibido cópia e compra de trabalhos


○ Nota 0 na atividade e processo disciplinar no colegiado do curso
■ O plágio pode ser detectado ao longo do semestre
■ Sua nota pode mudar até o fechamento do diário caso o plágio seja
detectado
○ Em caso de suspeita de compra ou cópia, os envolvidos poderão
ser chamados para uma entrevista extraclasse
○ Programas são como respostas dissertativas em português:
estatisticamente, é impossível ter dois iguais!
Algoritmos e estruturas de dados I 12
Portal didático

● Usarei o Portal Didático (https://www.campusvirtual.ufsj.edu.br/site/)


para comunicação fora da sala de aula
○ Tirar dúvidas, entregar atividades avaliativas e disponibilizar
material
○ O conteúdo será atualizado durante o semestre
○ Verifique o fórum de avisos regularmente
■ Mensagens publicadas nos avisos chegam no email cadastrado na
UFSJ
○ Use o fórum de dúvidas para tirar dúvidas :)

Algoritmos e estruturas de dados I 13


Cronograma
Aula Tópico
15/08 Feriado 24/10 Alocação dinâmica
17/08 Apresentação do curso 26/10 Vetores
22/08 Algoritmos 31/10 Vetores
24/08 Funcionamento básico do computador 02/11 Feriado
29/08 Compilação e Linguagem C 07/11 Matriz
31/08 SECOMP 09/11 Matriz
05/09 Compilação e Linguagem C 14/11 Recesso
07/09 Feriado 16/11 Registros
12/09 Variáveis e operadores 21/11 Registros
14/09 Variáveis e operadores 23/11 Passagem de parâmetros
19/09 Funções e módulos (.c, .h) 28/11 Recursão
21/09 Funções e módulos (.c, .h) 30/11 Recursão
26/09 Ponteiros 05/12 Arquivos
28/09 Ponteiros 07/12 Arquivos
03/10 Condições e repetições 12/12 Recursos avançados
05/10 Condições e repetições 14/12 Prova 2
10/10 Condições e repetições 19/12 -
12/10 Feriado 21/12 Prova Substitutiva
17/10 Prova 1
19/10 Alocação dinâmica

Algoritmos e estruturas de dados I 14


Avaliação

● O total de pontos da disciplina é 10


○ 6 pontos para avaliações teóricas e 4 pontos para avaliações
práticas

● Duas provas individuais, cada uma no valor de 3 pontos


○ Conteúdo prova 1
■ Tudo que será visto até a aula do dia 10/10
○ Conteúdo prova 2
■ Tudo o que será visto da aula do dia 19/10 até a aula do dia
12/12

Algoritmos e estruturas de dados I 15


Avaliação

● Cinco práticas de algoritmos individuais, cada uma valendo


0,5 pontos
○ As listas estão na plataforma beecrowd
(https://www.beecrowd.com.br/)
○ Existe um documento no Portal Didático que mostra como se
cadastrar na turma de AEDS I e visualizar as listas
● Um trabalho prático individual no valor de 1,5 pontos
○ O trabalho envolverá todo o conteúdo aprendido na disciplina

Atividade Data de entrega


Prática 1 (Primeiros programas em C) 23/09
Prática 2 (Variáveis e operadores) 14/10
Prática 3 (Condições e repetições) 4/11
Prática 4 (Vetores) 25/11
Prática 5 (Matrizes) 9/12
Trabalho prático 16/12

Algoritmos e estruturas de dados I 16


Avaliação teórica substitutiva

● Poderá fazer a prova substitutiva o aluno que atender os


seguintes requisitos
○ tiver a nota final menor que 6
○ não tiver sido reprovado por falta
○ Ter condições de ser aprovado com a prova substitutiva

● A prova substitutiva vale 3 pontos e irá substituir a menor


nota entre as duas provas teóricas
● O assunto da prova substitutiva corresponderá a todo o
conteúdo visto na disciplina.

Algoritmos e estruturas de dados I 17


Frequência e nota para aprovação

● Para ser aprovado na disciplina, você deverá atingir no


mínimo nota 6

● Toda aula tem chamada


○ Necessário ter 75% ou mais de frequência para ser aprovado
○ Se não atingir 75% de frequência, a reprovação é automática,
independente da nota das suas avaliações

Algoritmos e estruturas de dados I 18


Livro texto

● Linguagem C, completa e descomplicada (André


Backes)
○ Disponível na biblioteca da UFSJ, tanto fisicamente quanto
digitalmente
○ Página da biblioteca da UFSJ
http://www.dibib.ufsj.edu.br/wordpress/

Algoritmos e estruturas de dados I 19


Linguagem C

● Criada em 1972
○ 50 anos de idade
○ Bastante velha para computação

● Existem linguagens mais recentes? Sim


○ A escolha de uma linguagem para aprender a programar é um
problema complicado

○ C serve para entender o funcionamento do computador melhor


■ Baixo nível

○ Com o tempo alunos podem usar o conhecimento para


aprender outras linguagens
■ Depois de bastante prática, chavear linguagens é algo simples

Algoritmos e estruturas de dados I 20


Ainda com dúvidas?

● Em caso de dúvidas da disciplina, e que não forem


respondidas no Portal Didático, podem enviar um email
para fazzion@ufsj.edu.br
○ Evite email muito grande e com anexo
○ Se a dúvida for bastante complexa, me procure pessoalmente

● Atendo na minha sala (3.05) às quintas, das 14h até 17h


○ É possível combinar outro horário

● Costumo entrar regularmente no Portal Didático


○ Podem me enviar mensagem pelo chat
○ Se por algum motivo eu receber uma mesma dúvida, irei emitir
um aviso para responder todos de uma só vez

Algoritmos e estruturas de dados I 21


Informações úteis

● Leitura do Regimento geral da UFSJ e Procedimentos


acadêmicos
○ Ambos os documentos estão no Portal Didático

● Em casos de problemas ou dúvidas sobre o curso, vocês


podem procurar a Coordenadoria do Curso de Ciência da
Computação (CComp)
○ Email: ccomp@ufsj.edu.br
○ Secretário Douglas na sala 3.01 do prédio da Computação

● Prova de segunda chamada


○ Não é prova substitutiva
○ Deve enviar justificativa em até 5 dias úteis para ccomp@ufsj.edu.br
○ Coordenação do curso deve aprovar a justificativa

Algoritmos e estruturas de dados I 22


Informações úteis

● Além da coordenação, existe o colegiado do curso que


trata de analisar questões dos alunos
○ Exemplos: plágio, desvinculação, monitoria, reclamações, …
○ Os alunos da computação possuem um discente representante no
colegiado do curso
○ Vocês podem também procurar seus representantes discentes do
Centro Acadêmico: https://www.facebook.com/CacompUfsj

● O curso de computação também possui uma página oficial


com mais informações e documentos sobre o curso
○ https://ccomp.ufsj.edu.br/

Algoritmos e estruturas de dados I 23


Informações úteis

● O Departamento de Computação (DCOMP) disponibiliza


recursos computacionais para os alunos
○ Para criar uma conta para acessar os laboratórios, preencha o
formulário disponível na secretaria do curso (sala 3.01) e entregue
para o Douglas

● Notas e frequências serão lançadas no SIGAA


(https://sig.ufsj.edu.br/sigaa/verTelaLogin.do)

● Vocês possuem um email institucional que é criado pelo


setor responsável da UFSJ
○ https://www.ufsj.edu.br/noticias_ler.php?codigo_noticia=8573

Algoritmos e estruturas de dados I 24


Algoritmos e estruturas
de dados I
Apresentação

Elverton Fazzion

Algoritmos e estruturas de dados I

Você também pode gostar